Skip to content

Configuration Schema

Caboose uses TOML configuration files with a layered override system. Project-level settings take precedence over global defaults, and CLI flags override both.

Most of these values are managed automatically through the TUI — /connect saves API keys, /model updates the default provider, /mcp toggles servers, and /settings adjusts behavior options. This reference is for when you want to edit the files directly or understand what each field does.

FilePurpose
~/.config/caboose/config.tomlGlobal defaults (apply to all projects)
.caboose/config.tomlProject overrides (checked into version control)
~/.config/caboose/auth.jsonAPI keys and secrets (never commit this)

Project config is merged on top of global config field-by-field. Unset project fields inherit the global value.

API keys are stored in ~/.config/caboose/auth.json, not in config files. You can also set them via environment variables.

{
"anthropic": "sk-ant-...",
"openai": "sk-..."
}

Supported environment variables: ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY, OLLAMA_HOST.

Top-level provider settings.

FieldTypeDefaultDescription
defaultstring"anthropic"Default provider to use. One of anthropic, openai, gemini, ollama.
modelstring"claude-sonnet-4"Default model across all providers.

Per-provider overrides. Supported sections: provider.anthropic, provider.openai, provider.gemini, provider.ollama.

FieldTypeDefaultDescription
modelstring(inherits provider.model)Model to use for this specific provider.
FieldTypeDefaultDescription
allowstring[](all built-in tools)Allowlist of tool names the agent may use. Built-in tools: read_file, write_file, edit_file, glob, grep, bash, list_directory, fetch.
FieldTypeDefaultDescription
auto_handoff_promptbooltruePrompt user to hand off when context reaches 90% capacity.
max_session_costfloat(off)Pause the agent when cumulative session cost reaches this dollar amount.
FieldTypeDefaultDescription
enabledbooltrueEnable persistent memory across sessions.
FieldTypeDefaultDescription
enabledbooltrueEnable the skills system.

Register custom MCP servers. Each server entry requires a command and optional arguments.

FieldTypeDefaultDescription
commandstring(required)Executable to launch the MCP server.
argsstring[][]Arguments passed to the command.
disabledboolfalseTemporarily disable this server without removing its config.

Override built-in MCP presets (e.g. fetch, context7).

FieldTypeDefaultDescription
disabledboolfalseDisable a built-in preset.
removedboolfalseHide a preset entirely so it never loads.
[provider]
default = "anthropic"
model = "claude-sonnet-4"
[provider.anthropic]
model = "claude-sonnet-4"
[provider.openai]
model = "gpt-4.1"
[tools]
allow = ["read_file", "write_file", "edit_file", "glob", "grep", "bash", "list_directory", "fetch"]
[behavior]
auto_handoff_prompt = true
max_session_cost = 10.0
[memory]
enabled = true
[skills]
enabled = true
[mcp.servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
[mcp.servers.context7]
disabled = false
[mcp.presets.fetch]
removed = true