AI token usage and cost tracking patterns — per-session monitoring, budget alerts, model cost comparison, and optimization. Trigger: When tracking AI costs, setting usage budgets, comparing model costs, or optimizing token consumption.
AI token usage and cost tracking for per-session monitoring, budget alerts, and optimization.
AI API costs are invisible by default. Without tracking: costs spiral, cache opportunities are missed, expensive models do cheap work, and no visibility into which projects consume the most budget.
Goal: Maximize value per dollar, not minimize cost.
.claudeignore to exclude irrelevant filesOpus ($15/$75) → Only for: architecture, security, complex bugs
Sonnet ($3/$15) → Default for: most coding tasks
Haiku ($0.80/$4) → For: formatting, simple edits, boilerplate
Free (Qwen) → For: local exploration, drafts, throwaway
1 session for 5 bugs = ~1.5x cost. 5 separate sessions = 5x cost.
Store costs in append-only JSONL:
.ai-costs/
sessions.jsonl # All sessions
reports/ # Generated reports
Extract tokens from Claude Code: claude --output-format json -p "prompt" | jq '.usage'
Configure in .ai-config/cost-limits.yaml:
@reference references/pricing-reference.md — Load when checking token prices, calculating costs, or configuring model routing rules
@reference references/code-examples.md — Load when implementing cost logging scripts, budget checkers, report generators, or auto-log hooks
| Metric | Formula | Target |
|---|---|---|
| Daily spend | Sum cost_usd for today | < $10 |
| Cost per session | Daily / sessions | < $0.50 |
| Cache hit ratio | cache_read / (input + cache_read) | > 60% |
| Budget utilization | Monthly spend / budget | 50-80% |
.ai-costs/sessions.jsonl # Cost log
.ai-config/cost-limits.yaml # Budget config
.ai-config/model-router.yaml # Model routing