Configuration reference
Every key in ~/.atrium/config.json.
atrium's user configuration lives in a single JSON file at ~/.atrium/config.json. The file is atomically written (temp file + rename) on every change, with 0600 permissions.
Most keys are editable via the Settings dialog with live previews. Hand-editing is supported; atrium watches the file and reloads on change. Unknown keys are preserved in an internal extra bucket so future schema additions do not break older configs.
Top-level shape
{
"theme": "atrium",
"terminal": { ... },
"markdown_editor": { ... },
"updates": { ... },
"diagnostics": { ... },
"worktree": { ... },
"telemetry": { ... },
"keybindings": { ... },
"lspServers": { ... },
"adapterEnvVars": { ... }
}
theme
String. Either "auto" (follow system light/dark) or the exact name of a built-in or custom theme (for example "atrium", "dracula", "my-theme-custom").
UI: Settings → Theme.
terminal
Terminal pane appearance. See Appearance for the UI.
{
"fontFamily": "Menlo, monospace",
"fontSize": 11,
"lineHeight": 1.2,
"letterSpacing": 0,
"fontLigatures": false,
"cursorStyle": "block",
"cursorBlink": true,
"scrollback": 10000,
"padding": 8,
"backgroundOpacity": 1.0
}
cursorStyle—"block","underline", or"bar".backgroundOpacity—0.0(transparent) to1.0(opaque).
markdown_editor
Markdown editor pane defaults.
{
"defaultFont": "system-ui",
"fontSize": 14,
"textAlign": "left",
"bookViewEnabled": false,
"bookViewWidth": 680,
"bookViewMargin": 48,
"defaultViewMode": "rte"
}
textAlign—"left"/"center"/"right"/"justify".defaultViewMode—"rte"or"source".
updates
Update check behavior.
{
"checkOnLaunch": true,
"autoInstall": false,
"channel": "early-access",
"checkIntervalHours": 6
}
channel—"early-access"today."stable"and"beta"are planned.
diagnostics
Performance instrumentation. Off by default.
{
"enabled": false,
"captureLongTasks": true,
"captureRenderStats": true,
"captureIpcTimings": true,
"captureTerminalStats": true,
"captureMemoryStats": true,
"flushIntervalMs": 30000
}
Traces are kept in-memory and flushed to ~/.atrium/diagnostics/ on interval. UI: Settings → Diagnostics.
worktree
Defaults for worktree creation.
{
"defaultLocationPattern": "~/worktrees/{repo}/{branch}",
"postCreateCommands": ["pnpm install"]
}
defaultLocationPattern— path template.{repo}and{branch}are substituted.postCreateCommands— shell commands to run in the newly created worktree. Run sequentially.
telemetry
Three flags control telemetry.
{
"enabled": true,
"analyticsOptIn": false,
"coreTelemetryDisclosed": false
}
enabled— master kill-switch. When false, atrium sends nothing.analyticsOptIn— user opted into product analytics.coreTelemetryDisclosed— user has acknowledged the core telemetry disclosure.
keybindings
Map of chord → action override. See Keybindings for the action types.
{
"cmd+d": { "type": "app-command", "command": "pane.split.horizontal" },
"shift+enter": { "type": "send-text", "text": "\n" },
"cmd+alt+1": {
"type": "uri-command",
"uri": "atrium://commands/launcher.open?pane=$FOCUS"
},
"cmd+b": null
}
null removes a default binding. UI: Settings → Keyboard.
lspServers
Override LSP server commands per language. Server IDs match atrium's bundled lsp-servers.toml manifest.
{
"typescript": { "command": "/opt/homebrew/bin/typescript-language-server" },
"rust-analyzer": { "command": "~/.cargo/bin/rust-analyzer" }
}
UI: Settings → Tools → LSP servers.
adapterEnvVars
Environment variables applied to panes running a given adapter. See Adapter environment.
{
"claude-code": {
"CLAUDE_CODE_NO_FLICKER": "1"
},
"codex": {
"OPENAI_API_KEY": "sk-..."
}
}
UI: Settings → Tools → [adapter] → Environment variables.
CLI access
Every scalar key is reachable from the CLI.
atrium config get terminal.fontSize
atrium config set terminal.fontSize 13
atrium config set markdown_editor.bookViewEnabled true
atrium config set telemetry.analyticsOptIn false
set auto-detects the value type (integer, float, boolean, string). Nested object values (for example adapterEnvVars.claude-code) are best edited in the file or the UI directly.
Permissions
~/.atrium/config.json—0600(owner read/write only).~/.atrium/itself and most subdirectories —0700.
