Grok Build
grok First-party Grok hook and deferred transcript completion path; Agent-specific lifecycle rules.
AGENT INTEGRATIONS · FACT-CHECKED
DuckTerm separates tested workflow coverage from the canonical contract. The matrix below is built from hookd’s embedded contract and runtime status rules, not a hand-maintained marketing list.
Contract v1 defines 9 Agents and 7 decision schemas. OpenCode’s decision schema is present, but its installed lifecycle plugin does not yet wire permission replies; it is marked pending below.
Contract v1
Identity, approval, and reply correlation come directly from agent_contracts.v1. Lifecycle classification comes from turn_rules.v1. Effective installer surfaces account for the OpenCode plugin and Pi extension overrides.
| Agent | Lifecycle status | Phone decision | hookd adapter | Reply matching |
|---|---|---|---|---|
Claude Codeclaude Contract-backed | Lifecycle status Agent-specific rules 10 mapped event types | Phone decision Approve / reject wired Structured response · Event: PermissionRequest | hookd adapter Native hook config ~/.claude/settings.json | Reply matching Per event 4 identifier fields |
Codexcodex Contract-backed | Lifecycle status Agent-specific rules 8 mapped event types | Phone decision Approve / reject wired Terminal decision · Event: PermissionRequest | hookd adapter Native hook config ~/.codex/hooks.json | Reply matching Per turn 5 identifier fields |
Antigravityagy Contract-backed | Lifecycle status Agent-specific rules 8 mapped event types | Phone decision Approve / reject wired Structured response · Event: PreToolUse | hookd adapter Native hook config ~/.gemini/config/hooks.json | Reply matching Per event Composite key: agy |
OpenCodeopencode Contract-backed | Lifecycle status Shared canonical rules 14 mapped event types | Phone decision Decision contract; adapter pending Terminal decision · Event: PermissionRequest | hookd adapter JavaScript plugin ~/.config/opencode/plugins/duckterm-hookd.js | Reply matching Per event 3 identifier fields |
Pipi Contract-backed | Lifecycle status Shared canonical rules 14 mapped event types | Phone decision Status only | hookd adapter TypeScript extension ~/.pi/agent/extensions/duckterm-hookd.ts | Reply matching Per event 3 identifier fields |
Droiddroid Contract-backed | Lifecycle status Shared canonical rules 14 mapped event types | Phone decision Approve / reject wired Terminal decision · Event: PermissionRequest | hookd adapter Native hook config ~/.factory/settings.json | Reply matching Per event 3 identifier fields |
| | Lifecycle status Shared canonical rules 14 mapped event types | Phone decision Approve / reject wired Terminal decision · Event: PermissionRequest | hookd adapter Native hook config ~/.qoder/hooks.json | Reply matching Per event 3 identifier fields |
Ampampcode Contract-backed | Lifecycle status Shared canonical rules 14 mapped event types | Phone decision Approve / reject wired Terminal decision · Event: PermissionRequest | hookd adapter Native hook config ~/.ampcode/hooks.json | Reply matching Per event 3 identifier fields |
Geminigemini Contract-backed | Lifecycle status Shared canonical rules 14 mapped event types | Phone decision Status only | hookd adapter Native hook config ~/.gemini/settings.json | Reply matching Per event 3 identifier fields |
These workflows are exercised by dedicated hook or transcript code, but do not claim contract-only approval or correlation fields.
grok First-party Grok hook and deferred transcript completion path; Agent-specific lifecycle rules.
cursor Native Cursor hook target with a tested policy overlay for its lower-camel-case events.
devin Dedicated Devin config target with compatibility re-attribution and shared lifecycle policy.
DuckTerm is a real SSH, Mosh, and tmux terminal, so any CLI/TUI runs normally. It also recognizes these familiar brands in terminal and session context; the logos do not imply a dedicated hookd approval contract.
Qwen Code
Aider
Cline
GitHub Copilot
Windsurf
Warp
Augment
Kilo Code
Kiro
Manus
Roo Code The website build imports the same embedded fixtures hookd tests. A contract Agent without a product-order slot fails the build. Runtime-only exceptions remain explicit, and validation-only eventMap.pushable is never presented as the live push gate.