# Prompt cache hits, misses and invalidation (`limits.prompt_cache`)

Feedback Bench, coding agents, built 2026-10-19, window 2026-08-31 to 2026-10-18. Web page: https://feedbackbench.com/coding-agents/#/criterion/limits.prompt_cache

Area: [Paying and limits](https://feedbackbench.com/coding-agents/criteria/paying.md)

**Definition.** Whether prompt caching is kept across turns, resumes and provider routing, and how cache reads are priced. Covers cache drops that inflate usage.

**Boundary.** Not this: see [Single prompt, model or effort level consumes disproportionate quota](https://feedbackbench.com/coding-agents/criteria/limits.burn_rate.md) for consumption not attributed to caching.

Rated user-weeks, all agents: 827. Complaint share: 71%.

## The brief

Written by large language models from this page's numbers and the posts it quotes, then checked: every number in the text is in the build. Interpretation, not measurement.

Pi is the best agent at keeping the prompt cache warm. Its users say almost every turn reads from cache, even in long sessions and with subagents. Caching is a small topic, 1.0% of what users of AI coding agents rate, but most of what they say about it is complaint: 70.6% of rated user-weeks. OpenAI Codex ranks low, 4th of 4. Its users describe misses they cannot see and a cache that breaks when settings change. Claude Code users write 46% of the category's complaints here.

### What separates the best from the rest

Pi users report cache hit rates they measured themselves, covering nearly all of their prompt tokens. Some add small tools that warn them before the cache expires. OpenAI Codex users describe the opposite. They report misses that happen often and out of sight, a cache that breaks when the reasoning level changes, and costs that climb as a result. Caching also matters more to Pi users: it makes up 2.8% of what they rate, against 0.5% for users of other agents.

- **Ranks high**: [Pi](https://feedbackbench.com/coding-agents/agents/pi.md)
  - Pi, 2026-09-06, @pidotdev (X): “at this point, the only thing keeping astra from burning through my weekly limit in half an hour is @pidotdev's incredible cache hit rate: 99.6% 🚀 also my custom pi extension that show cache ttl countdown timers and ping me via push notification 5m before expiry help a lot 🤓” [source](https://twitter.com/2915475819/status/2096584453376102561)
  - Pi, 2026-10-03, @pidotdev (X): “@ivanfioravanti @pidotdev yes, really solid, i have an internal proxy to anthropic where prior pi v1 the cache ratio was close to 0, now stable at 99.5% 🤯” [source](https://twitter.com/96518148/status/2106371901266256190)
- **Ranks low**: [OpenAI Codex](https://feedbackbench.com/coding-agents/agents/codex.md)
  - OpenAI Codex, 2026-10-12, r/codex (Reddit): “no, codex has random intermittent cache misses (it happens very often, you just don't see it—and that's on purpose). raising the compaction threshold is not a great idea. you do not get 30min guaranteed cache, far from that.” [source](https://www.reddit.com/r/codex/comments/1x49tci/should_i_upgrade_my_context_for_astra_at_500k/pfi0zs1/)
  - OpenAI Codex, 2026-10-03, X search: OpenAI Codex, Codex CLI, Codex app (X): “@yuchenj_uw but i can get 99%+ caching on my sessions through pi or through other harnesses and on codex app that never happens” [source](https://twitter.com/587982527/status/2106470409642356916)

## How it breaks

Rule: A separate pass sorts complaints into failure modes. For each criterion with at least 30 complaining user-weeks, a large language model reads 150 complaint posts drawn at random and names 4 to 8 failure modes; a second large language model then puts every complaint post on that criterion in one mode, or in Other when it fits none. Modes are fixed once named, and new posts are sorted into them each week. A mode counts distinct user-weeks with a complaint in it, per agent; across agents, one user-week per agent. Modes do not change the labels or the Feedback Score. Examples: up to 3 posts per mode from different users, chosen and checked as receipts are.

The largest failure mode is a cache that goes cold while the user is away or a long tool call runs. It makes up 19% of complaining user-weeks, and Claude Code users write 67% of it. Claude Code users also write 65% of complaints about losing the cache on resume. Most complaints about routers sending one session to different providers come from OpenCode users, at 54%. OpenAI Codex users lead one mode outright: switching model or effort mid-thread, at 47%.

595 complaining user-weeks.

| Failure mode | User-weeks | Posts | Agents (user-weeks) | Definition |
|---|---|---|---|---|
| Cache expires during idle gaps or long tool runs | 115 | 129 | Claude Code 77, OpenAI Codex 27, OpenCode 6, Pi 3, Amp 1, Cursor 1 | The cached prefix goes cold because the user steps away, a test suite or long tool call runs past the TTL, or a subagent waits too long, so the next turn re-writes the whole context at full price; this excludes expiry caused by limit resets or session restarts. |
| Harness breaks prefix stability every turn | 100 | 102 | Claude Code 30, OpenAI Codex 30, OpenCode 27, Pi 4, Cline 2, GitHub Copilot 2, Cursor 2, Google Antigravity 1, Warp 1, Zed 1 | The agent harness or SDK rebuilds the prompt prefix in a way that breaks caching (reordered context, timestamps or IDs in the system prompt, added skills/MCP tools, compaction, missing cache_control on BYOK or third-party models), so cache hit rates stay low even in continuous use; this excludes model or provider routing issues. |
| Opaque or punitive cache read/write pricing | 93 | 101 | Claude Code 40, OpenAI Codex 33, OpenCode 10, Cursor 5, Google Antigravity 2, Pi 2, GitHub Copilot 1 | Cache writes or reads are priced or counted against subscription limits in ways that are undisclosed, recently made more expensive, or silently changed (such as TTL dropping when extra usage kicks in), and per-request cache hit/miss data is not shown; this excludes misses from specific technical causes. |
| Resuming after limit reset or restart loses cache | 66 | 67 | Claude Code 43, OpenAI Codex 20, OpenCode 2, Kiro 1 | Picking a session back up after a usage-limit stop, outage, account switch, process kill, checkpoint rewind or --resume re-reads the full conversation uncached and burns a large share of the new quota; this excludes ordinary idle expiry inside a live session. |
| Provider routing ignores cache affinity | 63 | 70 | OpenCode 34, OpenAI Codex 12, Claude Code 8, Pi 5, Cursor 2, Amp 1, GitHub Copilot 1 | Gateways or routers send turns of one session to different inference providers, or use providers with poor or no prefix caching, so cache hits drop and responses slow down compared with connecting to the model API directly; this excludes misses caused by the harness itself. |
| Model or effort switch invalidates cache | 59 | 60 | OpenAI Codex 28, Claude Code 19, OpenCode 5, Pi 3, Google Antigravity 1, GitHub Copilot 1, Cursor 1, Devin 1 | Changing the model, reasoning effort, plan mode, priority tier or a side-chat/fork mid-thread silently throws away the warm cache and makes the next message cost full price; this excludes invalidation from harness prefix changes the user did not trigger. |
| Cache regressions inflate usage without notice | 55 | 62 | Claude Code 32, OpenAI Codex 16, Cursor 3, OpenCode 2, Amp 1, Google Antigravity 1 | A release bug or backend change suddenly drops cache hits or bills cache as fresh input, so quotas drain much faster with no change in the user's work and no acknowledgement, refund or reset; this excludes known pricing policy. |
| Subagent fan-out repays cache writes | 55 | 59 | Claude Code 30, OpenAI Codex 17, Pi 3, OpenCode 2, Google Antigravity 1, Cline 1, Cursor 1 | Subagents and verifier loops get short default TTLs or separate contexts, so each one rewrites large shared payloads to cache again and again, multiplying usage where the user can't see it; this excludes misses in the main thread. |
| Other | 43 | 46 | Claude Code 18, OpenAI Codex 14, OpenCode 4, Google Antigravity 2, Cursor 2, Pi 2, Devin 1 | Complaints that fit none of the modes above. |

#### Cache expires during idle gaps or long tool runs

- OpenAI Codex, 2026-10-12, r/codex (Reddit): “no, codex has random intermittent cache misses (it happens very often, you just don't see it—and that's on purpose). raising the compaction threshold is not a great idea. you do not get 30min guaranteed cache, far from that.” [source](https://www.reddit.com/r/codex/comments/1x49tci/should_i_upgrade_my_context_for_astra_at_500k/pfi0zs1/)
- Claude Code, 2026-10-11, r/ClaudeCode (Reddit): “had the same after breaks. on a big session the first message after you walk away re-sends the whole context to the cache, so a few of those and it's gone. do you resume old sessions a lot?” [source](https://www.reddit.com/r/ClaudeCode/comments/1x31cbp/maxing_out_20x_weekly_usage_mid_week/pf7fyh5/)
- OpenAI Codex, 2026-10-09, r/codex (Reddit): “i had something similar happen to me. cached input usage was through the roof. just create a handoff file and a new chat and work from there. should solve the leakage” [source](https://www.reddit.com/r/codex/comments/1x1f92n/banked_reset_500_account/peuceqo/)

#### Harness breaks prefix stability every turn

- Pi, 2026-10-18, @pidotdev (X): “started tracking cache misses in @pidotdev and amazed at how often i miss cache :/ [link]” [source](https://twitter.com/1586651690148671488/status/2111634624141279365)
- Claude Code, 2026-10-09, r/ClaudeCode (Reddit): “ever since the latest caching update, it seems to lose its efficiency after just 2–3 messages. unfortunately, it doesn't feel nearly as good as it used to. anyone else experiencing this?” [source](https://www.reddit.com/r/ClaudeCode/comments/1x1g3b0/i_feel_like_opus_got_nerfed/)
- OpenAI Codex, 2026-10-04, r/codex (Reddit): “just so you know, this increases yhe cost by several 100% due to horrible caching” [source](https://www.reddit.com/r/codex/comments/1wxfg79/the_best_usage_for_plus_users/pdtfdb1/)

#### Resuming after limit reset or restart loses cache

- OpenAI Codex, 2026-10-18, r/codex (Reddit): “i noticed this too, when we had 5h limits on $100/$200 plans. sometimes it resumed with complete garbage. it seems that when the cache gets cold you lose something with that.” [source](https://www.reddit.com/r/codex/comments/1x91po7/anyone_else_notice_claude_code_or_codex_rushing/phhol6b/)
- Claude Code, 2026-10-10, r/ClaudeCode (Reddit): “tried but didn’t like it as it reuses the sessions and would bomb usage on cache expiry.” [source](https://www.reddit.com/r/ClaudeCode/comments/1x2k7dz/if_you_dont_have_access_to_claude_code_projects/pf448ac/)
- OpenAI Codex, 2026-10-10, r/codex (Reddit): “the only problem about this is the cache. at least with claude you can't transfer the cache to your other account. this sonetimes cost up to 20% of 5h limit.” [source](https://www.reddit.com/r/codex/comments/1x29tn0/auto_switch_between_your_codex_accounts_midtask/pf0d9tt/)

#### Provider routing ignores cache affinity

- OpenCode, 2026-10-13, r/opencode (Reddit): “i dont think thats the case ... [[link] its the same session, ran for about 16mins, cache hit is still effectively 0... so i think its a routing problem between providers rather than cache timed out ...” [source](https://www.reddit.com/r/opencode/comments/1x502wd/deepseekv41flash_cache_hit_rate_is_like_non/pgi9zi1/)
- Amp, 2026-10-09, @AmpCode (X): “@sqs @ampcode hi quinn, thanks for getting back to me! one of our users is having an issue where they're trying to use opus 5.5 on venice with amp code but their cache hit rate seems to be super low (where it definitely shouldn't). i can get them to hit report bug” [source](https://twitter.com/1559149302756347906/status/2108493591886598645)
- OpenCode, 2026-10-08, @opencode (X): “is there a problem with the cache of opencode go? it feels lower than directly connecting to the model provider's api. @opencode” [source](https://twitter.com/2030882346069880832/status/2108120657674502391)

#### Model or effort switch invalidates cache

- OpenAI Codex, 2026-10-07, r/codex (Reddit): “i'm not talking about bugs, i'm talking about the actual feature as its supposed to be. at least in the api, changing the reasoning level mid-conversation is not supposed to break cache, as per the offical documentation ([a model guide for the gpt-6 family | openai]([link])).” [source](https://www.reddit.com/r/codex/comments/1wzvwco/do_you_want_this_feature_true_auto_chatgpt/pefg8sr/)
- OpenAI Codex, 2026-10-05, r/codex (Reddit): “meanwhile, what happened to forking threads? that was a great way to use your cache. gone!” [source](https://www.reddit.com/r/codex/comments/1wx7k6u/more_promises/pdxgyu5/)
- Claude Code, 2026-09-25, @ClaudeDevs (X): “@claudedevs good post. biggest lesson from my own sessions: switch models mid-conversation once and your cache savings evaporate. learned that the expensive way.” [source](https://twitter.com/1664368189600587776/status/2103584754776092944)

#### Cache regressions inflate usage without notice

- Google Antigravity, 2026-10-15, @antigravity (X): “i think this is very likely true! antigravity incorrectly handled the cache and api discounts. @officiallogank @antigravity [link]” [source](https://twitter.com/1594959396764672000/status/2110639182523900023)
- Claude Code, 2026-10-14, r/ClaudeCode (Reddit): “yes same here since like 4-5 days, but with claude code and i realise the context usage goes down drastically by that. because the cache write is not hit anymore. for 3rd party tools i guess it's annoying, i could not find a setting for it” [source](https://www.reddit.com/r/ClaudeCode/comments/1x5n49q/autocompact_self_triggers_when_idle/pgnqdls/)
- Claude Code, 2026-10-10, @ClaudeDevs (X): “@claudedevs the actual cache hit rate for projects is less than 30%, and the token bill has already increased.” [source](https://twitter.com/1975720803779158020/status/2108918862721032334)

#### Subagent fan-out repays cache writes

- Claude Code, 2026-10-12, r/ClaudeAI (Reddit): “but apparently not at the higher fable rate at least? 🤔 but yes, not ideal display. in the "usage" tab of claude code itself for the current session it looks to be broken out properly though. that the advisor gets zero cache is a significant cost dimension.” [source](https://www.reddit.com/r/ClaudeAI/comments/1x40uzs/advisor_doesnt_actually_count_towards_the_weekly/pfg31a0/)
- Claude Code, 2026-09-27, r/ClaudeCode (Reddit): “i'd be careful with that. cache is not shared between different models, and advisor context is currently entirely uncached. so every single time opus invokes the fable advisor, you're paying for the full uncached read cost for your entire context window so far at fable rates.” [source](https://www.reddit.com/r/ClaudeCode/comments/1wrpq38/any_idea_what_anthropic_figured_out/pcgipyq/)
- Claude Code, 2026-09-25, r/ClaudeCode (Reddit): “just fyi every advisor call costs the full session’s tokens *without* cache. there’s a breakpoint where it becomes more expensive than just using the expensive model directly.” [source](https://www.reddit.com/r/ClaudeCode/comments/1wpg0fy/opus_55_is_the_default_now_so_who_still_switches/pbvmoym/)

#### Other

- OpenCode, 2026-10-05, r/opencode (Reddit): “opencode has an error with dsv4f in the input cache that causes higher consumption; i recommend spark 1.3 as an excellent alternative. i also recommend stopping the use of command code; it seems to me that it is another scam from india, in my humble opinion.” [source](https://www.reddit.com/r/opencode/comments/1wy6ac0/opencode_go_se_esta_gastando_más_rápido_que/pe08up1/)

## Top requests

What users ask to add or change, most asked first. 177 user-weeks ask for something. Requests do not change the Feedback Score. Rule: A separate pass by a large language model reads every counted post and extracts what the user asks the agent or its vendor to add or change, with the criteria it maps to and a short normalised wording; it does not touch the labels or the Feedback Score. A large language model groups the wordings within each criterion (the first criterion the request maps to) into themes, and a second pass merges themes that ask for the same change under different criteria; a merged theme sits under the criterion most of its requests map to, and code counts it once. A theme counts distinct user-weeks that ask for it, per agent; across agents, one user-week per agent. Themes asked in fewer than 2 user-weeks, and requests that share no theme, are not shown. Examples: up to 3 posts per theme from different users, without slurs: whole posts of 60 to 450 characters with at least 8 words beyond handles and links, posts of at most 280 characters first, then the newest.

| Rank | Request | User-weeks | Posts | Agents (user-weeks) |
|---|---|---|---|---|
| 1 | Cache hit and cost visibility | 20 | 20 | Claude Code 9, Cursor 3, OpenCode 3, OpenAI Codex 2, Pi 2, Devin 1 |
| 2 | Higher prompt cache hit rate | 18 | 24 | OpenCode 6, Claude Code 4, OpenAI Codex 4, Pi 2, Google Antigravity 1, Zed 1 |
| 3 | Longer prompt cache retention | 15 | 15 | Claude Code 11, OpenAI Codex 3, OpenCode 1 |
| 4 | Preserve cache across model or effort switches | 14 | 15 | OpenAI Codex 9, Claude Code 2, Pi 2, OpenCode 1 |
| 5 | Cheaper cached token pricing | 13 | 14 | Claude Code 6, OpenAI Codex 3, Cursor 3, OpenCode 1 |
| 6 | Stable cache-friendly system prompt prefix | 12 | 12 | Claude Code 3, OpenCode 3, OpenAI Codex 2, Cline 1, GitHub Copilot 1, Pi 1, Zed 1 |
| 7 | Preserve cache across compaction, handoff, subagents | 9 | 9 | Claude Code 5, OpenAI Codex 4 |
| 8 | User-configurable cache TTL and idle timeout | 9 | 9 | Claude Code 4, OpenAI Codex 2, Pi 2, Cursor 1 |
| 9 | Warnings before cache expiry or costly miss | 8 | 9 | Claude Code 5, OpenAI Codex 2, Pi 1 |
| 10 | Fix cache misses inflating usage | 8 | 8 | Claude Code 3, OpenAI Codex 3, OpenCode 2 |
| 11 | Preserve cache across session resumes | 8 | 8 | Claude Code 4, OpenAI Codex 3, Devin 1 |
| 12 | Restore or enable prompt caching on all plans | 7 | 8 | OpenAI Codex 2, OpenCode 2, GitHub Copilot 1, Cursor 1, Devin 1 |

### 1. Cache hit and cost visibility

- Claude Code, 2026-10-15, @ClaudeDevs (X): “@claudedevs will traces expose prompt cache hits because without them cost debugging stays incomplete” [source](https://twitter.com/1803494630366785536/status/2110676659540222083)
- Cursor, 2026-10-10, r/cursor (Reddit): “adding to the ttl point: at least claude code tells you what happened. since 2.1.260, /usage names a likely cause for the last cache miss. cursor gives you nothing to diagnose with, so a 3-10% request stays a mystery.” [source](https://www.reddit.com/r/cursor/comments/1x1r0my/opus_has_become_unusable_with_cursor/pf109dk/)
- Cursor, 2026-10-04, @cursor_ai (X): “@thegadgetsfan @cursor_ai that wasted spend usually hides in repeated context, not just the model choice. checking cache reads and fresh input per task would make the leak visible.” [source](https://twitter.com/2099080281130995720/status/2106729264728965405)

### 2. Higher prompt cache hit rate

- OpenCode, 2026-10-08, @opencode (X): “is there a problem with the cache of opencode go? it feels lower than directly connecting to the model provider's api. @opencode” [source](https://twitter.com/2030882346069880832/status/2108120657674502391)
- Pi, 2026-10-03, @pidotdev (X): “@ivanfioravanti @pidotdev need that 99.5% cache before the next local prefill” [source](https://twitter.com/1811332417099055105/status/2106393283509518551)
- OpenCode, 2026-09-30, r/LocalLLaMA (Reddit): “when they fix the cache hits and invalidation of cache for concurrent requests... it will. be golden! unfortunately my opencode decides to many times to send a parallel request and kills the already cached data” [source](https://www.reddit.com/r/LocalLLaMA/comments/1wtv43r/qwen38_flash_next_istadaslab_gguf_50ts_tg_and/pcz0bof/)

### 3. Longer prompt cache retention

- Claude Code, 2026-10-10, r/ClaudeCode (Reddit): “can you also use it for the 5 hour limit so that it keeps the cache alive until it resets?” [source](https://www.reddit.com/r/ClaudeCode/comments/1x0kdz4/wrote_a_hook_that_keeps_your_cache_alive_for_5/pf49v9c/)
- Claude Code, 2026-10-04, r/ClaudeCode (Reddit): “it's funny that a lot of people end up at the same solution. if only they didn't force subagents to have 5 min cache. then it could all be subagents on subagents on subagents.” [source](https://www.reddit.com/r/ClaudeCode/comments/1wxtpxs/what_are_yall_doing/pdwx6fp/)
- Claude Code, 2026-10-02, r/ClaudeCode (Reddit): “asking another question in the same session the next day is wasting tokens. it has to resubmit all the context of the conversation so far and because it’s more than an hour since you last interacted with that session it has to recreate the cache which is expensive.” [source](https://www.reddit.com/r/ClaudeCode/comments/1wvpffv/are_you_still_creating_fresh_sessions_or_work_in/pdej0b1/)

### 4. Preserve cache across model or effort switches

- OpenAI Codex, 2026-10-07, r/codex (Reddit): “i'm not talking about bugs, i'm talking about the actual feature as its supposed to be. at least in the api, changing the reasoning level mid-conversation is not supposed to break cache, as per the offical documentation ([a model guide for the gpt-6 family | openai]([link])).” [source](https://www.reddit.com/r/codex/comments/1wzvwco/do_you_want_this_feature_true_auto_chatgpt/pefg8sr/)
- OpenAI Codex, 2026-09-30, r/codex (Reddit): “i never imagined that openai will do it first they were so generous, but we will see i hope the cache reading for next openai model astra 6.1 will be cheaper only then that would be true” [source](https://www.reddit.com/r/codex/comments/1wtcrio/tibo_explains_the_pro_20x_changes/pcwrbil/)
- Pi, 2026-09-22, @pidotdev (X): “@pidotdev i think there should be a timer for cache busting! when the timer hits zero people can switch the model!” [source](https://twitter.com/1987272642827853824/status/2102423160113045553)

### 5. Cheaper cached token pricing

- OpenCode, 2026-10-10, r/opencode (Reddit): “those credits are someone else's quota, so the discount is on price, not on capacity. i work at coralbricks.ai and for a cache-heavy loop i would rather pay list and get cached reads at $0, since the repeated prefix is most of what gets sent.” [source](https://www.reddit.com/r/opencode/comments/1x1d9j9/orbio_currently_60_off_openrouter_rates_direct/pf1ij7n/)
- OpenAI Codex, 2026-10-08, r/codex (Reddit): “maybe a/b testing astra 6.1 with hopefully lower cache read cost?” [source](https://www.reddit.com/r/codex/comments/1x11xwx/have_they_increased_the_usage_you_get_on_astra/pepww2z/)
- Claude Code, 2026-10-08, @ClaudeDevs (X): “@claudedevs cache reads are the tax every agent pays on every tool call. cut that in half and long-horizon coding agents get real.” [source](https://twitter.com/1157848627/status/2108335138417377729)

### 6. Stable cache-friendly system prompt prefix

- Claude Code, 2026-09-09, r/ClaudeCode (Reddit): “if they did create [claude.md](http://claude.md) files and changed them frequently, that is where your money went. [claude.md](http://claude.md) is autoreloaded, busting cache. that makes it a very expensive experience on a fable.” [source](https://www.reddit.com/r/ClaudeCode/comments/1wbbsbk/fable_51_usage_consumption_my_experience/p8pkbc4/)
- OpenCode, 2026-09-03, @opencode (X): “@opencode anomaly should be the first to standardize this, why can’t x-agent-session be a common thing so any harness can properly cache on any provider” [source](https://twitter.com/1899967054167334912/status/2095465872743641174)
- Claude Code, 2026-09-01, @ClaudeDevs (X): “@claudedevs cheaper cache reads only help if the prefix holds. one tool list reshuffle mid-session and you're paying full writes again.” [source](https://twitter.com/2044076080890281984/status/2094857810882556092)

### 7. Preserve cache across compaction, handoff, subagents

- Claude Code, 2026-10-11, r/ClaudeCode (Reddit): “yes that's fine except making a handoff requires a cache miss vs chewing an ondisk jsonl” [source](https://www.reddit.com/r/ClaudeCode/comments/1x1ybwb/best_way_to_handle_cold_cache_hits_you_overpay_5x/pf66tsy/)
- OpenAI Codex, 2026-10-05, r/codex (Reddit): “meanwhile, what happened to forking threads? that was a great way to use your cache. gone!” [source](https://www.reddit.com/r/codex/comments/1wx7k6u/more_promises/pdxgyu5/)
- OpenAI Codex, 2026-09-10, r/codex (Reddit): “this solution would be so much more efficient if openai had looked into issue of losing cache context of parent to worker: [link]” [source](https://www.reddit.com/r/codex/comments/1wcr5c1/astra_vs_astra_luna_agents/p90jdrm/)

### 8. User-configurable cache TTL and idle timeout

- Claude Code, 2026-10-05, r/ClaudeCode (Reddit): “it should default to whatever is configured as the cache time imo.” [source](https://www.reddit.com/r/ClaudeCode/comments/1wy0kwu/made_a_plugin_so_claude_code_doesnt_rewrite_the/pe1uz8q/)
- Pi, 2026-09-09, @pidotdev (X): “@pidotdev @opencode pls copy this feature in settings allow to toggle off.” [source](https://twitter.com/1406875926/status/2097752417635107230)

### 9. Warnings before cache expiry or costly miss

- OpenAI Codex, 2026-09-17, r/codex (Reddit): “13x on a cache miss is nasty, and a 30-minute window you can't see is asking for a surprise bill. showing the remaining ttl would fix the worst part of this.” [source](https://www.reddit.com/r/codex/comments/1wixw9c/codex_badly_needs_a_cache_timeout_indicator_like/paffd1p/)
- Claude Code, 2026-09-11, @ClaudeDevs (X): “shout out to @t3dotcodes for having a more clear and prominent message about prompt cache expiration than claude code cli. shame on the @claudedevs vs code extension for having no message about prompt cache expiration.” [source](https://twitter.com/521050612/status/2098208203385241889)
- Pi, 2026-09-09, @pidotdev (X): “@pidotdev the 5 min idle one is painful. i need this kind of thing shouting before an agent quietly turns one run into a bill. does it show which switch caused it?” [source](https://twitter.com/2005423300303028224/status/2097745215029207465)

### 10. Fix cache misses inflating usage

- OpenCode, 2026-10-05, r/opencode (Reddit): “opencode has an error with dsv4f in the input cache that causes higher consumption; i recommend spark 1.3 as an excellent alternative. i also recommend stopping the use of command code; it seems to me that it is another scam from india, in my humble opinion.” [source](https://www.reddit.com/r/opencode/comments/1wy6ac0/opencode_go_se_esta_gastando_más_rápido_que/pe08up1/)
- OpenCode, 2026-09-23, @opencode (X): “frank/deepseek-v4.1-flash at @opencode can make deepseek-v4.1-flash feel like gtp-10, its eating tokens like crazy seem like cache issue , unusable” [source](https://twitter.com/1163317877904011270/status/2102837133837037744)
- OpenAI Codex, 2026-09-08, r/codex (Reddit): “pretty sure it's on cached tokens we're getting murdered. if they could fix that astra might actually be more effecient.” [source](https://www.reddit.com/r/codex/comments/1wav6nx/dont_fall_for_astras_efficiency/p8lxt67/)

### 11. Preserve cache across session resumes

- Claude Code, 2026-10-10, r/ClaudeCode (Reddit): “tried but didn’t like it as it reuses the sessions and would bomb usage on cache expiry.” [source](https://www.reddit.com/r/ClaudeCode/comments/1x2k7dz/if_you_dont_have_access_to_claude_code_projects/pf448ac/)
- Devin, 2026-09-18, @cognition (X): “@devinai, @cognition loading big sessions takes too long and it seems to not have any kind of cache between sessions swapping. please fix that :)” [source](https://twitter.com/64041638/status/2100936062142996708)
- Claude Code, 2026-09-11, r/ClaudeCode (Reddit): “\+1 yup, same exp. i think fable 5.1 got too expensive. im only using fable5.1 for planning/task delegation. it is particularly unforgiving when it comes to cold cache. reviving a big chat again is really expensive now.” [source](https://www.reddit.com/r/ClaudeCode/comments/1wdklro/did_usage_change_this_week_20x_max_plan/p97p2da/)

### 12. Restore or enable prompt caching on all plans

- Devin, 2026-10-18, @cognition (X): “@tcdwww @scarletkc @cognition it would be better to open an automatic cache for devin pro, with a limit of about 10%-15%! [link]” [source](https://twitter.com/1661026110656905217/status/2111676196907790394)
- GitHub Copilot, 2026-09-30, r/opencodeCLI (Reddit): “i took a look at their docs and it doesn’t look like it would work without breaking the prompt cache right now. copilot would need to support that first before it would to be worthwhile adding it to this.” [source](https://www.reddit.com/r/opencodeCLI/comments/1wtd0hr/jev_router_for_opencode_saves_40_of_tokens_on/pczoom7/)
- OpenAI Codex, 2026-09-12, r/codex (Reddit): “openrouter too, openai api too, anthropic api too, gemini api too, etc... all of them do it for the api, the point is we want it for the subscriptions too.” [source](https://www.reddit.com/r/codex/comments/1wdsjpe/please_give_us_a_slow_mode/p9fbjvl/)

## Every agent

| Agent | Overall rank | Reading | Customer love | 95% interval | n | Praise | Complaint |
|---|---|---|---|---|---|---|---|
| [Pi](https://feedbackbench.com/coding-agents/agents/pi.md) | 4 | 1st of 4 | 0.541 | 0.516–0.570 | 50 | 29 | 21 |
| [OpenCode](https://feedbackbench.com/coding-agents/agents/opencode.md) | 3 | 2nd of 4 | 0.503 | 0.476–0.534 | 125 | 40 | 85 |
| [Claude Code](https://feedbackbench.com/coding-agents/agents/claude-code.md) | 1 | 3rd of 4 | 0.497 | 0.454–0.540 | 373 | 107 | 266 |
| [OpenAI Codex](https://feedbackbench.com/coding-agents/agents/codex.md) | 10 | 4th of 4 | 0.461 | 0.428–0.495 | 228 | 52 | 176 |
| [Cursor](https://feedbackbench.com/coding-agents/agents/cursor.md) | 7 | Too few posts | – | – | 19 | 4 | 15 |
| [GitHub Copilot](https://feedbackbench.com/coding-agents/agents/copilot.md) | 9 | Too few posts | – | – | 8 | 3 | 5 |
| [Google Antigravity](https://feedbackbench.com/coding-agents/agents/antigravity.md) | 14 | Too few posts | – | – | 8 | 1 | 7 |
| [Cline](https://feedbackbench.com/coding-agents/agents/cline.md) | 11 | Too few posts | – | – | 5 | 2 | 3 |
| [Devin](https://feedbackbench.com/coding-agents/agents/devin.md) | 2 | Too few posts | – | – | 3 | 2 | 1 |
| [Amp](https://feedbackbench.com/coding-agents/agents/amp.md) | 5 | Too few posts | – | – | 2 | 0 | 2 |
| [Factory](https://feedbackbench.com/coding-agents/agents/factory.md) | 6 | Too few posts | – | – | 2 | 2 | 0 |
| [Warp](https://feedbackbench.com/coding-agents/agents/warp.md) | 15 | Too few posts | – | – | 2 | 1 | 1 |
| [Zed](https://feedbackbench.com/coding-agents/agents/zed.md) | 8 | Too few posts | – | – | 1 | 0 | 1 |
| [Kiro](https://feedbackbench.com/coding-agents/agents/kiro.md) | 13 | Too few posts | – | – | 1 | 0 | 1 |
| [Conductor](https://feedbackbench.com/coding-agents/agents/conductor.md) | 12 | Too few posts | – | – | 0 | 0 | 0 |
| [Grok Build](https://feedbackbench.com/coding-agents/agents/grok-build.md) | 16 | Too few posts | – | – | 0 | 0 | 0 |
| [Augment Code](https://feedbackbench.com/coding-agents/agents/augment.md) | 17 | Too few posts | – | – | 0 | 0 | 0 |

## Posts

Receipts rule: Up to 5 praise and 5 complaint posts per area and 3 per criterion. Each is a whole post of 60 to 450 characters (700 for areas) with at least 8 words beyond handles and links, that judges the criterion, whose labels are all praise or all complaint, and that contains no slur. Posts that touch the fewest criteria come first, then posts of at most 280 characters, then the newest. A second large language model reads the first 3 candidates per slot and keeps a post only if it clearly praises, or clearly complains about, the agent on that criterion. Links and personal details removed by the source show as marks such as [link].

### Pi

- Praise, 2026-10-07, r/PiCodingAgent (Reddit): “main model and subagent get around 90%+ cache hit after extensive usage, you can see my other replies on this to see why.” [source](https://www.reddit.com/r/PiCodingAgent/comments/1wzgr8b/pioptchat_never_compact_again_endless_chat_as_a/pec4hjn/)
- Praise, 2026-10-07, r/PiCodingAgent (Reddit): “you can see my other replies for details, but 90-95% cache hit, on main and subagent models.” [source](https://www.reddit.com/r/PiCodingAgent/comments/1wzgr8b/pioptchat_never_compact_again_endless_chat_as_a/pee97q5/)
- Praise, 2026-10-06, r/PiCodingAgent (Reddit): “here's my usage from last two days, the expensive models still get 90+% cache usage. [link]” [source](https://www.reddit.com/r/PiCodingAgent/comments/1wzgr8b/pioptchat_never_compact_again_endless_chat_as_a/pebpdc2/)
- Complaint, 2026-10-18, @pidotdev (X): “started tracking cache misses in @pidotdev and amazed at how often i miss cache :/ [link]” [source](https://twitter.com/1586651690148671488/status/2111634624141279365)
- Complaint, 2026-09-09, @pidotdev (X): “@pidotdev wait. i thought that if i continued using a single session by using pi -c to reopen the same session until i run out of the 1m context window, i won't end up missing cache. i run a session over 2 days with many gaps. looks like that's not how it works.” [source](https://twitter.com/176097933/status/2097738647693124026)

### OpenCode

- Praise, 2026-09-28, @opencode (X): “@hatem_hosny_ @opencode ya'll got a harness problem. opencode go serves straight from deepseek servers, which has incredible cache hit rates. check yourself, before you wreck yourself” [source](https://twitter.com/2006614499416223744/status/2104700935431995903)
- Praise, 2026-09-26, r/opencode (Reddit): “opencode 2 or 1.x? opencode 2 has better cache hit. it's entirely dependent on the harness you use.” [source](https://www.reddit.com/r/opencode/comments/1wqox6a/cheepseek_has_its_price_cache_hit_ratio/pc6u7tl/)
- Praise, 2026-09-25, @opencode (X): “@bolmercl @opencode maybe for very complex tasks. for most day to day coding it's very very cheap. 97+% cached tokens on most chats.” [source](https://twitter.com/101966910/status/2103527384444219699)
- Complaint, 2026-10-13, r/opencode (Reddit): “ok, its not just me then, i think opencode trying out multiple provider so that they can continue cheapseek, but that f'd up the cache hit rate so its actually more expensive now even though cheapseek increased budget to $80 thanks” [source](https://www.reddit.com/r/opencode/comments/1x502wd/deepseekv41flash_cache_hit_rate_is_like_non/pgi4jnv/)
- Complaint, 2026-10-13, r/opencode (Reddit): “uhhh no? i dont think thats how it works. here, same session, 16 minutes, cache hit got worse [[link]” [source](https://www.reddit.com/r/opencode/comments/1x502wd/deepseekv41flash_cache_hit_rate_is_like_non/pgi5b6d/)
- Complaint, 2026-10-13, r/opencode (Reddit): “i dont think thats the case ... [[link] its the same session, ran for about 16mins, cache hit is still effectively 0... so i think its a routing problem between providers rather than cache timed out ...” [source](https://www.reddit.com/r/opencode/comments/1x502wd/deepseekv41flash_cache_hit_rate_is_like_non/pgi9zi1/)

### Claude Code

- Praise, 2026-10-15, r/ClaudeCode (Reddit): “i push opus 5.5 up there all the time and it does fine. it’s more efficient to push it now (with cache working)” [source](https://www.reddit.com/r/ClaudeCode/comments/1x6j082/got_into_a_debate_work_about_why_my_token_usage/pgw4eo0/)
- Praise, 2026-10-09, @ClaudeDevs (X): “@claudedevs cache reads are most of the bill on my long agent loops, so halving them moves more than an input price cut would. might keep my cheap overnight jobs on sonnet now instead of dropping them to haiku 5.5.” [source](https://twitter.com/2030438197105491968/status/2108575865407967458)
- Praise, 2026-10-08, r/ClaudeCode (Reddit): “the cache read price cut on sonnet is the part i'm most happy about tbh. long sessions are mostly just cache reads anyway so that's where the bill actually goes” [source](https://www.reddit.com/r/ClaudeCode/comments/1x03lg8/introducing_claude_haiku_55_the_cheapest_fastest/pelmd7z/)
- Complaint, 2026-10-14, r/ClaudeCode (Reddit): “yes same here since like 4-5 days, but with claude code and i realise the context usage goes down drastically by that. because the cache write is not hit anymore. for 3rd party tools i guess it's annoying, i could not find a setting for it” [source](https://www.reddit.com/r/ClaudeCode/comments/1x5n49q/autocompact_self_triggers_when_idle/pgnqdls/)
- Complaint, 2026-10-12, r/ClaudeAI (Reddit): “but apparently not at the higher fable rate at least? 🤔 but yes, not ideal display. in the "usage" tab of claude code itself for the current session it looks to be broken out properly though. that the advisor gets zero cache is a significant cost dimension.” [source](https://www.reddit.com/r/ClaudeAI/comments/1x40uzs/advisor_doesnt_actually_count_towards_the_weekly/pfg31a0/)
- Complaint, 2026-10-11, r/ClaudeCode (Reddit): “had the same after breaks. on a big session the first message after you walk away re-sends the whole context to the cache, so a few of those and it's gone. do you resume old sessions a lot?” [source](https://www.reddit.com/r/ClaudeCode/comments/1x31cbp/maxing_out_20x_weekly_usage_mid_week/pf7fyh5/)

### OpenAI Codex

- Praise, 2026-10-17, r/codex (Reddit): “sol 6.1 with caching is stupid cheap.. other have skill issues” [source](https://www.reddit.com/r/codex/comments/1x8m8ho/not_sure_what_they_did_to_gpt_61_sol_usage/phedruk/)
- Praise, 2026-09-26, r/opencode (Reddit): “the low cache hit rate is due to the opencode harness. i've created a proxy to intercept token usage and cache hits, and using it in codex, i get a 98% cache hit rate” [source](https://www.reddit.com/r/opencode/comments/1wqox6a/cheepseek_has_its_price_cache_hit_ratio/pc7dltl/)
- Praise, 2026-09-22, r/codex (Reddit): “one of the best improvements in my opinion are the improvements in caching. you do not lose the cache anymore when changing reasoning level. this will make it way cheaper to temporarily escalate reasoning level” [source](https://www.reddit.com/r/codex/comments/1wnhmfd/basically_its_just_cheaper_solluna6_even_has/pbg3cfv/)
- Complaint, 2026-10-18, r/codex (Reddit): “i noticed this too, when we had 5h limits on $100/$200 plans. sometimes it resumed with complete garbage. it seems that when the cache gets cold you lose something with that.” [source](https://www.reddit.com/r/codex/comments/1x91po7/anyone_else_notice_claude_code_or_codex_rushing/phhol6b/)
- Complaint, 2026-10-18, r/codex (Reddit): “there were supposed to be cache fixes, but it seems instead they broke cache completely.” [source](https://www.reddit.com/r/codex/comments/1x96a0v/burning_through_usage_fast/phkddwa/)
- Complaint, 2026-10-12, r/codex (Reddit): “no, codex has random intermittent cache misses (it happens very often, you just don't see it—and that's on purpose). raising the compaction threshold is not a great idea. you do not get 30min guaranteed cache, far from that.” [source](https://www.reddit.com/r/codex/comments/1x49tci/should_i_upgrade_my_context_for_astra_at_500k/pfi0zs1/)

### Cursor

- Praise, 2026-09-21, @cursor_ai (X): “@cursor_ai @bot cursor projects change "one chat one task" to long-term collaboration, which is just right for the long-term roadmap of fable 5.1. the coordinator is always online, and repeatedly reading the context reduces cache reads by 75%, which has a greater impact on daily usage than piling up another leaderboard score.” [source](https://twitter.com/1800749035135074304/status/2101844640324292636)
- Complaint, 2026-10-03, r/cursor (Reddit): “cache write for non-composer/grok have skyrocketed for me ins the past couple months. it makes 3rd party models usage unfeasible. have already troubleshooted at my side but this seems to happen server side. is it the same to you?” [source](https://www.reddit.com/r/cursor/comments/1wwgje1/cursor_has_a_problem/pdl3dmb/)
- Complaint, 2026-10-02, r/cursor (Reddit): “am i the only one who is noticing that cache is bloating up the cost for no reason? last month for most of the days i ran cache is going crazy on me. love cursor but cache is eating up tokens like crazy. [link]” [source](https://www.reddit.com/r/cursor/comments/1wpvf4m/is_cursors_token_usage_abnormally_high_compared/pdgn0qd/)
- Complaint, 2026-09-02, r/cursor (Reddit): “cursor does break files into retrieval chunks, and that does cut tokens per call. the catch i hit is the fragment set changes every turn, so the prefix never repeats and cache-read goes basically to zero, while the whole-file path keeps reusing the same prefix at cache-read price. on a longer refactor the cheaper fragment path ended up costing more once i started logging cached\_tokens per response instead of tokens per call.” [source](https://www.reddit.com/r/cursor/comments/1w53g4e/claude_vs_cursor_using_the_same_models/p7esa4x/)

### GitHub Copilot

- Praise, 2026-09-02, r/ClaudeCode (Reddit): “prompts caching in cc is only 5 minutes right? so i would say yes. github copilot it is 24h by the way.” [source](https://www.reddit.com/r/ClaudeCode/comments/1w51gn6/would_i_save_on_usage_by_switching_to_a_cheaper/p7bpa9y/)

### Google Antigravity

- Praise, 2026-10-17, r/google_antigravity (Reddit): “not to be a party pooper, but there was huge improvement in caching and line range edits in v2.22. i saw a huge improvement in usage. what you are describing is just good development management.” [source](https://www.reddit.com/r/google_antigravity/comments/1x82w8e/a_skill_that_cuts_token_cost_by_75_and/phed6oy/)
- Complaint, 2026-10-15, @antigravity (X): “i think this is very likely true! antigravity incorrectly handled the cache and api discounts. @officiallogank @antigravity [link]” [source](https://twitter.com/1594959396764672000/status/2110639182523900023)
- Complaint, 2026-10-03, @antigravity (X): “@maasonder the quota is unusable... after 5 minutes whole 5 hour limit is gone on the pro plan... they don't use the cache read or write pricing, everything is going through the full pricing.... fix your usage @antigravity” [source](https://twitter.com/2077711754394472448/status/2106412929327464721)

### Cline

- Praise, 2026-09-12, r/opencodeCLI (Reddit): “this is the first thing i noticed. i make a large plan (90k tokens), switch to build and then immediately it starts prompt processing from scratch. the whole cache was invalidated! cline at least just puts another prompt to tell the model it switched modes.” [source](https://www.reddit.com/r/opencodeCLI/comments/1usvuib/cache_invalidation_when_switching_from_plan_to/p9g4kom/)
- Praise, 2026-09-24, @cline (X): “cline has improved a lot in a mean time, the cache hit rate is absolutely insane now great work, guys @cline [link]” [source](https://twitter.com/2017132628361822208/status/2103104236540375166)
- Complaint, 2026-09-28, @cline (X): “@cline the part that survives a long session is the resend, not the thinking. touch a standing instruction file mid-run and the cached prefix dies, so the next turn pays full input again.” [source](https://twitter.com/2092671220864958465/status/2104459419501408478)

### Amp

- Complaint, 2026-10-09, @AmpCode (X): “@sqs @ampcode hi quinn, thanks for getting back to me! one of our users is having an issue where they're trying to use opus 5.5 on venice with amp code but their cache hit rate seems to be super low (where it definitely shouldn't). i can get them to hit report bug” [source](https://twitter.com/1559149302756347906/status/2108493591886598645)
- Complaint, 2026-09-07, @AmpCode (X): “sometimes i come back to a thread after a long time and know the cost of resuming due to cache busting will be high. would be neat to be able to force compaction or resume from a summary @ampcode [link]” [source](https://twitter.com/33135576/status/2096802985645134185)

### Factory

- Praise, 2026-09-20, @FactoryAI (X): “look at this numbers. cache miss is 1% on deepseek byok wit @droid - this is unbelievable great!! that is the quality of a harness indicator in my opinion- key metric. @factoryai [link]” [source](https://twitter.com/1590702228234391552/status/2101737157379641558)
- Praise, 2026-09-20, @FactoryAI (X): “look at this numbers. cache miss is 1% on deepseek byok with @droid - this is unbelievable great!! that is the quality of a harness indicator in my opinion- key metric. @factoryai [link]” [source](https://twitter.com/1590702228234391552/status/2101737321368551459)
- Praise, 2026-10-09, @FactoryAI (X): “in my run on the 16th and 17th of september glm 5.3 was chosen about 53% of the time. other choices included opus, luna, and deepseek. they do a really good job of balancing what the prompt cache saves/gains for you as well when making the scoring decision. really cool too that in factory you can just ask it to walk through what auto did in a mission and it will give you this!” [source](https://twitter.com/1849004853546057728/status/2108457145049956588)

### Warp

- Complaint, 2026-09-18, @warpdotdev (X): “@vikvang1 @warpdotdev 4. pass prompt caching through on byok. your harness adds a big prefix every turn - without cache_control on anthropic endpoints, byok users pay full input price on the same 30k tokens each call!” [source](https://twitter.com/14132756/status/2100995017749967068)

### Zed

- Complaint, 2026-09-17, @zeddotdev (X): “@zeddotdev i was a big fan of zed, but i'm becoming so tired with it. it's a pain to review agent's work. the built-in agent seems to have severe caching issues and the acp, which i totally love, doesn't support clean reviews.” [source](https://twitter.com/1777822808506023936/status/2100657499468677214)
