Repository navigation
Cursor support, verified against a running agent rather than read about.
Added
Cursor. sessionStart, postToolUse, postToolUseFailure and
sessionEnd — the four canonical events exactly, which is not what an
earlier reading of the documentation suggested. Hooks go in
.cursor/hooks.json, shaped {"version": 1, "hooks": {…}}.
Six payloads were captured from cursor-agent 2026.10.01 and three of
them changed the mapping:
- One command fires two events. A failing build arrives as
afterShellExecution, carrying the command and its output, and as
postToolUseFailure, carrying the same failure with a tool name, a
working directory and an error message. Only the tool events are mapped;
mapping both would look one error up twice. - The exit code is readable.
postToolUsereturns its result as a JSON
string —{"output":"…","exitCode":0}— so failure is read out of the
payload rather than guessed from the output's shape. - Context goes back as a top-level
additional_context, snake_case,
unlike every other agent here.
That last one was measured, not taken on trust: a hook returned a probe
token and the model repeated it verbatim. It is the only reply path in
this project verified by watching the model receive it, and the reason is
that Codex's documented path turned out to be wrong in a way that would
have been completely silent.
What Cursor cannot do
A piped build is invisible. postToolUse hands its result back as a JSON
string, so a masked failure's output arrives with its newlines escaped,
on one line, and the fingerprinter finds nothing in it. No mapping can fix
that, and the agents that can see a piped failure are listed in
docs/compatibility.md.
Also
Every Cursor payload carries user_email. The capture script now scrubs
email addresses by shape rather than by field name, so an agent that
starts sending one tomorrow is covered, and a test refuses any address
reaching the corpus that is not the placeholder.
Upgrading
npm install -g forgelore # or
curl -fsSL https://raw.githubusercontent.com/forgeprint/forgelore/main/scripts/install.sh | bashNothing to migrate. No fingerprint changes. The record schema is 1 and the
mapping format is 2.
gh attestation verify forgelore_linux_amd64 -R forgeprint/forgelore
npm audit signaturesWhich agents this release supports
| Agent | Checked against a running agent | |
|---|---|---|
| Claude Code 2.1.290 | hooks, both MCP protocol eras, usage reader | A |
| Copilot CLI 1.0.91 | hooks only — its MCP client has never been connected | B |
| Gemini CLI 0.62.0 | hooks only — its MCP client has never been connected | B |
| Cursor 2026.10.01 | hooks only — its MCP client has never been connected | B |
| Codex CLI | nothing; the mapping is derived from schemas in its binary | unverified |