Skip to main content
Environment variables override values in config.json without modifying the file. This makes them ideal for CI pipelines, containers, and multi-vault scripting — you can point smolbren at a different vault for a single command without touching your persistent configuration.

Available variables

SMOLBREN_DEFAULT_VAULT
string
Overrides the default_vault field in config.json. Sets which vault is used when --vault is not passed on the command line. The value must match a vault name already registered under vaults in your config file.
SMOLBREN_DEFAULT_VAULT=work smolbren search "standup"

Priority order

When smolbren resolves a configuration value, it applies sources in this order — later sources win:
built-in defaults  <  config.json  <  SMOLBREN_* environment variables
Environment variables always take precedence over the file. The config file always takes precedence over built-in defaults. The --vault and --config CLI flags are applied after all of the above.

Examples

CI pipeline — use a dedicated CI vault without altering the shared config file:
SMOLBREN_DEFAULT_VAULT=ci-vault smolbren index
SMOLBREN_DEFAULT_VAULT=ci-vault smolbren search "deployment checklist"
Switch default vault for a single interactive session:
export SMOLBREN_DEFAULT_VAULT=work
smolbren search "quarterly review"
smolbren search "roadmap"
Override the config file location and the default vault together:
smolbren --config /etc/smolbren/config.json \
  --vault work \
  search "roadmap"
For per-project vault switching, put your SMOLBREN_* variables in a .env file at the project root and load them automatically with direnv (via a .envrc that calls dotenv). This keeps vault bindings close to your project without polluting your shell profile.
# .env (project root)
SMOLBREN_DEFAULT_VAULT=myproject