9f6d0d2281
- Bump root AGENTS.md header: 2026-05-14 → 2026-05-15, commit5ffbe0e24→53a740636, release v4.1.1 → v4.1.2 - Update file counts: 2034 (1337+697) → 2041 (1340+701), LOC ~292k → ~294k - Fix STRUCTURE: openclaw lives at src/openclaw/ (not src/features/); list more accurate feature modules in the parenthetical - Clarify interactive_bash gate: tmux binary on PATH via isInteractiveBashEnabled() (not 'tmux enabled') - Fix docs/reference/features.md hook counts: Tool Guard 14→16, Total base 52→54, total with team-mode 59→61 - Bump 'Generated' date on all 43 subdir AGENTS.md files to 2026-05-15 - Preserve promptAsync injection cautions verbatim (per request)
1.1 KiB
1.1 KiB
src/hooks/claude-code-hooks/ — Claude Code Compatibility
Generated: 2026-05-15
OVERVIEW
~2110 LOC across 19 files. Provides Claude Code settings.json compatibility layer. Parses CC permission rules and maps CC hooks (PreToolUse, PostToolUse) to OpenCode hooks.
WHAT IT DOES
- Parses Claude Code
settings.jsonpermission format - Maps CC hook types to OpenCode event types
- Enforces CC permission rules (allow/deny per tool)
- Supports CC
.claude/settings.jsonand.claude/settings.local.json
CC → OPENCODE HOOK MAPPING
| CC Hook | OpenCode Event |
|---|---|
| PreToolUse | tool.execute.before |
| PostToolUse | tool.execute.after |
| Notification | event (session.idle) |
| Stop | event (session.idle) |
PERMISSION SYSTEM
CC permissions format:
{
"permissions": {
"allow": ["Edit", "Write"],
"deny": ["Bash(rm:*)"]
}
}
Translated to OpenCode tool restrictions via permission-compat in shared/.
FILES
Key files: settings-loader.ts (parse CC settings), hook-mapper.ts (CC→OC mapping), permission-handler.ts (rule enforcement), types.ts (CC type definitions).