Junie CLI configuration files
Junie CLI can load settings from JSON configuration files in addition to command-line flags and environment variables. Configuration files are useful when you want to keep shared project defaults in the repository or define personal defaults once for all projects.
Default configuration locations
By default, Junie CLI looks for config.json in these locations:
User scope:
~/.junie/config.jsonProject scope:
<project-root>/.junie/config.json
The project-level configuration is intended for settings that should be shared with the whole team. The user-level configuration is intended for personal defaults on your machine.
Configuration precedence
When the same setting is defined in multiple places, Junie resolves it in this order (highest priority first):
Command-line flags
User settings from
~/.junie/settings.jsonProject configuration from
<project-root>/.junie/config.jsonUser configuration from
~/.junie/config.json
For example, if ~/.junie/config.json sets "model": "sonnet", the project config sets "model": "gpt", and you run junie --model opus, the effective model is opus.
Add extra configuration files
To load additional configuration files, use --config-location. You can specify it multiple times:
To disable loading from the default user and project locations, use --config-default-locations false.
For CI, you can use the equivalent environment variables:
Environment variable | CLI equivalent | Description |
|---|---|---|
JUNIE_CONFIG_LOCATION | --config-location | Additional configuration file paths. Can be specified multiple times. |
JUNIE_CONFIG_DEFAULT_LOCATIONS | --config-default-locations | Enable or disable loading |
Supported configuration fields
The following JSON fields are currently supported in config.json:
Field | Description |
|---|---|
| Default model to use. For supported built-in model IDs and custom model profiles, see Model selection and Custom LLM models. |
| Default BYOK provider. For supported provider values, see LLM providers. |
| Enables brave mode by default. |
| Additional feature flags. |
| Extra folders where Junie should search for MCP configurations. |
| Enable or disable the default MCP locations. |
| Extra folders where Junie should search for agent skills. |
| Enable or disable the default skill locations. |
| Extra folders where Junie should search for custom slash commands. |
| Enable or disable the default custom slash command locations. |
| Extra folders where Junie should search for custom agents. |
| Enable or disable the default custom agent locations. |
| Extra folders where Junie should search for custom model profiles. |
| Enable or disable the default model locations. |
| Enable or disable automatic update checks. |
| Path to the guidelines file Junie should use. |
| Default task time limit. |
| Default BYOK API keys for supported providers. |
Relative paths in config.json are resolved relative to the folder that contains that configuration file.
Example configuration file
How configuration combines with other features
Configuration files control discovery for several other Junie CLI features:
For the exact command-line flags, see CLI reference.