Open Interpreter reads durable settings from TOML files. User-level config lives at:
~/.openinterpreter/config.tomlProject config can live in a trusted project under:
.openinterpreter/config.tomlCommand-line overrides use -c key=value and apply only to that invocation.
Precedence
Higher-precedence values override lower-precedence values:
- Built-in defaults
- System or managed configuration
- User config
- Trusted project config
- Selected profile
- CLI overrides from
-c,--enable,--disable, or dedicated flags
Use /debug-config in the TUI to inspect the effective values and where they
came from.
Common Settings
model = "gpt-5.1-codex"
model_provider = "openai"
# "minimal" | "low" | "medium" | "high" | "xhigh"
model_reasoning_effort = "medium"
# "auto" | "concise" | "detailed" | "none"
model_reasoning_summary = "auto"
# "read-only" | "workspace-write" | "danger-full-access"
sandbox_mode = "workspace-write"
# "untrusted" | "on-request" | "never"
approval_policy = "on-request"
# "friendly" | "pragmatic" | "none"
personality = "pragmatic"
web_search = "cached"
log_dir = "~/.openinterpreter/log"Profiles
Profiles are named groups of settings:
[profiles.fast]
model = "gpt-5.1-codex-mini"
model_reasoning_effort = "low"
[profiles.review]
model = "gpt-5.1-codex"
model_reasoning_effort = "high"
sandbox_mode = "read-only"Use one with:
interpreter --profile reviewCLI Overrides
-c accepts TOML-like values. Quote strings so your shell does not strip them:
interpreter -c model='"gpt-5.1-codex-mini"' -c approval_policy='"never"'Feature flags also have short forms:
interpreter --enable hooks --disable memoriesFeature Flags
Optional behavior lives under [features].
[features]
hooks = true
multi_agent = true
shell_tool = true
shell_snapshot = true
unified_exec = true
memories = false
apps = false
plugins = false
undo = falseUse /experimental in the TUI for interactive toggles when available.
Model Providers
Built-in providers are selected by model_provider. Custom OpenAI-compatible
providers can be added under [model_providers.<id>]:
model_provider = "acme"
model = "acme-coder-large"
[model_providers.acme]
name = "Acme"
base_url = "https://api.acme.example/v1"
env_key = "ACME_API_KEY"
wire_api = "responses"Provider credentials should usually come from environment variables or the credential store rather than inline tokens.
Harness
Open Interpreter adds a harness setting for compatibility modes that shape
the agent surface like another coding harness while still running through the
native Open Interpreter runtime.
harness = "kimi-cli"
harness_guidance = trueSupported values are implementation-dependent, but the current codebase includes native, Claude Code, DeepSeek TUI, Kimi CLI, Qwen Code, SWE-agent, and minimal harness modes. Use this when you intentionally need a harness-shaped prompt/tool surface. Leave it unset for normal Open Interpreter behavior.
harness_guidance lets Open Interpreter include a small reliability guidance
block where that harness mode allows it. Set it to false if you need stricter
harness behavior.
MCP Servers
MCP servers are configured under [mcp_servers]:
[mcp_servers.docs]
command = "npx"
args = ["-y", "@acme/docs-mcp"]
env = { ACME_TOKEN = "env:ACME_TOKEN" }
default_tools_approval_mode = "prompt"Streamable HTTP servers use url:
[mcp_servers.search]
url = "https://mcp.example.com"
bearer_token_env_var = "MCP_TOKEN"See MCP for transport, OAuth, and per-tool approval details.
Shell Environment
Use shell_environment_policy to control what environment variables are passed
to spawned commands:
[shell_environment_policy]
inherit = "all"
ignore_default_excludes = false
exclude = ["AWS_SECRET_ACCESS_KEY", "DATABASE_URL"]
set = { CI = "1" }History and Memory
Session history is stored locally. You can disable transcript persistence:
[history]
persistence = "none"Memories are a separate experimental feature:
[features]
memories = true
[memories]
use_memories = true
generate_memories = trueSee Memories.
Config Schema
The source tree includes a generated JSON Schema at:
codex-rs/core/config.schema.jsonUse it for editor completion or CI validation when maintaining shared config.