Checking @ccstrategic.io's 20-Item Claude Code Token Checklist Against the Docs
Watch on TikTok
Eighteen of the twenty items on this checklist map to a real, documented Claude Code command, setting, or environment variable, and the two that do not are transcription errors rather than invented features. Charles Dove, who posts as @ccstrategic.io and runs Charlie Automates, spends 38 seconds reading a list of fixes at a character playing Claude while green checkmarks and red X marks stack up on screen. The video never shows a single command. The commands are the lead magnet, gated behind commenting "LIMITS." This post fills in the commands and checks each claim against Anthropic's documentation.
The twenty items and what each one actually is
Here is the on-screen list with the mechanism behind each item. Every command and key below appears in the Claude Code docs.
| On screen | What it maps to |
|---|---|
| Clear between tasks | /clear, documented advice for switching to unrelated work |
| Compact with focus | /compact [instructions], for example /compact focus on the auth bug fix |
| CLAUDE.md into nested files | Per-directory CLAUDE.md files, or .claude/rules/ with paths: frontmatter |
| Switch to opus plan | The opusplan model setting, Opus in plan mode and Sonnet during execution |
| Sub agents on sonnet | model: sonnet in subagent frontmatter, or CLAUDE_CODE_SUBAGENT_MODEL=sonnet |
| Check splash usage first | /usage, mis-transcribed from "slash usage" |
| Shrink auto compact window | /autocompact 500k, or claude --autocompact 500k at launch |
| Kill 1 min loops | Cancel /loop tasks and other scheduled tasks |
| Deny reading node modules | "deny": ["Read(node_modules/**)"] in permissions |
| Skills over CLAUDE.md | Skills load on demand, CLAUDE.md loads at session start |
| Cap bash output | bashOutputMaxChars, or BASH_MAX_OUTPUT_LENGTH |
| Read with offsets | The Read tool's offset and limit parameters |
| Grep before read | A behavior request, not a setting |
| Edit diffs, not rewrites | Use the Edit tool rather than rewriting a file with Write |
| Status line context % | /statusline, reading context_window.used_percentage |
| Set max turns headless | claude -p --max-turns 3 "query" |
| Plan mode before edit | Shift+Tab to cycle into plan mode |
| Stop max effort everywhere | /effort, where max carries the highest token cost |
| Resume don't re-explain | claude --resume or --continue |
| ccusage audit | ccusage, a third-party npm CLI |
Two items need correcting. "Check splash usage first" is the auto-captioner mangling "slash usage," meaning the /usage command. "CC usage audit" in the audio and "CCUSAGE AUDIT" on screen refer to ccusage, an open-source CLI by ryoppippi that reads Claude Code's local JSONL session files and reports daily, weekly, monthly, and per-session token counts. It is not an Anthropic product and it does not touch your account, so it only sees usage from the machine it runs on.
The caption's cost claim is half right
The caption says "Every message re-sends your whole context." That part is accurate. Anthropic's prompt caching page states it plainly: "the model doesn't remember anything between requests, so Claude Code re-sends the full context: the system prompt, your project context, every prior message and tool result, and your new message."
What the caption leaves out is the price. Claude Code caches that prefix, and cached reads are "billed at roughly 10% of the standard input rate." So a long session does keep charging you for its whole history on every turn, at a tenth of the rate, not full freight. That changes which fixes matter. Shrinking CLAUDE.md by 50 lines saves you a tenth of 50 lines per turn. Avoiding a cache miss saves you the full prefix at full rate.
The docs list what causes those misses: switching models mid-session, changing effort level, connecting or disconnecting an MCP server, accumulating enough images that Claude Code drops the oldest ones, and compaction. Each one makes the next request reprocess everything from scratch. The video puts "switch to opus plan" and "stop max effort everywhere" on the list without noting that doing either mid-session is itself a full cache rebuild. The opusplan setting is the sharper example, since every toggle in and out of plan mode swaps the model and starts a fresh cache.
You can check your own numbers. Run /usage and read the Prompt cache (main) line, which shows the request count, the share of input tokens served from cache, the miss count, and whether the cache is warm. When Claude Code can identify a cause for the last miss it names it, for example likely cause: tool definitions changed.
The auto-compact window is the largest lever on the list
"Shrink auto compact window" gets one line in a stack of twenty, and on a 1M-context model it is probably the biggest single change here.
Auto-compaction fires when the conversation reaches a threshold. On models with a native 1M window, including Sonnet 5 and Opus 4.7 and later, that default sits at roughly 967K tokens. Every turn before that point carries the accumulated history. Running /autocompact 200k moves the summarization to a far smaller context, so the history each turn re-reads stays bounded. Accepted values run from 100K to 1M, with k and M suffixes, and /autocompact auto restores the model's tuned default. There is also a --autocompact launch flag and a CLAUDE_CODE_AUTO_COMPACT_WINDOW environment variable, which takes highest precedence.
The related one-liner, "kill 1 min loops," has a documented mechanism behind it. A /loop task fires on its interval even when the session sits idle, and each fire sends your full context. Claude Code's minimum interval for a /loop or Desktop task is one minute. Recurring tasks expire seven days after creation, which caps how long a forgotten loop runs but does not help you inside those seven days. On a paid plan, /usage shows a Loops row for the heaviest scheduled tasks with total and per-run tokens.
"Nested files" only helps if you split it the right way
"CLAUDE.md into nested files" is the item most likely to be implemented wrong, because Claude Code has two ways to split a CLAUDE.md and only one of them saves tokens.
The @path/to/import syntax looks like splitting, and it is not. The docs are explicit: "Splitting into @path imports helps organization but doesn't reduce context, since imported files load at launch." You get tidier files and the same token bill.
What does reduce context is a CLAUDE.md inside a subdirectory, which loads only when Claude reads a file in that directory, or a file in .claude/rules/ with paths: frontmatter, which loads only when Claude touches a matching file. The neighboring checklist item, "skills over CLAUDE.md," works the same way and is documented as its own cost-reduction strategy: skills contribute a one-line description to the startup index and load their full body only when invoked. Anthropic's stated target is keeping CLAUDE.md under 200 lines.
What the video omits
Three documented savings never appear on the list.
Extended thinking is billed as output tokens, and the docs note the default budget "can be tens of thousands of tokens per request depending on the model." On models with a fixed thinking budget you can set MAX_THINKING_TOKENS=8000. The checklist's "stop max effort everywhere" touches the same territory through /effort, which is the right control on adaptive-reasoning models, but it skips the budget knob entirely.
Preprocessing hooks are absent. Anthropic's own example is a PreToolUse hook that rewrites a test command to grep for failures, cutting a 10,000-line log to a few hundred tokens. That does more than capping bash output at a character count, because a cap truncates arbitrarily while a filter keeps the part you needed.
Cost caps in headless runs get half a mention. --max-turns is on the list. --max-budget-usd is not, and it stops a print-mode run at a dollar figure, including spend from subagents.
One more thing the video does not say: the checklist is a lead magnet. The commands live behind a comment gate, so what you can actually verify from the video is twenty phrases and nothing else.
Key Takeaways
- Eighteen of the twenty items map to a documented command, setting, or environment variable. The two exceptions, "splash usage" and "CC usage audit," are auto-caption errors for
/usageand the ccusage CLI. - "Every message re-sends your whole context" is accurate, but prompt caching bills that re-read at roughly 10% of the standard input rate, so the fixes that avoid cache misses matter more than the ones that shave a few lines off CLAUDE.md.
- Switching models and changing effort level mid-session both invalidate the cache and force a full reprocess. The video recommends both without the caveat.
/autocompact 200kis the highest-leverage item on the list for 1M-context models, where the default threshold is around 967K tokens.- Splitting CLAUDE.md with
@pathimports saves nothing. Per-directoryCLAUDE.mdfiles and.claude/rules/withpaths:frontmatter are the versions that load on demand. - Unverified: the video makes no measurable claim, and "same plan, way more runway" has no number attached to it. The actual 20-command checklist is gated behind commenting "LIMITS," so none of it is visible in the video or checkable from it. ccusage is third-party software from an independent maintainer, not an Anthropic tool.
Resources
- Claude Code: How Claude Code uses prompt caching -- what re-sends every turn, what it costs, and the full list of actions that invalidate the cache
- Claude Code: Manage costs effectively -- Anthropic's own token reduction guide, including
/clear,/compactinstructions, model choice, and hook preprocessing - Claude Code: Configure your model --
/autocompactvalues, default auto-compact thresholds per model, effort levels, andCLAUDE_CODE_SUBAGENT_MODEL - Claude Code: How Claude remembers your project -- why nested CLAUDE.md files load on demand and
@pathimports do not - Claude Code: Subagents -- the
modelfrontmatter field and how subagent context windows stay isolated - Claude Code: Run prompts on a schedule --
/loop, the one-minute minimum interval, and the seven-day expiry - Claude Code: Configure permissions -- deny rule syntax, including how
Read(dir/**)matches at any depth - Claude Code: Environment variables --
BASH_MAX_OUTPUT_LENGTH,MAX_MCP_OUTPUT_TOKENS, andMAX_THINKING_TOKENSwith their defaults - Claude Code: Customize your status line -- the
/statuslinecommand and thecontext_window.used_percentagefield - Claude Code: CLI reference --
--max-turns,--max-budget-usd, and--autocompact - ryoppippi/ccusage -- the third-party CLI that reports Claude Code token usage from local JSONL files
- Charlie Automates -- Charles Dove's site, where his Claude Code guides and templates live
Published September 18, 2026. Writeup generated from a favorited TikTok.