Skip to content

Prompt Cache Pitfalls

Claude Code caches the conversation so each new turn only pays full price for the new tokens. Several mid-session switches throw that cache away. The deeper into a session you are, the more it costs.

Each model has its own cache. After /model, the next request reads the entire conversation history with no cache hits.

That means the “sensible” move of dropping to Haiku for a quick question 100k tokens into an Opus session is often more expensive than letting Opus answer. You pay to build a Haiku cache for the full context, then pay again to rebuild the Opus cache when you switch back.

Pick the model at the start of a session, or use /btw, /branch, or /subtask for side work instead of switching.

Claude Code asks you to confirm a /model switch while the cache is still warm. That prompt is the warning that you are about to pay for a full uncached re-read.

opusplan counts too. It resolves to Opus in plan mode and Sonnet during execution, so each plan-mode toggle is a model switch and starts a fresh cache.

On most models the cache is keyed by effort level as well as model, so changing /effort mid-session has the same cost as a model switch. Claude Code asks you to confirm first while the cache is warm.

The exception is Fable 5.1 on an API key or a Claude subscription (v2.1.260 or later), where an effort change keeps the cache. It still resets on Amazon Bedrock, Google Cloud’s Agent Platform, and a Claude apps gateway.

Fast mode (/fast) runs Opus 5 or Opus 4.8 at up to 2.5x speed at a higher per-token price. If your current model does not support it, Claude Code switches you to Opus, which is a model switch of its own. Three things to know before toggling it:

  1. It bills to usage credits, not your plan. On Pro, Max, Team, and Enterprise it is only available through usage credits and draws from them even if you have plan usage left.
  2. It persists across sessions. Once on, it stays on in new sessions until you run /fast again. Set "fastModePerSessionOptIn": true in settings if you want each session to start with it off.
  3. Enabling it mid-conversation re-bills the whole context. The first time fast mode turns on in a conversation you pay the full fast-mode uncached input price for everything already in context. This happens once per conversation, so toggling off and on again later does not repeat it.

If you want fast mode, turn it on before the first message.

Decide model, effort, and fast mode at the start. Changing any of them later is a one-time charge proportional to how much context you have built up.

Run /context to see how much that is before you switch.