Skip to content

Configuration examples

Use ~/.gdc/config.toml for user settings or .gdc/config.toml for project settings. Combine the sections required by the deployment.

Local model

[provider]
base_url = "http://localhost:11434/v1"
model = "qwen3.5:latest"
reasoning = "medium"

Hosted endpoint

[provider]
base_url = "https://api.example.com/v1"
model = "hosted-model"

Supply its API key separately with GDC_API_KEY for headless execution.

Named providers

[provider]
active = "local"

[provider.profiles.local]
base_url = "http://localhost:11434/v1"
model = "qwen3.5:latest"

[provider.profiles.hosted]
base_url = "https://api.example.com/v1"
model = "hosted-model"

Permissions

[permissions.bash]
allow = ["rg", "jq"]
deny = ["curl", "wget", "ssh"]

[permissions.path]
deny = ["~/.ssh/**", "~/.aws/**", "**/.env"]

Command-name allows apply to every matching invocation. Avoid broad allows for commands whose arguments can mutate files or run other programs.

External tools

[mcp.servers.git]
command = "uvx"
args = ["mcp-server-git", "--repo", "."]
trusted = false

[mcp.servers.docs]
url = "https://example.com/mcp"
trusted = false

See MCP servers.

Shell audit hook

[[hooks.entries]]
event = "pre_tool_use"
command = "/usr/local/bin/audit.sh"

[hooks.entries.matcher]
tool = "Bash"

See Hooks.

Reply style and interface

[output_styles]
default = "concise"

[tui]
theme = "dark"

[tui.notifications]
toast_enabled = true
bell_enabled = false

Worker limits

[task]
max_parallel_workers = 2
worker_token_budget_per_turn = "half"
spawn_budget_per_turn = 10

See Configuration reference for defaults and dependencies.