What does Claude Code cost to run?
Claude Code costs whatever tokens it uses, so your real spend depends on the model, the size of your context and how long your sessions run. Anthropic's cost docs put it plainly: "Claude Code charges by API token consumption."
As a rough benchmark, not a price, the same page says that across enterprise deployments the average is around $13 per developer per active day and $150 to $250 per developer per month, with 90% of users staying below $30 per active day (as of October 2026). Your number can be far lower or higher.
How that spend reaches you depends on how you sign in:
- Pro or Max plan: usage counts against your plan limits. You only pay more if you turn on usage credits.
- Team or Enterprise seat: usage draws from your seat allowance, which resets on a five-hour window and a weekly window.
- Claude Console (API): every token is billed per token to your organization.
- Amazon Bedrock, Google Cloud or Microsoft Foundry: billed to your cloud account.
For plan prices and limits, see the Claude Code pricing guide. This page is about the other half: seeing where your tokens go and spending fewer of them.
How do you track Claude Code cost?
Start with one command:
/usage
/cost and /stats are aliases for the same screen, per the commands reference. What you see depends on your account.
With an API account, the Session block shows a total cost, API duration, wall time, lines changed and a per-model token breakdown with cache reads and writes. Claude Code computes that dollar figure locally at list price, so it is an estimate. Your Console usage page is the real bill. Since v2.1.211, these totals reset when /clear starts a new session.
On a Pro, Max, Team or Enterprise plan, the session dollar figure isn't relevant for billing. Instead you get plan usage bars and a breakdown of what counts against your limits:
- Attribution: recent usage split across skills, subagents, plugins and individual MCP servers, as percentages.
- Recommendations: one suggested change per row, such as trimming a large
CLAUDE.md. Each row starts with the share of recent usage it applies to, at least 10%. That share is not the saving. - Loops: the heaviest
/loopand other session-scoped scheduled tasks, with run counts and tokens per run.
Press d or w to switch between the last 24 hours and the last 7 days. On v2.1.305 or later, when the footer shows a hint like f to fix 2 of 3, press f and Claude Code applies the recommendations it can, showing you each change first. These numbers come from session history on this machine, so usage from other devices or claude.ai is not included.
Other places to look
- Prompt cache line: on v2.1.251 or later, the Session block adds a
Prompt cache (main)line with the share of input served from cache, misses and whether the cache is still warm. - The spinner: the token count next to it is the output of the current turn only, not your context.
/context: shows what is filling the context window right now. See the context window guide./insights: writes an HTML report about how you work, including friction points, to~/.claude/usage-data/report.html. The analysis runs through your own account, so the report itself uses tokens.- Status line: can show session cost or context use all the time; see the status line guide.
Why does Claude Code use so many tokens?
Most of the cost of a turn is the context sent with it, not your prompt. The cost docs list the usual reasons a session that has been open for hours uses more than you expect:
| Cause | Why it costs |
|---|---|
| Long context | The full conversation goes with every request, and each tool result adds another request |
| Cache misses | Your first message after a break longer than the cache lifetime reprocesses the whole context |
| Scheduled tasks | A /loop fires on its interval even while the session is idle, sending your full context each time |
| Subagents and workflows | Each subagent sends its own requests on top of the main conversation |
| Agent teammates | Each active teammate keeps using tokens until it exits |
| Compaction | /compact reads the whole conversation it summarizes, so compacting a big context is a big request |
There is also a small amount of background usage, such as summarizing past conversations for claude --resume. Anthropic says this is "typically under $0.04 per session."
How do you reduce Claude Code cost?
These are the levers Anthropic recommends, roughly in order of impact.
Match the model to the job
The docs say Sonnet "handles most coding tasks well and costs less than Opus." Keep Opus for complex architecture or multi-step reasoning. Switch with /model mid-session or set a default in /config. A switch to Opus also applies to subagents that inherit your session's model, so give simple subagents model: haiku in their configuration. The models guide covers the options.
Lower the effort level
Thinking tokens are billed as output tokens, and the default budget "can be tens of thousands of tokens per request depending on the model." For simple tasks, lower the effort with /effort. Supported models take low, medium, high, xhigh or max, and /effort auto clears your saved level so the model's default applies. You can't turn thinking off on Opus 5.5, Sonnet 5.5, Haiku 5.5 or the Fable models, so effort is the control there.
Keep context lean
- Clear between tasks.
/clearstarts fresh and costs nothing. Run/renamefirst so you can/resumethe old session later. - Compact with a focus.
/compact Focus on code samples and API usagetells Claude what to keep. - Trim CLAUDE.md. It loads at every session start. The docs suggest keeping it under 200 lines and moving workflow instructions into skills, which load only when used. See the CLAUDE.md guide.
- Disable unused MCP servers. Tool definitions are deferred by default, but server instructions still load. Run
/mcpand turn off what you don't use. CLI tools likeghadd no tool listing at all.
Push noisy work out of the main conversation
Subagents keep verbose output, such as test runs or log processing, in their own context and return a summary. Their requests still count, so give them a smaller model. A PreToolUse hook can also filter output before Claude sees it, for example returning only failing tests instead of a full test log.
Work in a way that wastes less
- Write specific prompts. "Add input validation to the login function in auth.ts" costs far less than "improve this codebase."
- Use plan mode before big changes, so a wrong direction is caught before code is written.
- Press Escape as soon as Claude heads the wrong way, and use
/rewindto go back. - Keep agent teams small. The docs say teams use about 7x more tokens than standard sessions when teammates run in plan mode.
How do you cap spend for scripts and teams?
For automation, --max-budget-usd stops a print-mode run once its estimated spend reaches your limit, per the CLI reference. Subagent spend counts toward the cap.
claude -p --max-budget-usd 2 "fix the failing test in tests/auth.test.ts"
See the headless mode guide for more on claude -p.
For organizations, the controls depend on the setup:
| Setup | See spend | Cap spend |
|---|---|---|
| Team or Enterprise | Spend report in org analytics | Usage credit spend limits for the org, groups or members |
| Claude Console | Console usage page | Workspace spend limits |
| Bedrock, Google Cloud, Foundry | Your cloud billing console | Your cloud's budget controls |
When you first sign in to Claude Code with a Console account, a workspace called "Claude Code" is created automatically for tracking. If your company pays contracted rates, an admin can set the modelPricing managed setting (v2.1.242 or later) so the figures in /usage match your rates. To stream per-user cost metrics into your own tools, use OpenTelemetry, covered in the monitoring guide.
Spend less by reusing what works
A reusable prompt or skill saves tokens twice: Claude stops rediscovering your setup, and you stop rewriting long instructions. Kipt keeps your prompts and Agent Skills as Markdown in a private GitHub repo you own, with {{name}} blanks for the parts that change. You can install every skill into Claude Code with npx skills add https://github.com/<you>/<repo>.git --all -g, so instructions live in skills that load on demand instead of in a long CLAUDE.md.