πŸ₯¬ Lettuce cuts the token bill

βˆ’42%
tokens, vs. an agent using grep + file reads

Measured, not modeled β€” a real Claude Code agent solving real GitHub issues, run with and without Lettuce.

0 of 16 supported languages at the 30-run target.

βˆ’42%
Fewer tokens
24,683,496 β†’ 14,323,271
βˆ’55%
Faster
wall-clock time to an answer
129/160
Tasks won
across 32 repositories

Per-task results

grep+read
163,844
Lettuce
94,589
grep+read
168,500
Lettuce
94,698
grep+read
135,352
Lettuce
147,087
grep+read
91,589
Lettuce
78,787
grep+read
119,480
Lettuce
61,355
grep+read
430,417
Lettuce
80,738
grep+read
88,208
Lettuce
61,848
grep+read
117,844
Lettuce
61,666
grep+read
156,504
Lettuce
61,701
grep+read
189,673
Lettuce
78,039
grep+read
88,449
Lettuce
77,911
grep+read
171,513
Lettuce
62,235
grep+read
247,192
Lettuce
96,826
grep+read
153,508
Lettuce
239,989
grep+read
137,702
Lettuce
77,496
grep+read
105,921
Lettuce
78,641
grep+read
178,655
Lettuce
78,095
grep+read
192,232
Lettuce
78,375
grep+read
61,151
Lettuce
61,926
grep+read
62,786
Lettuce
95,049
grep+read
171,576
Lettuce
61,841
grep+read
107,240
Lettuce
61,790
grep+read
108,750
Lettuce
94,605
grep+read
333,506
Lettuce
78,310
grep+read
232,820
Lettuce
95,113
grep+read
160,217
Lettuce
78,242
grep+read
123,401
Lettuce
78,701
grep+read
202,407
Lettuce
330,292
grep+read
151,127
Lettuce
440,768
grep+read
110,241
Lettuce
78,086
grep+read
131,687
Lettuce
78,358
grep+read
106,218
Lettuce
78,415

How we did the research

Real repos, never tuned against. 32 open-source repositories β€” 16 languages, 2 repos per language β€” none of which Lettuce was built or tuned for. 160 tasks in total, each a real GitHub issue (bug reports and code questions, picked automatically, not hand-curated).

Same agent, same model, two arms. For every issue the identical Claude Code agent (Claude Opus 4.8) located the relevant code twice: once with only grep + file reads, once with Lettuce. Same task, same model β€” the only thing that changes is whether the agent can call Lettuce.

How Lettuce is used. Lettuce indexes the repo into a graph once, then exposes two MCP tools β€” understand and read_snippet. The agent calls understand once and reads only the lines it actually needs, instead of grepping and reading whole files. This is the exact same two-tool setup and prompt a real user gets.

Measured, not modeled. Each arm ran twice; the median is reported. Token counts come straight from the agent's own usage meter β€” not an estimate. We also confirm the agent genuinely calls understand rather than silently falling back to grep.

Last run 6/14/2026.