After months of using Claude Code daily, I've discovered patterns that dramatically reduce token usage. Here are my top 10 tips.
1. Batch Your Requests
Bad: Asking one thing at a time
"Add a loading state"
"Now add error handling"
"Now add the success message"
Good: Combine into one request
"Add loading state, error handling, and success message to this component"
One prompt instead of three = 66% fewer tokens.
2. Use Specific File Paths
Bad: "Find the user authentication code"
Good: "Edit src/lib/auth.ts to add session refresh"
Claude won't waste tokens searching when you tell it exactly where to go.
3. Create a Makefile
.PHONY: check fix deploy
check:
npm run typecheck
npm run lint
npm run test
fix:
npm run lint:fix
npm run format
deploy:
npm run build
vercel --prod
Now instead of explaining multi-step processes, just say "run make check".
4. Use Shell Aliases
Add to your .bashrc or .zshrc:
alias c="claude"
alias cfix="claude 'fix all typescript errors'"
alias ctest="claude 'run tests and fix failures'"
alias creview="claude 'review this code for issues'"
Shorter commands = less typing = faster workflow.
5. Pre-write Complex Prompts
Save common prompts in files:
# ~/.claude-prompts/new-component.txt
Create a new React component with:
- TypeScript props interface
- Tailwind CSS styling
- Loading and error states
- Unit tests in separate .test.tsx file
Then use: claude "$(cat ~/.claude-prompts/new-component.txt) called UserCard"
6. Use Git Diff for Context
Instead of explaining what changed:
git diff HEAD~3 | claude "review these changes"
Claude sees exactly what's different without exploring.
7. Cache Expensive Operations
Create scripts that save output:
#!/bin/bash
# cache-deps.sh
npm list --depth=0 > .cache/dependencies.txt
echo "Dependencies cached at $(date)" >> .cache/dependencies.txt
Now Claude can read the cache instead of running npm list every time.
8. Use Compact Mode for Simple Tasks
For quick fixes, be terse:
"fix typo line 42"
"rename foo to bar"
"add TODO comment above fetchUser"
No need for full sentences on simple operations.
9. Leverage .gitignore Patterns
Claude scans your project to understand it. A clean .gitignore means less noise:
node_modules/
.next/
coverage/
*.log
.env*
dist/
.cache/
Less files to scan = faster responses = fewer tokens.
10. End Sessions Cleanly
Before ending a session, ask Claude to summarize:
"Summarize what we did today in bullet points for my notes"
Paste this into your next session's context instead of re-explaining everything.
Bonus: The 30-Second Rule
If you're about to ask Claude something that would take you less than 30 seconds to do manually, just do it yourself. Save Claude for complex tasks where it truly shines.
Measuring Your Savings
Track your usage over a week using these tips. Most users report 40-60% reduction in token consumption while maintaining the same productivity.
The goal isn't to use Claude less—it's to use it smarter.