| Antigravity CLI | Native hooks | Prompt, pre-tool, post-tool, stop, invocation, command, and file telemetry where Antigravity exposes hook payloads |
| Claude Code | Local OTLP export plus optional hooks and poll of ~/.claude/projects through beacon endpoint claude sync | OTLP/hooks: prompt, command, tool, file, lifecycle, subagent, permission, token, and cost telemetry. Poll: historical prompts, assistant messages, tool results, commands, files, MCP-shaped activity, sidechains, and session lifecycle where persisted |
| Cline | Managed plugin hooks plus optional poll of Cline’s local task/session stores through beacon endpoint cline sync | Plugin: prompts, task lifecycle, tool lifecycle, commands, file reads and edits with diffs, MCP activity, and token usage. Poll: historical prompts, assistant messages, reasoning, tool results, commands, files, MCP-shaped activity, and token counts where persisted |
| Codex CLI | Local OTLP logs, selective usage trace, endpoint hooks, and poll of ~/.codex/sessions through beacon endpoint codex sync | OTLP/hooks: session, prompt, approval, and tool-result activity plus per-user/session/model turn token usage. Poll: historical prompts, assistant messages, commands, files, tool calls, MCP-shaped activity, and token snapshots where persisted |
| Cursor | Native hooks plus optional poll of Cursor’s local session stores through beacon endpoint cursor sync | Hooks: prompt, tool, shell command, MCP-like, approval, file edit, reasoning, and context telemetry. Poll: historical Composer and agent-session records from Cursor’s global storage database and ~/.cursor/projects |
| DeepSeek Harness | DeepSeek’s own Claude Code hook bridge, mounted by a Beacon row in $DSH_HOME/cordis.patch.yml at a hooks file Beacon owns, plus poll of $DSH_HOME/sessions through beacon endpoint dsh sync | Hooks: session start, prompts, pre-tool and post-tool activity, commands with output and exit code, file reads and edits with diffs, MCP tool calls, subagent start and stop, and the turn-closing stop. Poll: historical prompts, assistant text/reasoning, tool calls/results, failed tools, command/file/MCP activity, and token usage where persisted. No approval decisions, because neither surface exposes them |
| Devin CLI | Native hooks | Session, prompt, pre-tool, post-tool, permission request, stop, session-end, approval, and file telemetry |
| Devin Desktop | Cascade/Windsurf hooks | Prompt, command, MCP tool, file read, and file write telemetry where Desktop exposes Cascade hook payloads |
| Factory Droid | OTLP HTTP, optional hooks, and poll of ~/.factory/sessions through beacon endpoint factory sync | OTLP/hooks: session, prompt, write/edit/create tool use, stop, session-end, and available OTLP telemetry. Poll: historical session records committed by Factory |
| fx (Vercel Labs) | Poll of fx’s own session records under ~/.fx/sessions through beacon endpoint fx sync | Session start, prompts, tool calls, commands with exit codes and output, file reads and edits with diffs, MCP tool calls, agent messages, history compaction, and token usage and cost. No approval or session-end telemetry, because fx persists neither |
| Gemini CLI | Opt-in local OTLP | Prompts, tool calls, MCP activity, file operations, and approval-related events emitted through OTLP |
| GitHub Copilot CLI | MDM-managed OTLP HTTP plus poll of ~/.copilot/session-state through beacon endpoint copilot sync | OTLP: prompt, session, tool, and approval-like activity emitted through Copilot CLI spans. Poll: assistant text, complete tool results, commands, files, and token usage from committed session records |
| goose | Adapter only today: manually written plugin hooks in .agents/plugins/, plus manually configured local OTLP export over HTTP | Hooks: session start and end, prompts, pre-tool and post-tool activity, failed tools, command lines, file creates and edits with diffs, and MCP tool calls. OTLP adds token usage, model and provider, response ids, and agent reasoning. No automatic installer/discovery yet, no tool output of any kind on the hook path, and no approval decisions because goose exposes none of those on a hook |
| Grok Build | Native hooks plus optional poll of ~/.grok/sessions through beacon endpoint grok sync | Hooks: session, prompt, pre-tool, post-tool, failed tool, stop, session-end, command, and file telemetry. Poll: historical committed sessions, tool activity, commands, file activity, and compaction where persisted |
| Kimi Code | Native hooks appended to the [[hooks]] array of Kimi Code’s own $KIMI_CODE_HOME/config.toml | Session start and end, prompts, pre-tool and post-tool activity, failed tools, real operator approval decisions, commands with output and exit code, file reads and edits with diffs, MCP tool calls, subagents, and context compaction. No token usage or agent message text, because Kimi Code exposes neither on a hook |
| Kiro | Native hooks through a Beacon-owned file in .kiro/hooks/ | Session start, prompts, pre-tool and post-tool activity, commands with output, file reads and edits, MCP tool calls, failed tools, and the agent’s final response. No approval decisions or token usage, because Kiro exposes neither on a hook |
| Muse Code | Native hooks through a managed hooks file | Session start, prompt, pre-tool, post-tool, permission request, subagent, context compaction, stop, command, and file telemetry |
| Oh My Pi | Managed extension hooks | Session lifecycle, prompts, tool lifecycle, operator approval decisions, commands including operator ! and $ commands, file reads and edits with the unified patch, MCP tool activity, agent reasoning, and token usage |
| OpenCode | Managed plugin hooks plus optional poll of OpenCode’s local session store through beacon endpoint opencode sync | Plugin: chat messages, session events, command execution, permission activity, diffs, and errors. Poll: historical prompts, assistant text/reasoning, tool outcomes, commands, file activity with paths, compaction, and token usage where persisted. Approval telemetry comes from the live plugin only |
| OpenHands | Native hooks merged into the repository’s own .openhands/hooks.json | Session start and end, prompts, pre-tool and post-tool activity, commands with exit codes and output, file reads and edits with exact before/after diffs, MCP tool calls, and failed tools. No approval decisions or token usage, because OpenHands exposes neither on a hook |
| Pi | Managed extension hooks plus optional poll of Pi’s local session store through beacon endpoint pi sync | Extension: session lifecycle, prompts, tool lifecycle, commands including operator ! commands, file reads and edits with the unified patch, agent reasoning, and token usage. Poll: historical prompts, assistant text/reasoning, tool calls/results, commands, file activity with paths and diffs where persisted, compaction, skill-load records, and token usage. No approval decisions, because Pi exposes none |
| Prime Agent | Managed extension hooks plus optional poll of Prime Agent’s session files through beacon endpoint prime sync | Extension: session lifecycle, prompts, tool lifecycle, commands including each ipython kernel cell and operator ! commands, file edits with the unified patch, agent reasoning, and token usage. Poll: historical prompts, assistant messages and reasoning, tool results, context attachments, errors, compactions, refinement state, and subagent artifacts. No approval decisions, because Prime Agent exposes none |
| Qwen Code | Native hooks | Session, prompt, pre-tool, post-tool, failed tool, permission request, subagent, stop, session-end, command, and file telemetry |
| Senpi | Managed extension hooks | Session lifecycle, prompts, tool lifecycle, commands including operator ! commands, file reads and edits with the unified patch, agent reasoning, and token usage. The standalone omo edition of oh-my-openagent; its OpenCode and Codex CLI editions ride the existing OpenCode and Codex CLI integrations instead. No approval decisions, because Senpi exposes none through its extension API |
| VS Code | Copilot Chat OTel plus optional preview hooks | Copilot session, prompt, model, and tool activity through OTel; optional hooks for extra lifecycle and cross-agent detail |