80%. That's how much developers building with Claude's API report cutting their token costs by rethinking one thing: what context they actually need to send per request.
Claude charges by the token. Tokens are small chunks of text - roughly 4 characters each, or about 0.75 words. You pay for every token going in (your instructions, conversation history, documents) and every token coming back out. In a long coding session or a multi-turn chatbot conversation, the input side of that bill can get absurd fast.
The problem is compounding context. By default, most apps send the entire conversation history with every new message. Ten messages in, you might be sending 8,000 tokens of history just to ask one follow-up question. A hundred API calls later, you've paid for the same old conversation dozens of times over.
Where the Waste Hides
The biggest culprits are easy to spot once you're looking:
- Stale conversation history. Early messages in a long thread rarely matter for the current task. Summarize and compress old turns rather than forwarding them verbatim.
- Oversized system prompts. Detailed instructions are useful, but not every request needs every instruction. Trim your system prompt to what's actually relevant to the current task type.
- Document dumping. Pasting entire files or long URLs when only a specific section matters. Extract just the relevant chunk before sending.
- Repeated context. Sending the same boilerplate (user profile, business rules) on every call instead of using Anthropic's prompt caching feature, which stores repeated input sections so you don't pay full price for them each time.
What Actually Works
Prompt caching - Anthropic's feature that lets you mark stable parts of a prompt and cache them server-side - can drop costs significantly on its own for anything with consistent instructions. Beyond that, conversation summarization is the highest-leverage change: instead of appending every prior message, replace older history with a compact summary once the conversation passes a certain length.
For coding assistants specifically, context pruning matters most. Claude doesn't need to see every file you've ever shown it - just the ones relevant to the current change. Developers using tools like Claude Code already benefit from some of this automatically, but custom API integrations don't get that for free.
The 80% figure won't apply to every use case. Simple single-turn requests don't accumulate context debt. But for anyone building agents, chatbots, or coding tools on top of Claude's API, auditing your average input token count before and after a few of these changes will probably surprise you.