Excerpt from the Claude Code Migration Playbook, Edition 2 (251 pages, $19 once, Gumroad). No signup, no email capture. This is the complete Triggers 1–5 section of Chapter 2, reproduced from the delivered PDF.
Each trigger below has the same four parts: the dated source event, why it is a trigger rather than noise, how to measure it against your own account, and one numeric threshold. If you run the five measurements and none of them trip, you do not need this book — that is a real outcome, and it is stated as such at the end.
The chapter below was written against an evidence horizon of March–May 2026. The dated events are unchanged, but one instruction has aged and you should know that before you spend time on it.
The chapter tells you to run /usage --json. That flag does not exist. I established this on
2026-08-02 while correcting a different book of mine — typing it returns error: unknown option '--json'.
(Updated 2026-08-12: the first version of this note said only that the literal string is absent from the
2.1.228 binary and called it "unverified". That was weaker than what I already knew. I had measured the
actual failure ten days earlier and did not check my own notes before writing the note. Which is, with
some irony, the exact failure mode this preview exists to document.)
The working single-call form, measured on 2026-08-02:
claude -p "ok" --output-format json | jq '.usage'
# {"input_tokens": 13, "cache_creation_input_tokens": 21512,
# "cache_read_input_tokens": 212933, ...}That gives you one call's numbers. The Trigger 1 threshold below is defined across a full day of work, so you want the aggregate instead — which is what the command further down does.
The numbers themselves are still there, and you can get them without that command. Every assistant message in your session transcripts carries the fields the thresholds are built on. On the transcript for the session I ran this check in, all 113 messages that carried usage data carried both fields:
# Trigger 1 ratio from your own transcripts (last 7 days).
# Fields verified present on Claude Code 2.1.228, 2026-08-12.
find ~/.claude/projects -name '*.jsonl' -mtime -7 -print0 \
| xargs -0 cat \
| python3 -c '
import json, sys
create = read = 0
for line in sys.stdin:
try: d = json.loads(line)
except ValueError: continue
m = d.get("message")
u = m.get("usage") if isinstance(m, dict) else None
if not u: continue
create += u.get("cache_creation_input_tokens", 0)
read += u.get("cache_read_input_tokens", 0)
total = create + read
print(f"cache_creation = {create:,}")
print(f"cache_read = {read:,}")
print(f"ratio = {create/total:.3f}" if total else "no cache traffic found")
'Compare the printed ratio against the Trigger 1 threshold below (> 0.40). Everything else in the
chapter is unchanged from the delivered edition.
Source event. In early March 2026, Claude Code's prompt-cache time-to-live shortened from
ephemeral_1h to ephemeral_5m. No changelog entry; no user announcement. Surfaced publicly in Issue
#46829 with 119,866 calls over 92 days as evidence. A separate r/ClaudeAI analysis of 1,140 sessions
measured the before/after shift as 39 cache-busts-per-day rising to 199 per-day, with average daily
spend moving from $6.28 to $15.54.
Why it is a trigger, not just noise. The 5-minute TTL is short enough that any conversational pause — reading a file, waiting for a build, replying to a Slack message, refilling coffee — invalidates the cache. Cache-miss cost is real dollars on the API side and real minutes against the 5-hour Max quota window. Users who never bumped the quota cap before began hitting it in April for the first time.
Measure it against yourself. From a recent Claude Code session on v2.1.118 or later, examine the
cache_creation_tokens versus cache_read_tokens fields over your last full working day. (See the
editor's note above for a command that works on 2.1.228.)
Trigger threshold:
cache_creation / (cache_creation + cache_read) > 0.40across a full day of work.
Interpretation: if more than 40% of your cache-relevant traffic is creation rather than read, the 5-minute TTL is actively costing you. The healthy baseline under 1h TTL for a typical heavy user sat in the 0.10–0.20 range.
Anthropic response record. Through an April 13 Register piece, Anthropic stated the TTL change did
not cause quota drain at the scale users reported. The Issue was subsequently closed "not planned" on
the API-user side, with Max-quota implications handed off to Issue #45756. The configurational closure
shipped two days after that close: v2.1.108 (2026-04-14) added ENABLE_PROMPT_CACHING_1H to opt into
1-hour TTL on API key, Bedrock, Vertex, and Foundry, plus FORCE_PROMPT_CACHING_5M for cost-sensitive
subagent workflows (changelog). Users running v2.1.121 should hold the env var until Issue #54485
(cache_control payload rejection bug) is resolved; users on prior versions can export
ENABLE_PROMPT_CACHING_1H=1 immediately and pair it with the operational levers in Chapter 4.
Source event. Opus 4.7 shipped 2026-04-16 with a new tokenizer. Anthropic's release notes acknowledged "roughly 1x to 1.35x as many tokens" relative to 4.6. Independent measurement by Simon Willison (simonwillison.net, 2026-04-20) recorded a system-prompt ratio of 1.46x and total cost inflation around 40%. The long-context retrieval benchmark MRCR moved from 78.3% (4.6) to 32.2% (4.7), a 46-point regression; 256k 8-needle retrieval moved from 91.9% to 59.2%.
Why it is a trigger, not just noise. The change is fully silent from the user's perspective: same
prompts, same codebase, same IDE, but the session cap arrives 30–40% earlier. Users running 4.7 on
repetitive work measured the effect within days; users on 4.6 via ANTHROPIC_MODEL=claude-opus-4-6
experienced no inflation — the divergence is clean and attributable.
Measure it against yourself. Compare the two most recent equivalent working days — same project,
similar task type, both on the same Claude Code version. Export usage data for each. Compute
total_input_tokens on the 4.7 day divided by the 4.6 day.
Trigger threshold: measured ratio > 1.30× on equivalent work.
Interpretation: you are paying 30%+ more for the same output. On the $200/month Max 20× plan, that is effectively the difference between meeting and missing your daily quota before end-of-business.
Workaround caveat. Pinning to 4.6 via ANTHROPIC_MODEL=claude-opus-4-6 works today. Its availability
is tied to Anthropic's deprecation schedule and is not guaranteed indefinitely.
Source event. On 2026-04-21, Anthropic silently removed Claude Code from the $20/month Pro plan. HN thread #47855832 collected 400+ comments within twelve hours and a measurable 10x spike in mass-cancellation search queries over 48 hours. On 2026-04-22, Anthropic reversed the change for an announced 98% of users, with 2% retained as a continuing test. Head of Growth Amol Avasare published a public correction. Simon Willison's subsequent coverage (simonwillison.net, 2026-04-22) captured the residual uncertainty.
Why it is a trigger, not just noise. The event is a trigger only for Pro subscribers, but for that cohort it is uniquely serious: the contractual stability of a $20/month subscription is now a question rather than a given. The 2% continuing test means some readers of this book are still in the removed state as of 2026-04-25. Even for the 98% restored, the precedent is established.
Measure it against yourself. This trigger is not measured from usage data; it is measured from your subscription status.
Trigger threshold (Pro users): any of the following is true — (a) you were in the affected 2% cohort, (b) your workflow has a critical daily dependency on Claude Code that you cannot tolerate losing on 24 hours' notice, or (c) your total monthly AI-tooling budget is elastic but your Pro subscription is the only Claude-capable entry.
Interpretation: for Max subscribers, this trigger does not fire. For Pro subscribers meeting any of the three conditions above, Chapter 5 (Path B — Switch Platforms) and Chapter 6 (Path C — Hybrid DIY Stack) both deserve evaluation.
Source event. A cluster of five Issues landed between 2026-04-23 and 2026-04-24 documenting
Anthropic-side quota-meter bugs: #52472 (reset occurring before scheduled time), #52484 (reset schedule
misalignment), #52497 (counter dropping mid-cycle while resets_at remained in the future), #52498
(reset occurring ~2 days early with the displayed time shifting backward), and #52921 (Max 20× weekly
counter resetting on a ~24-hour cycle instead of the documented 7-day cycle; the reporter confirmed via
Anthropic's Fin support channel that the observed behavior contradicts documented specifications but Fin
could not escalate, making GitHub Issues the only remaining engineering-reach surface). The cluster
represents a quota-metering bug distinct from consumption-side issues like the cache TTL regression —
here the meter itself is unreliable.
Why it is a trigger, not just noise. Quota that cannot be predicted cannot be budgeted. Teams that schedule heavy-token work around known reset windows lose the ability to do so. Individual users lose the "Friday afternoon I have quota left to try the big refactor" plannability.
Measure it against yourself. Over any recent 7-day cycle, compare the quota reset time displayed in Claude Code at the start of the cycle against the time the counter actually resets.
Trigger threshold: displayed reset time differs from observed reset time by more than 6 hours in either direction, or the counter changes by more than 20% in a single observed hour outside a known bulk job.
Interpretation: if your cycle shows this pattern, your quota budgeting is fictional, and the cost-forecast worksheet in Chapter 7 cannot produce reliable projections on this plan until the Anthropic-side fix lands.
Source event. 2026-04-04 announcement that third-party harnesses (OpenClaw, Cline, Aider running against a Claude Code subscription) will require separate API billing rather than consuming subscription tokens (techcrunch.com, 2026-04-04). Tightening and clarification through 2026-04-23–24 extended the constraint to Cline-based workflows and to subscription-account use of Claude API keys from non-Anthropic IDEs. Tyler Folkman's widely circulated "$45/month DIY stack" (tylerfolkman.substack.com, 2026-04-12) — published between the two policy moves — became partially out of compliance within eleven days.
Why it is a trigger, not just noise. The third-party CLI/IDE ecosystem was the primary cost-optimization path for high-burn users. Policy moves that close that path change the migration calculus materially for exactly the subscribers most likely to consider migration.
Measure it against yourself.
Trigger threshold: you were using, planning to use, or have budgeted for any of Cline / Cursor-via-Claude-API / Aider / OpenClaw against a Claude Code subscription in the next 60 days.
Interpretation: if so, either Path B (Switch Platforms entirely, with a non-Anthropic API key underneath) or Path C (Hybrid DIY Stack on a personal API tier) replaces the previous expectation. Chapter 6 walks through the compliance-safe version of Folkman's recipe.
The book does not treat one tripped trigger as a migration recommendation. One trigger is a signal to watch; two to evaluate; three or more to begin the forecast exercise in Chapter 7 and to read Chapters 4–6 with intent. Zero tripped triggers means you are likely in the Path A cohort whether you realize it or not — which is fine, and Chapter 4 is written for you.
This is Triggers 1–5 of Chapter 2. Edition 2 adds six more triggers in the same format — Trigger 11 (silent regression and quota burnout), 12 (billing-system failure), 13 (claim-reality divergence), 14 (irreversible-operation cluster), 15 (programmatic credit pool separation, the June 15 2026 split), and 16 (project-scoped settings as a security class) — for eleven in total. It also contains the three migration paths with a six-axis competitor grid, the cost-forecast worksheet, the decision tree, a 48-hour rollback checklist, and four appendices of dated sources.
If none of the five thresholds above trip on your own numbers, do not buy the book. That is the honest outcome of running the measurements, and it is why the measurements are the free part.
If they do trip: Claude Code Migration Playbook — $19 once, Edition 2, no subscription
Written by yurukusa, an independent Claude Code operator. Everything above is reproduced from the delivered PDF; the editor's note is the only added material, and it is dated and marked as such.