The 50% rule
Full Lesson Reference
Claude's context window fills as a session progresses. At 50% full, quality starts degrading - Claude forgets instructions, hallucinates details, repeats itself. The 50% rule is the discipline that prevents degradation. Most important session-management rule in Claude Code.
Why 50% (not 80% or 100%)
Claude doesn't break at 50%. It degrades gradually
- 0-30% - fresh, sharp, best-quality work
- 30-50% - still functional, starting to lose edge
- 50-70% - noticeable degradation: forgetting, repeating, small mistakes
- 70-90% - significant degradation: wrong answers, missed context, made-up details
- 90%+ - unreliable, often worse than useless
50% is where the curve starts bending. Push past it = more errors, more re-work, slower overall.
The cost equation
Why 50%? Not 80%?
- Pushing to 80% to "squeeze more" - 30% extra capacity at 50% reduced quality
- Wrapping at 50% - 30 seconds to /wrapup + 2 minutes ramp-up = 2.5 minute reset
Pushing feels productive (more work in this session). It costs you more than resetting (re-work, lost quality, drift). Reset is almost always cheaper.
Watching the context
You need visibility. Options
ccstatusline (recommended)
A terminal add-on that puts a live status bar at the bottom of your Claude Code session showing context percentage, current model, git branch, session cost, and more. The single most useful tool for context awareness - install it before anything else in this module.
What it shows
- Context % - live percentage of your context window used. The number you watch for the 50% rule.
- Model - which Claude model you're on (Opus / Sonnet / Haiku). Stops you doing serious work on a smaller model by accident.
- Git branch - the branch Claude is working in. Prevents commits to the wrong branch.
- Session cost - running token cost of the current session.
- Session time - how long this session has been active.
- Optional extras - working directory, line count changes, token burn rate.
Install it
This one's a direct terminal command - it's a one-time interactive setup, like installing Claude Code itself. Open a new terminal tab (outside Claude) and type:
terminalnpx ccstatusline@latest
A menu appears. Use arrow keys to pick which items you want on the status bar (context %, model, branch, cost - tick the ones you want). Press Enter to save.
The tool writes the config to your Claude Code settings automatically. Next time you start claude, the status bar is there.
Reconfigur e anytime
Run the same command again to change what's shown
terminalnpx ccstatusline@latest
Pick different items, save, restart Claude. That's the whole config loop.
What to put on the bar
Minimum recommended for marketers: context %, model, session cost. That covers the 50% rule, model check, and bill awareness.
Add git branch if you push to GitHub often. Add session time if you lose track of how long you've been in a session.
Don't overload the bar - every extra item is less space for the important ones. Start with 3-4.
Ask Claude periodically
How full is the context window right now? Rough percentage.
Claude gives you an estimate. Ask every 5-10 messages on long sessions.
Watch for symptoms
Even without a status line, you'll feel when context is full:
- Claude re-creating something you already made
- Claude asking about a preference you already set
- Claude's output gets more generic
- Responses start taking longer
- Claude gets confused about which project you're in
Any of those = probably over 50%. /wrapup.
The /wrapup + restart workflow
When you hit 50%
- Take stock - "summarise what we accomplished + what's pending"
- Run /wrapup (saves to memory, commits, pushes)
- Close the terminal tab
- Open a new terminal tab in the same folder
- Type claude
- Run /startup
- Claude reads the memory from step 2, hands you a recap
- Continue working from ~15-25% context
Total cost: 2-3 minutes. Total benefit: the rest of your session works at full quality.
Don't use /compact
Claude Code has a built-in /compact feature that compresses your current context. It feels like a magic "keep going" button.
Don't use it
- Compaction keeps the confusing fragments but loses the useful details
- Claude doesn't know what's important vs throwaway - it compresses everything equally
- You get the worst of both worlds: bloated residue + lost context Always /wrapup + fresh session instead. Takes the same time. Gives you a clean start.
When 50% hits faster than expected
If you find context fills up in 5 messages, the culprit is usually:
- Baseline too high - audit per Lesson 2
- Large file reads - reading a 20-page PDF or a 100K-row CSV
- MCP tool calls with big responses - "pull 12 months of every campaign" returns a wall of data
- Repetitive re-reading - Claude reads the same file 5 times because your prompts don't reference the file path clearly
Fix the root cause. Don't just wrap up more often.
When you're mid-flow at 50%
Hard situation: you're deep in a complex task, 60% context, wrapping up feels disruptive.
Do it anyway. The alternative is pushing through at degraded quality, making mistakes, and re-doing work after discovery. Cost: 30 minutes of rework vs 3 minutes of reset.
Mitigation: before /wrapup, spend extra time on the summary:
Before we /wrapup - I'm mid-flow on [complex task]. Write a VERY detailed summary of what we've done so far, what the next specific steps are, and any decisions I've made that might otherwise get lost. Then /wrapup with that summary.
Next session's /startup loads this verbose summary. Ramp-up becomes 30 seconds instead of 5 minutes.
Power-user tips
- Install ccstatusline first - single most useful tool for context awareness; npx
ccstatusline@latest in any terminal
- Plan wrap-up points - natural breakpoints in the work (end of a phase, a decision made, a deliverable drafted)
- Run /wrapup before switching projects - even if you're not at 50% yet
- Write verbose summaries at 50%+ - more context saved to memory = faster next session
- Never use /compact - zero exceptions
Action items
☐ Run npx ccstatusline@latest to install the status bar; pick context %, model, cost as a minimum
☐ Lock in the rule: /wrapup + restart at 50%
☐ Never use /compact
☐ Practice writing verbose summaries before /wrapup when mid-flow
☐ If context fills fast, audit baseline per Lesson 2
Next lesson: Tools that cut token usage.
Exercises
- Review the concepts covered in this lesson: The 50% rule.
- Write down your key takeaway from this lesson.
- Practice running any commands or prompts mentioned above inside your terminal.