{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "ClaudeUsage.dev First-Party Research Manifest",
  "description": "Sanitized index of first-party measurements, experimental conditions, and findings from ClaudeUsage.dev.",
  "updated_at": "2026-10-07",
  "studies": [
    {
      "id": "2026-10-03-cloud-session-rate-limit-telemetry",
      "date": "2026-10-03",
      "title": "Cloud Session Credits and Claude's reported plan usage",
      "canonical_url": "https://www.claudeusage.dev/cloud-session-credits/",
      "research_url": "https://www.claudeusage.dev/research/#study-1-cloud-session-credits",
      "question": "Does cloud session execution under active promotional Cloud Session Credits consume reported 5-hour or 7-day subscription plan limits?",
      "environment": {
        "platform": "Anthropic-hosted Claude Code cloud session (claude.ai/code)",
        "client_version": "Claude Code 2.1.288",
        "model": "claude-opus-5-5",
        "thinking_effort": "high",
        "auth_type": "OAuth (promotional Cloud Session Credit balance)",
        "session_duration_minutes": 22,
        "api_key_present": false,
        "claude_p_mode": false,
        "agent_sdk_used": false,
        "subagents_used": false
      },
      "measurements": {
        "deduplicated_model_requests": 44,
        "summed_usage_tokens": 8348115,
        "cache_read_percentage": 97.0,
        "observed_rate_limit_events": 4,
        "checkpoints_utc": ["22:39", "22:40", "22:51", "23:01"],
        "reported_five_hour_resets_at_utc": ["03:30", "03:40", "03:50", "04:00"],
        "rate_limit_type": "ccr_promotional",
        "status": "allowed",
        "reported_five_hour_utilization": 0,
        "reported_seven_day_utilization": 0,
        "promotional_reset_timestamp": "2026-11-05T08:00:00Z"
      },
      "strongest_finding": "In our October 3 test while promotional Cloud Session Credits were active, Claude Code identified the active rate-limit bucket as ccr_promotional. Across four rate-limit events during approximately 22 minutes of Opus 5.5 cloud work, its reported five-hour and seven-day utilization fields remained at 0.",
      "supporting_observation": "The reported five-hour reset timestamp moved forward with the clock rather than remaining fixed during the observation.",
      "what_it_does_not_establish": [
        "Does not prove cloud sessions never consume plan limits in any circumstance.",
        "Does not establish behavior after promotional credits expire on November 5, 2026 at 08:00 UTC (midnight Pacific).",
        "Does not prove Anthropic's internal quota formula or backend billing mechanics.",
        "Summed tokens represent cumulative request contexts with 97.0% cache reads, not 8.35 million net unique generation tokens."
      ],
      "evidence_scope": "Single-session first-party telemetry during an active promotional period. Direct observation of runtime payloads, not universal future behavior."
    },
    {
      "id": "2026-10-03-web-tool-side-model-usage",
      "date": "2026-10-03",
      "title": "Model work Claude Code counts outside the main local transcript",
      "canonical_url": "https://www.claudeusage.dev/check/",
      "research_url": "https://www.claudeusage.dev/research/#study-2-outside-transcript-work",
      "question": "Why can Claude Code's own model-usage and cost accounting diverge from a total reconstructed strictly from model requests in the local JSONL session transcript?",
      "environment": {
        "platform": "Anthropic-hosted Claude Code cloud session (claude.ai/code)",
        "client_version": "Claude Code 2.1.289",
        "model": "claude-opus-5-5",
        "thinking_effort": "high",
        "prompt_suggestions_enabled": true
      },
      "controlled_sequence": {
        "turn_1": "No web calls (reconciled exactly with local transcript)",
        "turn_2": "2 WebFetch calls (conditional Haiku model request: 1 fetch produced 226 input / 81 output tokens; 1 ~67 KB documentation fetch produced zero model calls)",
        "turn_3": "2 WebSearch calls (accompanied by 24,725 Haiku 4.5 input tokens and 848 output tokens valued at $0.048965 list price)"
      },
      "measurements": {
        "turns_measured": 3,
        "transcript_derived_list_price_usd": 1.987,
        "claude_code_model_usage_total_usd": 2.106,
        "absolute_difference_usd": 0.118986,
        "relative_difference_percentage": 5.65,
        "websearch_side_model": "claude-haiku-4-5-20251001",
        "websearch_calls_observed_total": 4,
        "websearch_haiku_concurrence_count": 4
      },
      "strongest_finding": "In this measured session, a cost reconstructed only from model requests present in the local JSONL transcript came in 5.65% below Claude Code's own model-usage total. Claude Code counted additional model work that the main local transcript did not contain.",
      "safe_websearch_wording": "In two Claude Code cloud sessions we observed, all four WebSearch calls were accompanied by Claude Haiku 4.5 usage.",
      "what_it_does_not_establish": [
        "Does not claim WebSearch always or permanently invokes Haiku 4.5.",
        "Does not claim 5.65% is a universal discrepancy across sessions or workloads.",
        "Does not establish fixed per-search token pricing across Claude Code releases.",
        "Does not establish any impact on 5-hour or 7-day subscription quota meters.",
        "Does not evaluate or make claims about third-party monitoring utilities."
      ],
      "evidence_scope": "Mechanism observed across two independent cloud sessions for WebSearch. Exact 5.65% discrepancy belongs strictly to the primary 3-turn controlled session."
    },
    {
      "id": "2026-10-04-statusline-payload-contract",
      "date": "2026-10-03",
      "title": "What Claude Code statusline fields are actually computed from",
      "canonical_url": "https://www.claudeusage.dev/statusline/",
      "research_url": "https://www.claudeusage.dev/research/#study-3-statusline-fields",
      "question": "What internal data structures populate Claude Code statusline fields, and how does statusline execution behave in headless cloud environments?",
      "environment": {
        "platform": "Anthropic-hosted Claude Code cloud session (claude.ai/code) and shipped code analysis",
        "client_version": "Claude Code 2.1.289",
        "model": "claude-opus-5-5",
        "thinking_effort": "high",
        "measured_turns": 4,
        "web_calls": 0,
        "subagents": 0
      },
      "measurements": {
        "cost_field": "cost.total_cost_usd",
        "cost_source": "Claude Code cumulative list-price ledger",
        "turn_end_cost_match": true,
        "four_turn_cumulative_ledger_usd": 6.798175,
        "four_turn_transcript_cost_usd": 6.531,
        "four_turn_difference_usd": 0.267163,
        "four_turn_difference_percentage": 3.93,
        "resolved_context_window_size": 1000000,
        "turn_final_context_percentages": [16, 19, 24, 29],
        "turn_final_context_tokens": [158000, 194000, 238000, 289000],
        "duration_metric": "Wall-clock elapsed session time in ms including idle time",
        "refresh_mechanism": "Triggers on assistant message stream (300 ms debounce), state changes, and resets_at boundaries",
        "cloud_statusline_executions": 0,
        "cloud_statusline_observed_requests": 29
      },
      "strongest_finding": "In Claude Code 2.1.289, the statusline cost field uses Claude Code's own cumulative list-price ledger. In our measured Opus 5.5 session, that ledger was approximately 3.9% higher than a reconstruction from model requests present in the main transcript because Claude Code counted additional model work outside that transcript.",
      "cloud_execution_finding": "In our claude.ai/code cloud session, a configured statusLine did not execute. This observation is consistent with Claude Code 2.1.289's shipped code placing statusline execution in the terminal UI path while this cloud session ran headlessly.",
      "what_it_does_not_establish": [
        "Does not claim every Opus 5.5 session receives a 1,000,000-token context window.",
        "Does not claim the 3.9% discrepancy rate is fixed across sessions or configurations.",
        "Does not establish that statusline hooks fail in Desktop Code, local terminals, IDE extensions, or other cloud architectures.",
        "Does not establish a permanent payload contract for future unreleased Claude Code versions."
      ],
      "evidence_scope": "Strong for Claude Code 2.1.289 and the measured session. Synthesizes shipped-code inspection with runtime telemetry and Anthropic documentation."
    },
    {
      "id": "2026-10-07-claude-code-task-cost-intensity",
      "date": "2026-10-07",
      "title": "What one Claude Code task cost on Opus, Sonnet, and a long context",
      "canonical_url": "https://www.claudeusage.dev/research/claude-code-cost/",
      "research_url": "https://www.claudeusage.dev/research/claude-code-cost/",
      "dataset_url": "https://www.claudeusage.dev/research/claude-code-cost-study.json",
      "question": "How much do model choice, effort level and a long cached context change the API-equivalent cost of the same Claude Code build task?",
      "environment": {
        "platform": "Anthropic-hosted Claude Code cloud container, headless, one process per run, runs sequential",
        "client_version": "Claude Code 2.1.292",
        "models": [
          "claude-opus-5-5",
          "claude-sonnet-5-5"
        ],
        "thinking_effort": [
          "high",
          "medium"
        ],
        "measured_runs": 22,
        "stages": {
          "1A": 8,
          "1B": 14
        },
        "billing_bucket_observed": "ccr_promotional"
      },
      "measurements": {
        "unit": "API-equivalent USD at Anthropic list prices per task turn, reconciled to Claude Code's ledger at 0.000% difference",
        "stage_1b_median_task_usd": {
          "opus_5_5_high_fresh": 0.4456,
          "opus_5_5_medium_fresh": 0.3555,
          "sonnet_5_5_high_fresh": 0.0925,
          "opus_5_5_high_long_context_nextjs_docs": 1.5157,
          "opus_5_5_high_long_context_vim_docs_control": 1.4341
        },
        "stage_1b_median_ratio_vs_opus_high_fresh": {
          "sonnet_high": 0.208,
          "opus_medium": 0.798,
          "long_context": 3.402,
          "irrelevant_long_context_control": 3.219
        },
        "long_context_seed_tokens": 205328,
        "cold_seed_cost_usd_range": [
          1.6546,
          1.6734
        ],
        "warm_seed_cost_usd": 0.1979,
        "functional_assessment_v2_core_pass": "22 of 22 builds",
        "hidden_selection_reassigned_too": {
          "opus": "17 of 17",
          "sonnet": "1 of 5"
        },
        "browser_verification_attempted": {
          "opus": "17 of 17",
          "sonnet": "0 of 5"
        }
      },
      "strongest_finding": "On one Next.js build task in Claude Code 2.1.292, Sonnet 5.5 High's Stage 1B median API-equivalent task cost was about 0.21x Opus 5.5 High's, and every Sonnet run in both stages cost less than every Opus High run. Running the same Opus task after about 205,000 tokens of cached context raised its median to about 3.4x, mostly from re-reading that context on every request; irrelevant material of similar size did much the same.",
      "what_it_does_not_establish": [
        "Does not measure Claude subscription quota, five-hour or weekly limit consumption, or rate limits.",
        "Does not establish equal quality between Sonnet and Opus builds; the functional assessment did not score hidden-selection behavior or code quality.",
        "Does not establish a universal model ranking or a cost multiplier for other tasks.",
        "Does not pool Stage 1A and Stage 1B; the planned pooling criterion failed.",
        "Does not include the cost of building the long context in the 3.4x task comparison.",
        "Does not establish a stable saving from medium effort; runs overlapped."
      ],
      "evidence_scope": "22 runs of one task on one morning, two or three runs per condition per stage plus two control runs. Revised functional assessment written after Stage 1A and frozen before Stage 1B. Stage 1B plan written before the first process started and committed seconds after."
    }
  ]
}
