A beautiful real-time terminal monitoring tool for Claude AI token usage. Track your token consumption, burn rate, and get predictions about when you'll run out of tokens.
- โจ Features
- ๐ Installation
- ๐ Usage
- ๐ Understanding Claude Sessions
- ๐ ๏ธ Token Limits by Plan
- ๐ง Advanced Features
- โก Best Practices
- ๐ Troubleshooting
- ๐ Example Usage Scenarios
- ๐ค Contributing
- ๐ License
- ๐ Acknowledgments
- ๐ Real-time monitoring - Updates every 3 seconds with smooth refresh
- ๐ Visual progress bars - Beautiful color-coded token and time progress bars
- ๐ฎ Smart predictions - Calculates when tokens will run out based on current burn rate
- ๐ค Auto-detection - Automatically switches to custom max when Pro limit is exceeded
- ๐ Multiple plan support - Works with Pro, Max5, Max20, and auto-detect plans
โ ๏ธ Warning system - Alerts when tokens exceed limits or will deplete before session reset- ๐ผ Professional UI - Clean, colorful terminal interface with emojis
- โจ No screen flicker - Smooth updates without clearing the entire screen
- โฐ Customizable reset times - Set your own token reset schedule
- Python 3.6+ installed on your system
- pytz Python package:
pip install pytz
- ccusage CLI tool installed globally:
npm install -g ccusage
# Clone the repository
git clone https://github.com/Maciek-roboblog/Claude-Code-Usage-Monitor.git
cd Claude-Code-Usage-Monitor
# Make the script executable
chmod +x ccusage_monitor.py
# Run the monitor
./ccusage_monitor.py
Run with default settings (Pro plan - 7,000 tokens):
./ccusage_monitor.py
๐ก Smart Detection: When tokens exceed the Pro limit, the monitor automatically switches to custom_max mode and displays a notification.
# Pro plan (~7,000 tokens) - Default
./ccusage_monitor.py --plan pro
# Max5 plan (~35,000 tokens)
./ccusage_monitor.py --plan max5
# Max20 plan (~140,000 tokens)
./ccusage_monitor.py --plan max20
# Auto-detect from highest previous session
./ccusage_monitor.py --plan custom_max
Set a custom daily reset hour (0-23):
# Reset at 3 AM
./ccusage_monitor.py --reset-hour 3
# Reset at 10 PM
./ccusage_monitor.py --reset-hour 22
The default timezone is Europe/Warsaw. You can change it to any valid timezone:
# Use US Eastern Time
./ccusage_monitor.py --timezone US/Eastern
# Use Tokyo time
./ccusage_monitor.py --timezone Asia/Tokyo
# Use UTC
./ccusage_monitor.py --timezone UTC
# Use London time
./ccusage_monitor.py --timezone Europe/London
Press Ctrl+C
to gracefully exit the monitoring tool.
Claude Code operates on a 5-hour rolling session window system:
- Sessions start with your first message to Claude
- Sessions last for exactly 5 hours from that first message
- Token limits apply within each 5-hour session window
- Multiple sessions can be active simultaneously
Default reset times (in your configured timezone, default: Europe/Warsaw):
04:00
,09:00
,14:00
,18:00
,23:00
โ ๏ธ Important: These are reference times. Your actual token refresh happens 5 hours after YOUR first message in each session.
๐ Timezone Note: The default timezone is Europe/Warsaw. You can change it using the
--timezone
parameter with any valid timezone name.
The monitor calculates burn rate based on all sessions from the last hour:
- Analyzes token consumption across overlapping sessions
- Provides accurate recent usage patterns
- Updates predictions in real-time
Plan | Token Limit | Best For |
---|---|---|
Pro | ~7,000 | Light usage, testing (default) |
Max5 | ~35,000 | Regular development |
Max20 | ~140,000 | Heavy usage, large projects |
Custom Max | Auto-detect | Automatically uses highest from previous sessions |
When using --plan custom_max
, the monitor:
- ๐ Scans all previous session blocks
- ๐ Finds the highest token count used
- โ๏ธ Sets that as your limit automatically
- โ Perfect for users with varying token limits
When using the default Pro plan:
- ๐ Monitor detects when usage exceeds 7,000 tokens
- ๐ Automatically switches to custom_max mode
- ๐ข Shows notification of the switch
โถ๏ธ Continues monitoring with the new limit
- ๐ Start Early: Begin monitoring when you start a new session
- ๐ Watch Velocity: Monitor burn rate indicators to manage usage
- ๐ Plan Ahead: If tokens will deplete before reset, adjust your usage
- โฐ Custom Schedule: Set
--reset-hour
to match your typical work schedule - ๐ค Use Auto-Detect: Let the monitor figure out your limits with
--plan custom_max
- Ensure
ccusage
is installed:npm install -g ccusage
- Check if you have an active Claude session
- Verify
ccusage
works:ccusage blocks --json
- Start a new Claude Code session
- The monitor only works when there's an active session
Cursor remains hidden after exit
printf '\033[?25h'
- Ensure your terminal window is at least 80 characters wide
- Try resizing your terminal and restarting the monitor
# Start work at 9 AM daily
./ccusage_monitor.py --reset-hour 9
# Often work past midnight
./ccusage_monitor.py --reset-hour 0
# Let the monitor figure out your limits
./ccusage_monitor.py --plan custom_max
# Just run it!
./ccusage_monitor.py
# Use your local timezone
./ccusage_monitor.py --timezone America/New_York
./ccusage_monitor.py --timezone Asia/Singapore
./ccusage_monitor.py --timezone Australia/Sydney
Contributions are welcome! Feel free to:
- ๐ Report bugs or issues
- ๐ก Suggest new features
- ๐ง Submit pull requests
- ๐ Improve documentation
We're collecting data about actual token limits to improve the auto-detection feature. If you're using Claude and your tokens exceeded the standard limits, please share your experience in Issue #1:
What to share:
- Your subscription type (Pro, Teams, Enterprise)
- The maximum tokens you reached (custom_max value)
- When the limit was exceeded
- Any patterns you've noticed
This data helps us better understand token allocation across different subscription tiers and improve the monitoring tool for everyone.
MIT License - feel free to use and modify as needed.
This tool builds upon the excellent ccusage by @ryoppippi, adding a real-time monitoring interface with visual progress bars, burn rate calculations, and predictive analytics.
- ๐๏ธ Built for monitoring Claude Code token usage
- ๐ง Uses ccusage for data retrieval
- ๐ญ Inspired by the need for better token usage visibility
โญ Star this repo if you find it useful! โญ
Report Bug โข Request Feature โข Contribute