Cindy Zhu.
← all free guides
Power-user Claude

Cut your Claude Code bill by up to 80%: the 8-fix setup guide

Hey, it's Cindy ๐ŸŒฑ This is your full setup guide for the 8 fixes from the carousel. None of them are about writing better code. They are one-time settings and habits that stop Claude Code from quietly burning tokens on context you never asked it to load. Do the first two right now, save the rest for a slow afternoon, and watch the number drop.
read this first

First, one thing to get straight ๐Ÿ“

This is all about Claude Code, the terminal app you run on your computer to build things with AI. It is a different product from the claude.ai website and the desktop app. Everything below (the commands, the files, the hooks) lives inside Claude Code. If you only ever use Claude in the browser, this guide is not for you (yet).

The 80% is a stack, not one magic switch. Each fix removes one place your tokens leak. Turn on all eight and the savings compound. Start with fix 01 so you can actually see the difference as you add each one.

do these now

The 2 fixes to do right now โšก

These take about two minutes total and save you money immediately. If you do nothing else, do these.

Fix 01: turn on a statusline ๐Ÿ“Š

Before you can cut costs, you have to see them. A custom statusline adds one live line at the bottom of your Claude Code window showing your current model, how full your context window is, and how much you have spent this session. It turns an invisible bill into a number you watch in real time.

Follow this free step-by-step tutorial, it walks you through the whole setup: learn.nextwork.org/projects/claude-code-statusline

๐Ÿ’ก Set this up first. Once you can see the spend ticking, every other fix on this list becomes obvious.

Fix 02: three commands worth knowing โŒจ๏ธ

You type these straight into Claude Code. They cost nothing and save you constantly.

/model haiku Switches Claude to Haiku, Anthropic's cheapest and fastest model. Use it for simple tasks that do not need heavy reasoning (renaming things, quick edits, formatting). Switch back when you need the big brain.
/effort low Tells Claude to skip the deep thinking on simple tasks, so it stops spending reasoning tokens on jobs that do not need them.
/clear Wipes your context window after you finish a task. Stale output from the last job stops sitting there burning space on the next one. Run it between unrelated tasks.
โŒจ๏ธ the three commands
/model haiku
/effort low
/clear
Two minutes to learn, savings on every single session after.

set and forget

The 2 one-time file setups ๐Ÿ“

You create these once per project and they keep saving you forever.

Fix 03: add a .claudeignore file ๐Ÿšซ

Make one file called .claudeignore in your project folder and list the folders Claude should never read. Things like node_modules, build output, and log files are usually thousands of lines of auto-generated junk that eat your context every session without adding anything useful. One file, and that bloat is gone permanently.

A simple starter .claudeignore:

๐Ÿšซ a starter .claudeignore
node_modules/
.next/
dist/
build/
*.log
.env
package-lock.json

Fix 04: keep your main rules file lean ๐Ÿ“„

Claude Code loads a main instructions file (your CLAUDE.md) at the start of every single session. The longer it is, the more you pay before you have typed a word. Keep it under about 200 lines. Move anything specialized (rules for one specific folder, instructions for one type of task) into smaller files inside a .claude/rules/ folder. Claude only loads those when it is actually working in that area, not every time.

Less loaded automatically equals more room for the real work.

work differently

The 2 architecture moves ๐Ÿ—๏ธ

A small mindset shift in how you hand Claude work. Both keep your main session clean.

Fix 05: use skills instead of re-explaining โ™ป๏ธ

A Claude Code skill is a saved workflow with a name. Instead of re-typing the same long instructions every time, you set it up once, then just type /its-name and Claude runs the whole thing. Skills live on your computer and only load into your context when you actually call one, so they are not sitting in your session burning tokens all day. Common ones people make: a test runner, a docs writer, a pull-request reviewer. Set up once, used forever.

Fix 06: hand big jobs to a subagent ๐Ÿค

Some jobs (like running your full test suite) dump thousands of lines into your context window, and you pay for every line. A subagent does the job in its own separate context window and hands back only the summary. The messy middle never touches your main session, so your context stays clean and cheap.


for power users

The 2 hooks (for power users) ๐Ÿ”ง

Hooks are little scripts Claude Code runs automatically at set moments. These two are the most advanced fixes on the list, but they are also where the biggest savings hide. If you are comfortable editing a settings file, do them.

Fix 07: a PreToolUse hook to filter noise ๐Ÿช

Some commands dump thousands of lines into your context before Claude reads a single word. A PreToolUse hook runs a small filter script before that output ever reaches Claude, stripping out everything except the useful signal. You set it in .claude/settings.local.json. Claude reads less, you spend less.

A minimal shape of the hook (it points at a small script you write to trim the output):

๐Ÿช the PreToolUse hook
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "$CLAUDE_PROJECT_DIR/.claude/filter-output.sh"
          }
        ]
      }
    ]
  }
}

Fix 08: a SessionStart hook to auto-load your state ๐Ÿš€

Every new session, if you have to re-explain your branch, your recent commits, and your open tasks, that is paid context you are typing out by hand. A SessionStart hook injects all of it automatically the moment a session opens: current branch, last few commits, open pull requests, failing checks. You type nothing, Claude already knows.

The same .claude/settings.local.json, with a SessionStart hook added (it runs a script that prints your project state):

๐Ÿš€ the SessionStart hook
{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "$CLAUDE_PROJECT_DIR/.claude/load-state.sh"
          }
        ]
      }
    ]
  }
}

the bonus

Bonus: caveman mode ๐Ÿฆด

A free, open-source skill with 70,000+ stars on GitHub. Install it and Claude stops padding its replies with filler and explanation you already know. Responses shrink by up to 65%, and your code, commands, and error messages are left untouched, only the waffle gets cut.

Three levels, pick by how aggressive you want it:

  1. Lite A gentle trim. Good for most tasks.
  2. Full Standard brevity. The daily driver.
  3. Ultra Maximum compression. For when every token counts.

Get it free here: github.com/JuliusBrussee/caveman


the run order

The full picture ๐Ÿงฉ

Most Claude Code users have none of these turned on. The 80% does not come from one change, it comes from stacking eight small removals, every place your tokens were disappearing without doing anything useful.

Here is the run order:

  1. Do right now: statusline (fix 01) + the three commands (fix 02).
  2. One-time files: .claudeignore (fix 03) + a lean rules file (fix 04).
  3. Habits: lean on skills (fix 05) and subagents (fix 06) for big jobs.
  4. Power-user hooks: the PreToolUse filter (fix 07) + the SessionStart auto-load (fix 08).
  5. Bonus: install caveman mode for shorter replies on top of all of it.
Start with fix 01 so you can watch the number shrink as you add each one. That feedback loop is what makes the rest stick.
Want more like this? Follow @cindiezhu for daily AI you can actually use.