Configuration reference

An exhaustive index of every key accepted by config.toml and the agent-definition files. Keys are grouped by section, each linking to the page that explains the concept in depth. Use this as a lookup; use Configuration to learn how the file works.

Top-level keys

Top-level keys

All keys live at the root of config.toml unless noted.

KeyTypeDefaultDescription
default_agentstringDefault interactive agent, for example "plan". Ignored in programmatic mode, which falls back to auto-approve. See Agents
active_modelstringModel alias currently in use. Set to a [[models]] alias or a built-in model ID
log_interactionsbooleantrueEnables session logging. Required for --continue / --resume. See Work with the CLI
skill_pathsarray<string>Extra directories to discover skills from. See Skills
enabled_skillsarray<string>Allow-list of skill name patterns (exact, glob, or re: regex). When non-empty, only matching skills load
disabled_skillsarray<string>Deny-list of skill name patterns, applied when enabled_skills is empty
enabled_toolsarray<string>Allow-list of tool name patterns. See Safety, approvals, and permissions
disabled_toolsarray<string>Deny-list of tool name patterns
enable_auto_updatebooleantrueChecks for and installs new releases in the background
enable_notificationsbooleantrueOS-level notifications when a long task finishes or input is needed
enable_telemetrybooleantrueSends anonymous usage and error telemetry to Mistral. Disable for offline-only setups
[[providers]]table arrayProvider presets. Fields listed below. See API keys and profiles
[[models]]table arrayModel presets. Fields listed below. See API keys and profiles
[[mcp_servers]]table arrayMCP server definitions. Fields listed below. See MCP servers
Providers ([[providers]])

Providers ([[providers]])

One [[providers]] table per provider preset.

KeyTypeDefaultDescription
namestringRequiredProvider preset identifier, referenced by a [[models]] provider
api_basestringBase URL for the provider's API
api_key_env_varstringEnvironment variable name holding the API key. Secrets must use this form in admin config
api_stylestringAPI style, for example "openai"
backendstringBackend type, for example "generic" or "mistral"
regionstringRegion, for example "eu-west-1". Enterprise setups only
[providers.extra_headers]tableSubtable of extra HTTP headers, for example "x-acme-tenant" = "engineering"
Models ([[models]])

Models ([[models]])

One [[models]] table per model preset.

KeyTypeDefaultDescription
namestringRequiredModel ID, for example mistral-medium-latest
providerstringRequiredReferences a [[providers]] name
aliasstringLocal alias used by active_model
temperaturenumberSampling temperature, for example 0.2
input_pricenumberIndicative per-input cost, fed to --max-price
output_pricenumberIndicative per-output cost, fed to --max-price
MCP servers ([[mcp_servers]])

MCP servers ([[mcp_servers]])

One [[mcp_servers]] table per server. Required fields depend on the transport (http, streamable-http, or stdio).

KeyTypeDefaultDescription
namestringRequiredShort alias; prefixes this server's tool names
transportstringRequiredOne of http, streamable-http, or stdio
urlstringBase URL for HTTP transports
commandstringCommand for the stdio transport
argsarray<string>Arguments for the stdio transport
headerstableExtra HTTP headers for HTTP transports
envtableEnvironment variables passed to the stdio process
api_key_envstringEnv var holding the API key. Distinct from providers' api_key_env_var
api_key_headerstringHeader name to set with the API key
api_key_formatstringFormat string, for example "Bearer {token}"
startup_timeout_secnumberSeconds to wait for the server to start
tool_timeout_secnumberSeconds to wait for a tool call to complete
Per-tool permissions ([tools.<tool_name>])

Per-tool permissions ([tools.<tool_name>])

<tool_name> is a built-in tool (read_file, bash, etc.) or an MCP tool named {server_name}_{tool_name}. One block per tool.

KeyTypeDefaultDescription
permissionstring"always" to auto-allow the tool, "ask" to prompt before use
allowarray<string>bash only. Command allow-list, for example ["git status", "pnpm test"]
denyarray<string>bash only. Command deny-list, for example ["rm -rf *"]
Agent definition files

Agent definition files

These keys live in ~/.vibe/agents/<name>.toml or ./.vibe/agents/<name>.toml, not in config.toml. They define custom agents and subagents. Most top-level keys above (active_model, enabled_tools, disabled_tools, [tools.*] blocks) can also be set inside an agent file to override the global config for that agent.

KeyTypeDefaultDescription
agent_typestringRequired"agent" (user-facing, selectable via --agent) or "subagent" (delegation-only)
display_namestringHuman-readable label
descriptionstringFree-text description
safetystringVisual hint: safe, neutral, destructive, or yolo. Changes the input border color only; does not enforce permissions
system_prompt_idstringPoints to a prompt file in ~/.vibe/prompts/
active_modelstringModel alias for this agent (same key as global config)
enabled_toolsarray<string>Tool allow-list for this agent
disabled_toolsarray<string>Tool deny-list for this agent

See Agents for built-in agents and full examples.

Environment variables

Environment variables

Not config.toml keys, but part of the configuration model. They sit at precedence level 3 (env vars).

VariablePurpose
VIBE_HOMEOverrides the ~/.vibe/ home directory for all state (config, prompts, agents, skills, logs)
MISTRAL_API_KEYPrimary Mistral API key
<PROVIDER>_API_KEYAPI key referenced by a [[providers]] api_key_env_var (for example OPENROUTER_API_KEY)

See Configuration precedence and Admin config for how these layers combine.