Harnesses

Tern does two things with a coding agent: the hook catches decisions live, and tours read the prompts you ran on the branch. Support is per harness, and the two don’t always land together.

Harness Hook Sessions
Claude Code tern hook install Yes
Cursor CLI Yes
Codex CLI Yes
GitHub Copilot CLI CLI Yes
opencode CLI Yes
Grok CLI CLI Yes

Hook. tern hook install registers the end-of-turn hook for Claude Code. Everyone else registers the same command (tern hook --stop-hook) by hand; the CLI commands on The hook are that path. The hook’s output isn’t Claude Code-specific.

Sessions. Tern reads local session logs from all six, from their standard locations on your machine. That’s how a tour attaches pieces to prompts you ran while you were on the branch. Mining happens when you install the hook; later sessions are picked up as they appear.

Markdown plans

Drop a plan file into the repo and Tern picks it up regardless of agent, alongside session logs.

No agent, or an agent that isn’t listed

A tour still generates from the diff alone: pieces and rationale, no provenance. If you want Tern to read another harness’s sessions, tell us.

See also

  • Install Tern: the CLI, tern hook install, auth.
  • The hook: the CLI commands for other agents, and what a finding looks like.
  • The tour: how to open one, and what it reads.