Disclosure up front: I'm the author of Lynkr, the open-source (Apache-2.0) proxy discussed below. All numbers come from a benchmark you can reproduce yourself — methodology linked at the end.
I spent a few weeks instrumenting my own Claude Code sessions to answer one question: where do the tokens actually go?
The answer surprised me. It wasn't my prompts. It wasn't even the model's responses. The bulk of my spend was overhead I never looked at:
Tool schemas sent on every single request. Claude Code ships ~14 tool definitions (Write, Edit, Bash, Git, Grep...) with every message — even when you're asking a read-only question that can only ever use two of them.
Raw JSON tool results. A single grep returning 60 matches came back as a ~3,400-token JSON array. File reads, test output, ls results — all shipped verbatim into the context, on every turn, forever.






