OMC
Oh My ClaudeCodev4.12.0

config.jsonc Reference

All options, default values, and usage examples for the OMC configuration file (config.jsonc)

Configuration File Location

ScopePath
User (global)~/.config/claude-omc/config.jsonc
Project.claude/omc.jsonc

Settings are merged in the order: defaults → user config → project config → environment variables. Later settings override earlier ones.

agents

Specifies the model for each agent.

{
  "agents": {
    "omc": { "model": "opus" },        // Main orchestrator
    "explore": { "model": "haiku" },    // Codebase exploration
    "analyst": { "model": "opus" },     // Requirements analysis
    "planner": { "model": "opus" },     // Task planning
    "architect": { "model": "opus" },   // System design
    "debugger": { "model": "sonnet" },  // Debugging
    "executor": { "model": "sonnet" },  // Code implementation
    "verifier": { "model": "sonnet" },  // Verification
    "securityReviewer": { "model": "sonnet" }, // Security review
    "codeReviewer": { "model": "opus" },       // Code review
    "testEngineer": { "model": "sonnet" },     // Test strategy
    "designer": { "model": "sonnet" },  // UI/UX design
    "writer": { "model": "haiku" },     // Documentation
    "qaTester": { "model": "sonnet" },  // QA testing
    "scientist": { "model": "sonnet" }, // Data analysis
    "tracer": { "model": "sonnet" },    // Causal tracing
    "gitMaster": { "model": "sonnet" }, // Git operations
    "codeSimplifier": { "model": "opus" },     // Code simplification
    "critic": { "model": "opus" },      // Plan review
    "documentSpecialist": { "model": "sonnet" } // Document lookup
  }
}

Agent names with hyphens (-) are converted to camelCase in the config. Example: security-reviewersecurityReviewer, code-reviewercodeReviewer

features

Feature toggles.

{
  "features": {
    "parallelExecution": true,        // Parallel agent execution
    "lspTools": true,                 // LSP tool integration
    "astTools": true,                 // AST tools (ast-grep)
    "continuationEnforcement": true,  // Force task completion
    "autoContextInjection": true      // Auto context injection
  }
}
OptionDefaultDescription
parallelExecutiontrueRun multiple agents simultaneously
lspToolstrueEnable Language Server Protocol tools
astToolstrueEnable ast-grep based AST tools
continuationEnforcementtrueContinue if there are incomplete tasks
autoContextInjectiontrueAuto-inject CLAUDE.md/AGENTS.md

magicKeywords

Allows customizing magic keyword triggers.

{
  "magicKeywords": {
    "ultrawork": ["ultrawork", "ulw", "uw"],
    "search": ["search", "find", "locate"],
    "analyze": ["analyze", "investigate", "examine"],
    "ultrathink": ["ultrathink", "think", "reason", "ponder"]
  }
}

Specify a string array for each category. When user input contains one of these strings, the corresponding mode is activated.

Only the 4 categories above can be changed via magicKeywords. Keywords like autopilot, ralph, and ccg are hardcoded in the keyword-detector hook and cannot be changed via config.

routing

Model routing configuration.

{
  "routing": {
    "enabled": true,           // Enable intelligent model routing
    "defaultTier": "MEDIUM",   // Default tier (LOW | MEDIUM | HIGH)
    "forceInherit": false,     // Force parent model inheritance
    "escalationEnabled": true, // Allow escalation
    "maxEscalations": 2        // Maximum number of escalations
  }
}
OptionDefaultDescription
enabledtrueWhether to enable model routing
defaultTier"MEDIUM"Default tier applied when no rules match
forceInheritfalseWhen true, all agents inherit the parent model
escalationEnabledtrueAllow automatic upgrades based on task complexity
maxEscalations2Maximum number of escalations

forceInherit is automatically set to true when using CC Switch, custom ANTHROPIC_BASE_URL, AWS Bedrock, or Google Vertex AI. This is because passing Claude-specific model names (sonnet, opus, haiku) to these platforms causes errors.

permissions

Permission configuration.

{
  "permissions": {
    "allowBash": true,          // Allow Bash command execution
    "allowEdit": true,          // Allow file editing
    "allowWrite": true,         // Allow file creation
    "maxBackgroundTasks": 5     // Maximum background tasks (1~50)
  }
}

mcpServers

MCP server configuration.

{
  "mcpServers": {
    "exa": {
      "enabled": true,
      "apiKey": "your-exa-api-key"  // Or use EXA_API_KEY env var
    },
    "context7": {
      "enabled": true
    }
  }
}

externalModels

External model provider configuration.

{
  "externalModels": {
    "defaults": {
      "codexModel": "gpt-5.3-codex",          // Default Codex model
      "geminiModel": "gemini-3.1-pro-preview"  // Default Gemini model
    },
    "fallbackPolicy": {
      "onModelFailure": "provider_chain",  // provider_chain | cross_provider | claude_only
      "allowCrossProvider": false,
      "crossProviderOrder": ["codex", "gemini"]
    }
  }
}

delegationRouting

Delegation routing configuration to external models (opt-in feature).

{
  "delegationRouting": {
    "enabled": false,              // Disabled by default
    "defaultProvider": "claude",   // claude | codex | gemini
    "roles": {
      "executor": {
        "provider": "codex",
        "tool": "Task"
      }
    }
  }
}

startupCodebaseMap

Codebase map generation settings at session start.

{
  "startupCodebaseMap": {
    "enabled": true,
    "maxFiles": 200,
    "maxDepth": 4
  }
}

taskSizeDetection

Automatic task size detection settings.

{
  "taskSizeDetection": {
    "enabled": true,
    "smallWordLimit": 50,                    // Tasks with fewer words are small tasks
    "largeWordLimit": 200,                   // Tasks with more words are large tasks
    "suppressHeavyModesForSmallTasks": true  // Suppress heavy modes for small tasks
  }
}

Full Default Configuration

Below are all of OMC's default configuration values.

{
  "agents": {
    "omc": { "model": "opus" },
    "explore": { "model": "haiku" },
    "analyst": { "model": "opus" },
    "planner": { "model": "opus" },
    "architect": { "model": "opus" },
    "debugger": { "model": "sonnet" },
    "executor": { "model": "sonnet" },
    "verifier": { "model": "sonnet" },
    "securityReviewer": { "model": "sonnet" },
    "codeReviewer": { "model": "opus" },
    "testEngineer": { "model": "sonnet" },
    "designer": { "model": "sonnet" },
    "writer": { "model": "haiku" },
    "qaTester": { "model": "sonnet" },
    "scientist": { "model": "sonnet" },
    "tracer": { "model": "sonnet" },
    "gitMaster": { "model": "sonnet" },
    "codeSimplifier": { "model": "opus" },
    "critic": { "model": "opus" },
    "documentSpecialist": { "model": "sonnet" }
  },
  "features": {
    "parallelExecution": true,
    "lspTools": true,
    "astTools": true,
    "continuationEnforcement": true,
    "autoContextInjection": true
  },
  "magicKeywords": {
    "ultrawork": ["ultrawork", "ulw", "uw"],
    "search": ["search", "find", "locate"],
    "analyze": ["analyze", "investigate", "examine"],
    "ultrathink": ["ultrathink", "think", "reason", "ponder"]
  },
  "routing": {
    "enabled": true,
    "defaultTier": "MEDIUM",
    "forceInherit": false,
    "escalationEnabled": true,
    "maxEscalations": 2
  },
  "permissions": {
    "allowBash": true,
    "allowEdit": true,
    "allowWrite": true,
    "maxBackgroundTasks": 5
  },
  "externalModels": {
    "defaults": {
      "codexModel": "gpt-5.3-codex",
      "geminiModel": "gemini-3.1-pro-preview"
    },
    "fallbackPolicy": {
      "onModelFailure": "provider_chain",
      "allowCrossProvider": false,
      "crossProviderOrder": ["codex", "gemini"]
    }
  },
  "delegationRouting": {
    "enabled": false,
    "defaultProvider": "claude",
    "roles": {}
  },
  "startupCodebaseMap": {
    "enabled": true,
    "maxFiles": 200,
    "maxDepth": 4
  },
  "taskSizeDetection": {
    "enabled": true,
    "smallWordLimit": 50,
    "largeWordLimit": 200,
    "suppressHeavyModesForSmallTasks": true
  }
}

On this page