8 Habits to Stop Burning Tokens with AI Coding Tools
Most developers burn AI tokens the same way they used to burn cloud credits: by not paying attention. Every message you send to an AI coding tool also sends the context with it: the earlier chat history, the files it has read, and the tool output. When usage grows, it's rarely because of one huge p

Most developers burn AI tokens the same way they used to burn cloud credits: by not paying attention.
Every message you send to an AI coding tool also sends the context with it: the earlier chat history, the files it has read, and the tool output. When usage grows, it's rarely because of one huge prompt. It's because of context piling up quietly in the background.
Here are the habits that cut my usage the most without slowing me down.
When a task is done, clear the context before you start the next one. A long chat re-sends old history with every turn, so you keep paying for a bug you fixed an hour ago.
In Claude Code, /clear does this. In other tools, just start a new chat.
Put your stack, conventions, folder layout, and common commands in a rules file: CLAUDE.md for Claude Code,.cursorrules or project rules for Cursor, or your tool's equivalent.
Keep it short. It loads into every session, so a bloated rules file costs you tokens on every single request.
The first one gives the agent a target. The second one invites it to explore.
Ask for a short plan and approve it before the agent writes any code. Claude Code has a dedicated plan mode for this. A wrong direction caught at the plan stage costs a few hundred tokens. Caught after implementation, it costs you a full rewrite loop.
Renames, boilerplate, test scaffolding, and formatting don't need your most expensive model. Switch to a smaller or faster model for routine work, and save the big one for architecture decisions and hard debugging.
Paste the exact stack trace, the failing command, and what you expected to happen. "It's broken" makes the agent read through half your repo trying to reproduce the problem.
Build output, lockfiles, generated code, and large fixtures waste context when they get read. Cursor supports.cursorignore. In Claude Code, you can deny reads to specific paths in your settings permissions.
When a session gets long but the work isn't finished, ask for a summary of the decisions made and the current state. Then start fresh and paste the summary in. Claude Code's /compact does a version of this for you.
Token efficiency isn't about being cheap. It's about context hygiene. A clean, focused context is cheaper, and it also gives you better output, because the model isn't sorting through stale or irrelevant information.
What's your biggest token-waster? Let me know in the comments.