Where Does Bitrise CLI Store Config?
Bitrise CLI layers config from ~/.config/bitrise/cli/config.yml through per-dir .bitrise-cli.yml, with bitrise.yml and secrets beside the project.
Last updated
Bitrise CLI reads three config layers plus project files, and precedence decides everything. The global yml holds user settings, per-directory files pin project context up the tree, and the legacy JSON still wins when it exists from old installs.
Project files sit closest to the work. bitrise.yml defines workflows in the repo while .bitrise.secrets.yml supplies local-only values that must never commit. The bitrise config commands edit the global file; project files are hand-maintained.
Where Bitrise stores this, by platform
~/.config/bitrise/cli/config.yml
User settings in YAML; bitrise config path prints the live location. Legacy ~/.bitrise/config.json overrides it when present from pre-3.0 installs. Per-dir .bitrise-cli.yml files layer between.
~/.config/bitrise/cli/config.yml
Same layered system on macOS. bitrise.yml and .bitrise.secrets.yml live per project; gitignore the secrets file always, the whole .bitrise* pattern ideally.
Frequently asked questions
Which config file is my CLI actually reading?
Run bitrise config path. It prints the live global file location including any XDG override. Legacy installs also read ~/.bitrise/config.json, which outranks the new file when present.
Where do local secrets live?
Keep .bitrise.secrets.yml next to bitrise.yml and gitignore every .bitrise* file. The --inventory flag points runs at an alternate secrets file for shared or CI machines.
Notice an outdated path? Let us know.