Repository navigation
Feat: support Codex, Gemini CLI and eight more coding agents - #149
Merged
Merged
Conversation
This was referenced Oct 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Trodden only worked with Claude Code. This adds Codex, Gemini CLI, Qwen Code, GitHub Copilot CLI, Factory Droid, Cursor, OpenCode, Kilo Code, Kimi Code and Cline.
Capture no longer assumes one agent. The trace building that lived inside the Claude Code parser (prompt summaries, command normalization, relative paths, outcomes, error signatures, file changes) is now an agent-neutral builder, and each agent has a small transcript parser on top of it. Every agent implements one
Agenttrait in thetroddencrate: how its hook payloads map to what Trodden does (recall on a prompt, recall on a failed command, ingest at the end of a turn or session, the verify reminder), how replies must be shaped for that agent, where its sessions live for backfill, and how to install its hooks.Agents that write transcripts with command results (Codex, Gemini CLI, Qwen Code, Copilot CLI, Factory Droid) are learned from those transcripts and support
trodden backfill. Cursor, OpenCode, Kilo Code, Kimi Code and Cline keep no usable record of tool results, so their hooks append to a small per-session journal instead, redacted and reduced the same way a trace is. A journal is deleted once its session has ended and been learned from, andforget --alldeletes all of them.trodden connect <agent>installs the hooks into the agent's user settings, keeping any hooks already there and following symlinked config files;--dry-runshows the change first,trodden disconnect <agent>removes only Trodden's entries, andtrodden connectalone lists the agents and which are installed and connected. Claude Code is connected the same way (trodden connect claude-codewrites to itssettings.json); the plugin still works as an alternative, andconnectrefuses to add the hooks a second time when the plugin is installed. Where an agent needs a step of its own (Codex asks the user to trust new hooks, Cline needs hooks enabled, Droid and OpenCode need a restart),connectprints it.status,doctorandinitnow report agents.backfillreads every agent with sessions on disk, or one with--agent.What each agent's hooks allow differs: Cursor cannot add context to a prompt, Kimi Code ignores output after a failed command, and OpenCode, Kilo Code and Cline cannot continue a finished turn, so those features are off for them. The README has the full table.
Two changes to shared behavior came with it. The verify reminder now fires at most once per injection, tracked in the store (a new
reminded_atcolumn), since several agents do not say whether a stop already follows a hook continuation. And a prompt recorded a few seconds after its injection still counts as the injection's turn, because Gemini CLI and Qwen Code write the prompt only after the prompt hook has run. Trodden's own reminder text is never taken as a task prompt by any parser.Tests cover each parser with shortened transcripts built from the agents' formats, hook event mapping and reply shapes per agent, connect and disconnect round trips on scratch settings files, the journal (round trip, redaction, prompt summaries only, no heredoc bodies, removal after the session ends), and the reminder changes. Each agent was also run end to end with the built binary against scratch homes: hook payloads in, ingest, a procedure learned and recalled. Codex was additionally checked against a real rollout. The recall calibration results are unchanged.