# Everything Claude Code (ECC) — Codex CLI Reference Configuration # # Copy this file to ~/.codex/config.toml to apply globally. # Or keep it in your project root for project-level config. # # Docs: https://github.com/openai/codex # Model selection model = "o4-mini" model_provider = "openai" # Permissions [permissions] # "untrusted" = no writes, "on-request" = ask per action, "never" = full auto approval_policy = "on-request" # "off", "workspace-read", "workspace-write", "danger-full-access" sandbox_mode = "workspace-write" # Notifications (macOS) [notify] command = "terminal-notifier -title 'Codex ECC' -message 'Task completed!' -sound default" on_complete = true # History - persistent instructions applied to every session [history] # These are prepended to every conversation persistent_instructions = """ Follow ECC principles: 1. Test-Driven Development (TDD) - write tests first, 80%+ coverage required 2. Immutability - always create new objects, never mutate 3. Security-First - validate all inputs, no hardcoded secrets 4. Conventional commits: feat|fix|refactor|docs|test|chore|perf|ci: description 5. File organization: many small files (200-400 lines, 800 max) 6. Error handling: handle at every level, never swallow errors 7. Input validation: schema-based validation at system boundaries """ # MCP Servers # Codex supports command-based MCP servers [mcp_servers.github] command = "npx" args = ["-y", "@modelcontextprotocol/server-github"] [mcp_servers.context7] command = "npx" args = ["-y", "@upstash/context7-mcp@latest"] [mcp_servers.memory] command = "npx" args = ["-y", "@modelcontextprotocol/server-memory"] [mcp_servers.sequential-thinking] command = "npx" args = ["-y", "@modelcontextprotocol/server-sequential-thinking"] # Additional MCP servers (uncomment as needed): # [mcp_servers.supabase] # command = "npx" # args = ["-y", "supabase-mcp-server@latest", "--read-only"] # # [mcp_servers.firecrawl] # command = "npx" # args = ["-y", "firecrawl-mcp"] # # [mcp_servers.railway] # command = "npx" # args = ["-y", "@anthropic/railway-mcp"] # Features [features] web_search_request = true # Profiles — switch with CODEX_PROFILE= [profiles.strict] approval_policy = "on-request" sandbox_mode = "workspace-read" [profiles.yolo] approval_policy = "never" sandbox_mode = "workspace-write"