DEV Community

Adela for BetterToken.ai

Posted on Originally published at bettertoken.ai

Claude Code Context Usage: Diagnose Unnecessary Tokens

Claude Code Context Usage: Diagnose Unnecessary Tokens

In the Claude Code community, a user reported that a fresh session started at roughly 35,000 tokens and later dropped to about 13,000 after cleaning up repository instructions. That is a useful reminder to inspect your own project setup, but not a universal benchmark: codebase size, instruction length, MCP tools, and measurement methods differ across projects.

You can inspect your setup in two controlled runs. Measure baseline context using native Claude Code commands and API metadata, modify exactly one reversible context source, and repeat the same request. Then compare token usage, cost, and task correctness.

Measure baseline context with built-in commands

You do not need to guess context sizes. Claude Code provides native commands:

  • /context — displays the breakdown of active context: project instructions, connected MCP tools, cached files, and conversation history;
  • /cost — outputs token consumption (input, output, cache) and estimated cost for the current session.

For a separate API workflow, the API Dashboard provides per-request accounting: input tokens, output tokens, cache hits, HTTP status, and actual balance charges.

Use one task with a checkable answer

Start with a small read-only query that does not modify files:

Find where validateInvoice is defined.
Name the function file and one test that checks an empty amount.
Do not edit anything.
Enter fullscreen mode Exit fullscreen mode

This request produces a clear binary outcome: two correct file paths or a failure.

Before running, fix the baseline variables:

  • identical Git branch and commit revision;
  • identical prompt text;
  • identical model selection;
  • identical project instructions, skills, and MCP tools;
  • expected target paths for the function and test.

Run A: record the baseline metrics

Open a fresh session, execute /context to inspect baseline load, run the test query, and record the metadata:

Field Run A
Request status 200 OK
Input tokens 18,420
Output tokens 310
Cache tokens 0
Cost / charge $0.026
Result correct function and test identified

These figures illustrate the comparison worksheet and format verified on August 18, 2026 against current BetterToken pricing. In your own project, record the live numbers from /cost or your dashboard.

Do not include API keys, private source code, full proprietary prompts, or sensitive logs in notes. Metadata, source names, and task outcomes are sufficient.

Prioritized diagnostics order

Do not disable all configuration at once. Investigate context sources in priority order:

  1. Project Instructions (CLAUDE.md) — check for outdated build logs, duplicated API specs, and oversized reference blocks.
  2. MCP Servers and Skills — disconnect heavy external tools that are not needed for the current isolated task.
  3. Session History — ensure old tasks or long terminal outputs are not polluting context (use /compact or start fresh with a handoff if needed).
  4. File Read Scope — restrict search scope to specific directories if the agent scans the entire repository tree.

Suppose CLAUDE.md contains a 12,000-line build log. Make one reversible change: move the log to docs/build.log and keep a concise pointer in CLAUDE.md. Do not change the model, MCP tools, or prompt at the same time.

Run B: repeat the query and compare metrics

Keep the revision, model, and prompt unchanged. After the single modification, rerun the request and complete the A/B comparison table:

Field Run A Run B Difference
Request status 200 OK 200 OK Success
Input tokens 18,420 6,180 -12,240
Output tokens 310 295 -15
Cache tokens 0 0 0
Cost / charge $0.026 $0.009 -$0.017
Function found yes yes unchanged
Test found yes yes unchanged

If input tokens dropped but Run B identified the wrong test or ignored a mandatory project constraint, the change degraded performance. Restore the original instruction.

Step-by-step verification

Retain configuration changes only when all five criteria are met:

  1. Single variable per test: exactly one context source changed.
  2. Maintained accuracy: the function and test are correctly located.
  3. Constraint preservation: safety, styling, and architectural rules remain enforced.
  4. Usage confirmation: /cost and the dashboard confirm expected metadata changes.
  5. Secondary confirmation: the result is reproduced on one more small task.

Compare API usage in BetterToken Dashboard

For your own API workflow, the BetterToken Dashboard displays balance, active model, exact timestamp, HTTP status, input, output, and cache tokens, along with the resulting charge. Match records by timestamps from Runs A and B and record them in your comparison table. The dashboard stores request metadata without storing complete private prompt text or responses.

BetterToken provides independent Anthropic-compatible API access with pay-as-you-go billing, separate from Claude.ai subscriptions. Check the current BetterToken documentation for Claude Code, generate an API Key in your workspace, and track token usage directly in the dashboard.

Diagnostic summary

The purpose of context optimization is removing irrelevant noise without losing essential context. Measure baseline context with /context and /cost, adjust one source at a time, verify task accuracy, and cross-reference API usage metadata.

Sources


Originally published on the BetterToken blog.

BetterToken provides pay-as-you-go access to AI model APIs through
OpenAI-compatible and Anthropic-compatible endpoints — useful if you are wiring
Claude Code, Codex, or your own tooling to a custom base URL.
See the docs to get started.

Top comments (0)