Skip to content

Configuration

Where settings live

Only non-secret account configuration is stored on disk, in a SQLite database. On macOS the default path is:

~/Library/Application Support/burnrate/burnrate.sqlite

Set BURNRATE_CONFIG_DIR to override the directory. Legacy accounts.json files from older versions are imported once, then renamed to accounts.json.migrated-<timestamp>.

Secrets

Manual secrets (API keys, tokens) are stored in the OS keyring by default. Plaintext storage in the config database is available per account, but only when explicitly selected.

macOS keychain and code signatures

The keychain binds its "Always Allow" grant to the app's code signature. Signed release builds remember the grant; unsigned local builds re-prompt on every launch. See Troubleshooting.

Refresh cadence

Burnrate refreshes all accounts every five minutes in the background and caches successful snapshots for five minutes, so manual refreshes don't hammer provider APIs.

Environment variables

VariablePurpose
BURNRATE_CONFIG_DIROverride the config directory.
BURNRATE_CLAUDE_BIN / CLAUDE_BINPath to the claude CLI if it isn't in a standard location.
BURNRATE_CODEX_BIN / CODEX_BINPath to the codex CLI if it isn't in a standard location.
BURNRATE_RUNPOD_REST_URLOverride the Runpod REST endpoint (development/proxies).
BURNRATE_RUNPOD_GRAPHQL_URLOverride the Runpod GraphQL endpoint (development/proxies).

Burnrate strips inherited credential environment variables (CLAUDE_CODE_OAUTH_TOKEN, ANTHROPIC_API_KEY, OPENAI_API_KEY, …) from the provider CLIs it spawns, so an agent token in your shell can't shadow the account that's actually signed in.

Released under the MIT License.