Cluster Build

Sample config.toml

A complete, annotated ~/.cluster/config.toml showing every key and table Cluster Build reads, with its default value, to copy from.

View as Markdown

The file below lists every key Cluster Build reads from ~/.cluster/config.toml, set to its default unless the comment says otherwise. A real file only needs the keys you change — an absent key means "use the default" — so copy the lines you want rather than the whole thing.

Keys shown commented out have no stored value by default — the CLI derives one at runtime (your hostname, the production cloud host, the model's own reasoning default) — so leave them absent unless you want to override that. Tables marked example are placeholders: a provider, MCP server, or trusted path that would not exist on your machine.

# ~/.cluster/config.toml

# ---------------------------------------------------------------------------
# Model
# ---------------------------------------------------------------------------

# Model used for new sessions. Run `cluster models` for the current catalog.
default_model = "claude-opus-4-7"

# Provider used at startup: "cluster" (built in) or the name of a
# [model_providers.<name>] table below.
default_model_provider = "cluster"

# Reasoning effort hint: none, minimal, low, medium, high, xhigh, max.
# Omit to use each model's own default.
# reasoning_effort = "high"

# Gateway scheduling tier: "standard" or "fast" (premium rate; `/fast`).
service_tier = "standard"

# ---------------------------------------------------------------------------
# Appearance
# ---------------------------------------------------------------------------

# Terminal appearance: "light" or "dark". `/appearance` writes this;
# CLUSTER_TERM_BG overrides it for one run.
# term_bg = "dark"

# Bundled or user-provided syntax theme (~/.cluster/themes/). `/theme` writes this.
# syntax_theme = "catppuccin-mocha"

# ---------------------------------------------------------------------------
# Context
# ---------------------------------------------------------------------------

# Summarize older turns automatically as the conversation fills.
auto_compact_enabled = true
auto_compact_threshold_tokens = 160000
compact_keep_recent_user_tokens = 20000

# Share cwd, shell, date, and timezone with the model.
include_environment_context = true

# Send ~/.cluster/AGENTS.md and the repository's AGENTS.md / CLAUDE.md files.
include_project_instructions = true

# ---------------------------------------------------------------------------
# Updates and remote control
# ---------------------------------------------------------------------------

# Check for and install newer releases in the background on interactive startup.
auto_update_enabled = true

# Advertise new interactive sessions to remote control automatically.
remote_control_at_startup = false

# Name this machine shows under in the remote session list (default: hostname).
# remote_control_server_name = "laptop"

# ---------------------------------------------------------------------------
# Endpoints (leave at defaults unless pointed at a staging environment)
# ---------------------------------------------------------------------------

api_url = "https://llm.clusterbase.dev"
search_api_url = "https://search.clusterbase.ai"
billing_api_url = "https://gateway.clusterbase.ai"
auth_issuer = "https://accounts.clusterbase.ai"
auth_audience = "agent-api"
# managed_agents_url = "https://agents.clusterbase.dev"

# ---------------------------------------------------------------------------
# Memory
# ---------------------------------------------------------------------------

[memory]
use_memories = true        # inject the memory overview and enable memory tools
generate_memories = true   # extract and consolidate memory from finished sessions

# ---------------------------------------------------------------------------
# Built-in tools
# ---------------------------------------------------------------------------

[browser]
enabled = true             # Playwright-backed browser provider

[computer]
enabled = false            # native desktop tool (Linux GNOME Wayland, macOS 26+)
unattended = false         # true suppresses per-process capture and control prompts

[tools.request_user_input]
default_mode = false       # true allows clarifying questions outside plan mode

# ---------------------------------------------------------------------------
# Skills (~/.cluster/skills/<name>/SKILL.md)
# ---------------------------------------------------------------------------

[skills]
enabled = true
disabled = []              # skill directory names to skip

# ---------------------------------------------------------------------------
# Model providers (example) — at most one, kind must be "ollama"
# ---------------------------------------------------------------------------

# [model_providers.local]
# kind = "ollama"
# base_url = "http://127.0.0.1:11434"   # host root; /v1 is appended

# ---------------------------------------------------------------------------
# MCP servers (examples)
# ---------------------------------------------------------------------------

# A stdio server launched on demand. Only variable *names* go in env_vars;
# values are read from your environment at startup.
# [mcp.servers.ups]
# transport = "stdio"
# command = "npx"
# args = ["-y", "ups-mcp"]
# env_vars = ["UPS_CLIENT_ID", "UPS_CLIENT_SECRET", "UPS_ACCOUNT_NUMBER"]
# read_only_tools = ["track_package"]
# startup_timeout_sec = 30    # default 5
# tool_timeout_sec = 120      # default 120
# enabled = true
#
# [mcp.servers.ups.env]
# UPS_ENVIRONMENT = "production"

# A streamable-HTTP server with a bearer token and an extra header, both
# read from environment variables.
# [mcp.servers.tasks]
# transport = "streamable_http"
# url = "https://tasks.example/mcp"
# bearer_token_env_var = "TASKS_MCP_TOKEN"
#
# [mcp.servers.tasks.env_http_headers]
# X-Api-Key = "TASKS_API_KEY"

# A streamable-HTTP server using a per-user OAuth token managed by the CLI
# (`cluster mcp login tasks-oauth`). All three oauth_* keys are required
# together and exclude the bearer fields above.
# [mcp.servers.tasks-oauth]
# transport = "streamable_http"
# url = "https://tasks.example/mcp"
# oauth_audience = "tasks"
# oauth_client = "cluster-mcp"
# oauth_scopes = ["openid", "offline_access"]

# ---------------------------------------------------------------------------
# Workspace trust (example) — managed by `cluster trust add/remove/list`
# ---------------------------------------------------------------------------

# [projects."/Users/me/src/app"]
# trust_level = "trusted"
#
# [projects."/Users/me/src/app/vendor"]
# trust_level = "untrusted"

Next steps

  • Config basics — what each top-level key does and how to set it with cluster config set.
  • Advanced configuration — the tables in detail: providers, MCP servers, skills, trust, and state locations.

On this page