GrapeRoot (formerly Dual-Graph) is the one tool here that disagrees with TokenSave at the root. TokenSave gives the agent tools and trusts it to ask. GrapeRoot decides what the agent should see and packs it into the prompt before the agent gets a turn. Almost every other difference follows from that one.
TokenSave v7.12.1 · GrapeRoot / graperoot 3.10.19 (PyPI, Sep 2026)GrapeRoot is a prefill layer. It sits between you and your assistant as a launcher, ranks the files it believes are relevant, and loads them into the prompt. The stated goal is that "no exploration" happens — the agent never spends turns looking around because the answer is already in front of it.
TokenSave is a query surface. It assumes the agent is capable of asking good questions given good tools, and optimises for making each question cheap and precise.
Neither is obviously right, and the honest answer is that it depends on the model. A weaker model that picks tools badly benefits from having context chosen for it. A strong model that knows what it is looking for is held back by a fixed prefill guess and does better with a scalpel. As frontier models get better at tool selection, the prefill advantage narrows — but that is a trend, not a proof, and on a bad model today prefill genuinely wins.
| Dimension | TokenSave | GrapeRoot |
|---|---|---|
| Model | Agent queries the graph on demand | Files pre-loaded into the prompt |
| Implementation | Rust, single static binary | Python 3.10+ and Node.js 18+ |
| Runtime deps | None | Two runtimes, ~80 MB+ |
| License | MIT, auditable end to end | Apache-2.0 launcher, proprietary core |
| Unit of analysis | Symbol — functions, fields, call edges | File, plus symbols and imports |
| Call graph | Full inter-procedural | File-level neighbours |
| MCP tools | 87 | 3 graph tools, prefill is the main path |
| Languages | 60 | 12 |
| Storage | libSQL with FTS5 and indexed lookups | JSON files — every lookup is a full scan |
| Exploration turns | Agent spends a call to ask | Zero — context arrives pre-loaded |
| Multi-branch | Yes, opt-in | No |
| Privacy | Anonymous token count, documented opt-out | Persistent install ID sent on launch |
graperoot package — is proprietary and published as a closed binary. You cannot see what it does with your code graph. For some organisations that ends the evaluation on its own.you would rather not think about it: you want better context with no tool vocabulary to learn and no dependence on the model choosing well, and a proprietary core is acceptable to you.
you want an auditable tool, symbol-level answers to structural questions, and an agent that can ask for whatever it actually needs rather than working from a guess made before the conversation started.
Every TokenSave figure on this page was verified against the source at origin/master
(v7.12.1), not taken from its own README:
test_tool_definitions_complete in src/mcp/tools/handlers/mod.rs; 86 when the optional ast-grep binary is absent from PATH.[features] tiers in Cargo.toml: 11 lite, 9 medium, 40 full. The README's "50+" is conservative.real time for a complete tokensave status invocation, best of repeated runs on an Apple Silicon Mac. Your hardware and repo size will differ.otool -L on the released binary; system frameworks only.graperoot 3.10.19 (licence field: Proprietary), the Codex-CLI-Compact repository and its README, September 2026.