Short answer
They cut different tokens, so they add up. RTK shortens what a command prints once the agent has run it; Pixel shortens what the agent reads to find its way, by answering from an index instead of whole files. In Claude Code, pixel install keeps an existing RTK hook working: Pixel's guard takes the searches it rewrites and hands every other shell call to RTK, so one hook answers each call.
Side by side
Not benchmarked. No figure: how Pixel and RTK work, side by side. Nothing on this page is a measurement.
| Measure | Pixel | RTK |
|---|---|---|
| What it shortens | What the agent reads to find code | What a command prints |
| How | Answers from a local index | Filters and summarises command output |
| Callers, blast radius, Git history | Yes | No |
| Build and test logs | Left as they are | Compressed |
| Running both in Claude Code | One guard hook, RTK delegated | Its hook, adopted by pixel install |
Where RTK wins
It compresses the output of builds, tests, Git and other shell commands, which Pixel leaves as they are.
How they differ
RTK sits between the agent and its shell: cargo build, git status or a test run go through it, and the agent gets a short summary instead of the full log. Pixel works before that, when the agent looks for code: pixel scope-task names the files a task starts in, pixel list-signatures outlines a large file, and pixel impact lists a symbol’s callers and callees, so the agent opens fewer whole files.
Running both
Install RTK first, then run pixel install. In Claude Code, only one PreToolUse hook should rewrite a shell call, so Pixel adopts RTK’s exact rtk hook claude registration: its guard rewrites the searches it knows (grep, rg) and hands every other call to RTK. The registration it adopted is saved in .claude/pixel-rtk-hooks.json and goes back into your settings when you uninstall Pixel. pixel doctor reports a backup left without a guard to use it.
Choosing
Pick RTK if your agent’s context fills with build and test output. Pick Pixel if it fills with files opened to find its way, and for callers, blast radius and Git history. If both happen, run both.