OmO
Oh My OpenAgentv4.7.5

Claude Code Integration

How OmO honors Claude Code's settings.json hooks and the per-surface compatibility toggles.

OmO is Claude Code compatible — hooks, commands, skills, agents, MCPs, and marketplace plugins all load from the Claude Code paths automatically. This page covers the integration layer.

settings.json hooks

The claude-code-hooks hook executes scripts declared in Claude Code's settings.json:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [{ "type": "command", "command": "eslint --fix $FILE" }]
      }
    ]
  }
}

Locations the hook walks:

  • ~/.claude/settings.json (user)
  • ./.claude/settings.json (project)
  • ./.claude/settings.local.json (local, git-ignored)

Per-surface toggles

Disable specific Claude Code surfaces wholesale via plugin config:

{
  "claude_code": {
    "mcp": false,
    "commands": false,
    "skills": false,
    "agents": false,
    "hooks": false,
    "plugins": false
  }
}
ToggleDisables
mcp.mcp.json files (built-in MCPs stay enabled).
commandsCommand loading from Claude Code paths.
skillsSkill loading from Claude Code paths.
agentsAgent loading from Claude Code paths (built-in agents stay enabled).
hookssettings.json hooks via claude-code-hooks.
pluginsClaude Code marketplace plugins.

Disable specific marketplace plugins individually:

{
  "claude_code": {
    "plugins_override": {
      "claude-mem@thedotmack": false
    }
  }
}

Why the integration exists

OmO is built on OpenCode but lives next to Claude Code in many setups. The compatibility layer means a team that's been investing in Claude Code skills, commands, and rules keeps that investment when they install OmO — the harness sees both.

Source Notes

Aligned with upstream docs/reference/features.md#claude-code-hooks-integration and #claude-code-compatibility.

On this page