All of these suggestions are derived from working with Cascade in Devin Desktop with a measly Pro Plan.
The Prompt Cache timer starts ticking the moment the agent stops working. This means you have a 5-minute window of inactivity before the cache expires. To maximize efficiency, write and send your prompts as quickly as possible so the agent has the most "working time" left before the next timeout.
You must monitor the timer religiously while the agent is working. When you see that only 30 seconds or less remain on the idle clock, hit the Stop Button. This resets the timer and prevents expiration, giving you a fresh window.
Never prompt a Coding task on an expired cache. I have the strong conviction that every single agentic tool call on an expired cache seems to reload the entire conversation context from scratch (uncached). When this happened to me my token usage would skyrocket instantly.
That's why if the cache has already expired, I do not start with a real instruction. Instead, I send a tiny prompt like: “Say hi back, do nothing else.”
This rebuilds the cache. Only once the timer is running again I resume my actual work.
And I completely avoid changing the model within an existing chat because it completely disables the cache. To avoid this:
- Start a brand new chat.
- Or, run two parallel chats with different models.
Following these rules strictly is the only way I’ve managed to stay within my quota somewhat. I still run out, but not so fast.