3697809c11
- Session: 23 -> 24 (add legacyPluginToast) - Tool Guard: 12 -> 14 (add bashFileReadGuard, readImageResizer, todoDescriptionOverride, webfetchRedirectGuard) - Transform: 4 -> 5 (add toolPairValidator) - Remove deleted dirs: anthropic-image-context, beast-mode-system - Add new dirs: legacy-plugin-toast, todo-description-override, tool-pair-validator, webfetch-redirect-guard
1.1 KiB
1.1 KiB
src/hooks/claude-code-hooks/ — Claude Code Compatibility
Generated: 2026-04-05
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).