Common
Because these override the files, a merged read (
ironbee config get service.apiKey) returns the env value. A layer-scoped read (--project / --global / --local) bypasses env and shows only what’s on disk.Verification jobs
ironbee verify — the cloud verification-job runner — reads two extra overrides of its own, plus the GitHub Actions context:
Issue-tracker credentials
The issue-tracker integrations normally keep their secrets in your global config (~/.ironbee/config.json, written by ironbee integrations <provider> setup). In CI — or anywhere you’d rather source them from a vault — supply them via env instead. Like the collector credentials, these take precedence over every config layer:
GitHub needs no credential variable — it rides the
gh CLI’s own auth (GitHub Actions ships a GH_TOKEN).
Config placeholder bridges
Config placeholders let a committed config carry references that resolve from the environment — the way to override a team default per developer or per CI run without editing a file:The
IRONBEE_PARAM_* / IRONBEE_ENV_* prefixes are reserved for placeholder input — the implied prefix means arbitrary environment variables (secrets, tokens) are structurally unreachable from config text. An empty value counts as unset (the reference falls through to its :- default). IronBee’s own operational env vars never use these prefixes.Project directory resolution
When a hook or command needs to know which project it’s acting on, IronBee resolves the directory in this order:- The client’s own variable
CLAUDE_PROJECT_DIR(Claude Code) orCURSOR_PROJECT_DIR(Cursor), set automatically by the host IRONBEE_PROJECT_DIR, an explicit override you can set- The current working directory
IRONBEE_PROJECT_DIR is the escape hatch for scripted or non-standard setups.
Advanced
Rarely needed, mostly for internal wiring and test harnesses:What’s next?
Configuration
The full config-key reference, the file-based equivalents of these overrides.
Runtime files
Where config and credentials are stored on disk.