Configuration
The Vibe Code CLI is configured through a config.toml file. This page explains where the file lives, how to open it, and the most common settings you'll touch.
Configuration file locations
The CLI looks for config.toml in this order:
./.vibe/config.tomlin the current working directory (project-level).~/.vibe/config.tomlin your home directory (user-level).
Project-level configuration takes precedence over user-level configuration. Project configuration is loaded only when the working directory is trusted.
Open your configuration file
Open ~/.vibe/config.toml with your default editor:
# macOS
open ~/.vibe/config.toml
# Linux
xdg-open ~/.vibe/config.toml
# Windows (PowerShell)
Invoke-Item ~\.vibe\config.tomlYou can also open the configuration menu from inside a session with the /config slash command.
Vibe home directory
By default, the CLI stores its configuration and state in ~/.vibe/. Override the location with the VIBE_HOME environment variable:
export VIBE_HOME="/path/to/custom/vibe/home"VIBE_HOME affects the location of:
config.toml: main configuration..env: API keys and provider credentials.agents/: custom agent profiles.prompts/: custom system prompts.skills/: custom skills.tools/: custom tools.logs/: session and application logs.
Working directory
Use --workdir to point the CLI at a project that is not your current directory:
vibe --workdir /path/to/projectUse --add-dir to give the CLI read access to an extra directory for a single session.
Common configuration sections
config.toml accepts many top-level keys and table sections. The most common ones are listed here, each one linking to a dedicated page.
Default agent
Set the default interactive agent:
default_agent = "plan"This applies to interactive sessions only. Programmatic mode falls back to auto-approve when --agent is not provided. See Agents.
Providers and models
Define provider presets, model presets, and the active model:
active_model = "devstral-openrouter"
[[providers]]
name = "openrouter"
api_base = "https://openrouter.ai/api/v1"
api_key_env_var = "OPENROUTER_API_KEY"
api_style = "openai"
backend = "generic"
[[models]]
name = "mistralai/devstral-2512:free"
provider = "openrouter"
alias = "devstral-openrouter"MCP servers
Add Model Context Protocol servers under mcp_servers. See MCP servers.
Skills
Enable, disable, or add skill paths:
skill_paths = ["/path/to/custom/skills"]
enabled_skills = ["code-review", "test-*"]
disabled_skills = ["experimental-*"]enabled_skills and disabled_skills interact as follows:
- If
enabled_skillsis set and non-empty, only skills whose name matches a pattern in that list are available. - Otherwise, every discovered skill is available, minus any skill whose name matches a pattern in
disabled_skills.
See Skills.
Tool permissions and filters
Restrict which tools the agent can use:
enabled_tools = ["serena_*"]
disabled_tools = ["mcp_*", "grep"]Tool filters support exact names, glob patterns, and regex with the re: prefix. Per-tool permissions can also be set in [tools.<tool_name>] blocks. See Safety, approvals, and permissions.
Update and telemetry settings
Control auto-updates, notifications, and telemetry:
enable_auto_update = true
enable_notifications = true
enable_telemetry = true| Setting | Default | Details |
|---|---|---|
enable_auto_update | true | Vibe checks for new releases and updates itself in the background. We strongly recommend keeping this enabled so you always run the latest fixes. You can also rerun the install script at any time to update manually. |
enable_notifications | true | OS-level notifications when Vibe finishes a long-running task or needs your input (for example, when an approval prompt is waiting). |
enable_telemetry | true | Sends anonymous usage and error telemetry to Mistral. Used to improve the product (crash diagnostics, feature usage, performance). No prompts, file contents, or model outputs are sent. Disable if you require an offline-only setup. |
Configuration precedence
When the same setting is defined in multiple places, the CLI applies them in this order, from highest to lowest priority:
- Command-line flags (for example,
--agent,--workdir). - Environment variables (for example,
MISTRAL_API_KEY,VIBE_HOME). - Project
./.vibe/config.toml. - User
~/.vibe/config.toml.