claude-tap
A local proxy written in Python (MIT licence) that sits between your agent and the model API. You start Claude Code through it, and it records every request actually sent (system prompt, history, tool schemas, tool calls, responses, tokens) and renders it as a self-contained HTML page, with the diff from one request to the next highlighted down to the character. It also works with Codex CLI, Gemini CLI, OpenCode and others.
Strengths
- Shows the request actually sent, system prompt and tool schemas included
- Diff from one request to the next, highlighted down to the character
- Local trace in a single HTML page, with no third-party service
Limitations
- The trace holds the full content of the exchanges: a secret passed through a file or a tool ends up in it
- Needs Python 3.11 and uv or pip, one step more than a plugin
- A one-off diagnostic tool, not continuous usage tracking
Best for
- Understanding why a session fills up fast by looking at what is sent on each turn
- Checking that a CLAUDE.md, a skill or a hook injects what you think it does