A lightweight CLI tool for analyzing Claude Code usage statistics and costs locally.
- π 100% Local & Secure - No API keys required, reads local Claude Code data only
- β‘ Quick Analysis - View all usage statistics with a single
ccucommand - π° Cost Tracking - Accurate cost calculation based on Claude pricing
- π Dual View Modes - Switch between daily aggregated view and detailed message view
- π― Smart Project Detection - Auto-detects current project when run in project directories
- π Clean Table Display - Organized tabular output with token counts, costs, and project info
- π Smart Filtering - Filter by time ranges and project names
- π Flexible Sorting - Sort by cost, time, tokens, or project name
- π Auto Update Check - Automatically checks for new versions and notifies when updates are available
- π Easy to Use - Simple installation and intuitive commands
npm install -g claude-code-usage
ccu # View statistics instantly# One-time usage (no installation required)
npx claude-code-usage
# Local project installation
npm install claude-code-usage
npx claude-code-usageThese are the basic commands you can use:
# View usage statistics (default command)
ccu
# Display version information
ccu -v
# Display help information
ccu --help
# List all available projects
ccu --list-projects
# or use the short form
ccu -lp
# List all available models with pricing
ccu --list-models
# or use the short form
ccu -lmFilter your usage data by time range and project.
Note: It's recommended to wrap time filters in quotes if they contain spaces.
The tool supports various time filtering formats for maximum flexibility:
Relative Time Filters (no quotes needed):
5min,30min- Last N minutes2h,12h- Last N hours7d,30d- Last N days1m,6m- Last N months1y,2y- Last N years
Date Range Filters:
6-8- Month range (June to August, current year)july-august,jan-mar- Named month ranges2024-7-2024-8- Cross-year month ranges2024-07-01,2024-08-31- Specific date ranges
Precise DateTime Filters (ISO 8601 format, recommended):
2024-07-30T16:00:00,2024-07-30T18:00:00- Second precision2024-07-30T16:00,2024-07-30T18:00- Minute precision2024-07-30T16,2024-07-30T18- Hour precision
Human-readable DateTime (requires quotes):
"2024-07-30 16:00:00,2024-07-30 18:00:00"- Second precision"2024-07-30 16:00,2024-07-30 18:00"- Minute precision
# Filter by relative time (no quotes needed)
ccu -t 5min # Last 5 minutes
ccu -t 2h # Last 2 hours
ccu -t 7d # Last 7 days
ccu -t 1m # Last 1 month
ccu -t 1y # Last 1 year
# Filter by month range (no quotes needed)
ccu -t 6-8 # June to August (current year)
ccu -t july-august # July to August (current year)
# Filter by date and time (T-separator, no quotes needed)
ccu -t 2024-07-01T14:30:15,2024-07-01T16:45:30 # With seconds
ccu -t 2024-07-01T14:30,2024-07-01T16:45 # With minutes
ccu -t 2024-07-01T14,2024-07-01T16 # With hours
# Filter by date and time (space separator, quotes needed)
ccu -t "2024-07-01 14:30,2024-07-01 16:45"
# Filter by specific date range
ccu -t 2024-07-01,2024-08-31
ccu -t 2024-7-2024-8 # July 2024 to August 2024
# Filter by project (partial matching supported)
ccu -p myproject # Show only messages from projects containing "myproject"
# Combine filters for precise results
ccu -t 1m -p my-website # Last month's my-website project dataSort your results by different criteria:
# Sort by cost (highest first)
ccu -s cost -o desc
# Sort by cost (lowest first)
ccu -s cost -o asc
# Sort by total tokens
ccu -s tokens -o desc
# Sort by project name
ccu -s project -o asc
# Sort by time (default)
ccu -s time -o desc
# Combine sorting with filtering
ccu -p my-website -s cost -o desc # my-website project sorted by costThe tool automatically detects your current project and filters results accordingly:
# When run in a project directory, automatically filters to that project
cd my-project
ccu # Shows only my-project usage
# Show all projects explicitly
ccu --all # Shows usage for all projects
ccu -a
# Manual project filtering still works
ccu -p specific-project # Shows only specific-project usageSwitch between different viewing modes:
# Default: aggregated view (by project and date)
ccu
# Detailed view: show individual messages
ccu --detailed
ccu -d
# Comparing views for specific projects
ccu -p my-project # Aggregated entry for my-project
ccu -p my-project -d # All individual my-project messagesManage the GitHub star prompt that appears after displaying results:
# Permanently disable the GitHub star prompt
ccu --disable-github-prompt
# Re-enable the GitHub star prompt
ccu --enable-github-prompt
# View all available options (including prompt settings)
ccu -hThe tool will show a friendly prompt asking you to star the repository on GitHub after displaying usage statistics. You can:
- Keep it enabled (default) - Helps support the project
- Disable it permanently - The setting is saved and respected across all future runs
- Re-enable it anytime - If you change your mind
Your preference is stored in ~/.claude-code-usage-config.json.
Complete reference table of all available options:
| Option | Description | Values | Default |
|---|---|---|---|
-t, --time |
Time filter | 5min, 2h, 7d, 1m, 1y, 6-8, july-august, 2024-07-01T14:30,2024-07-01T16:45, etc. |
- |
-p, --project |
Project filter | Project name (partial matching) | auto-detect |
-s, --sort |
Sort field | cost, time, tokens, project |
time |
-o, --order |
Sort order | asc, desc |
desc |
-d, --detailed |
Show individual messages | - | false (aggregated) |
-a, --all |
Show all projects | - | false (auto-detect) |
-lp, --list-projects |
List all projects | - | - |
-lm, --list-models |
List all available models with pricing | - | - |
--disable-github-prompt |
Permanently disable the GitHub star prompt | - | - |
--enable-github-prompt |
Re-enable the GitHub star prompt | - | - |
An example of what the output may look like:
π Options applied:
Project: my-website
Sort: cost β
Results: 3 aggregated entries (45 messages from 58 total)
βββββββββββββββ¬ββββββββββββββ¬βββββββββββ¬ββββββββ¬βββββββββ¬βββββββββββββββ¬βββββββββββββ¬βββββββββββββββββββββββββββ¬ββββββββββββ¬ββββββββββββ
β Time β Project β Messages β Input β Output β Cache Create β Cache Read β Model β Total β Cost β
βββββββββββββββΌββββββββββββββΌβββββββββββΌββββββββΌβββββββββΌβββββββββββββββΌβββββββββββββΌβββββββββββββββββββββββββββΌββββββββββββΌββββββββββββ€
β 6/29/2025 β my-website β 15 β 1,200 β 400 β 60,000 β 20,000 β claude-sonnet-4-20250514 β 81,600 β $0.249000 β
βββββββββββββββΌββββββββββββββΌβββββββββββΌββββββββΌβββββββββΌβββββββββββββββΌβββββββββββββΌβββββββββββββββββββββββββββΌββββββββββββΌββββββββββββ€
β 6/28/2025 β my-website β 20 β 800 β 300 β 40,000 β 15,000 β claude-sonnet-4-20250514 β 56,100 β $0.168500 β
βββββββββββββββΌββββββββββββββΌβββββββββββΌββββββββΌβββββββββΌβββββββββββββββΌβββββββββββββΌβββββββββββββββββββββββββββΌββββββββββββΌββββββββββββ€
β 6/27/2025 β my-website β 10 β 845 β 428 β 198,600 β 652,976 β claude-sonnet-4-20250514 β 852,849 β $0.734798 β
βββββββββββββββΌββββββββββββββΌβββββββββββΌββββββββΌβββββββββΌβββββββββββββββΌβββββββββββββΌβββββββββββββββββββββββββββΌββββββββββββΌββββββββββββ€
β TOTAL β β 45 β 2,845 β 1,128 β 298,600 β 687,976 β β 990,549 β $1.152298 β
βββββββββββββββ΄ββββββββββββββ΄βββββββββββ΄ββββββββ΄βββββββββ΄βββββββββββββββ΄βββββββββββββ΄βββββββββββββββββββββββββββ΄ββββββββββββ΄ββββββββββββ
ccu --list-projects
# or use short form: ccu -lpπ Available projects:
β’ my-website (45 messages)
β’ data-analysis (8 messages)
β’ chatbot-app (5 messages)
- Node.js >= 14.0.0
- Claude Code installed and configured
- At least one Claude Code project with conversation history
This tool reads Claude Code usage data from your local files:
~/.claude.json- Main Claude Code configuration~/.claude/projects/- Session records and project data~/.claude/settings.json- User settings (optional)
First time using this tool? If Claude Code isn't configured on your system, you'll see:
β Claude Code configuration not found!
π To fix this:
1. Install Claude Code:
npm install -g @anthropic-ai/claude-code
2. Authenticate:
claude
# Follow authentication prompts
3. Start a conversation:
claude "Hello, world!"
4. Run this tool:
ccu
- 100% Local Data - All Claude Code usage data read from your local files
- Minimal Network Usage - Only fetches model pricing from LiteLLM (cached for 1 hour)
- No API Keys - No authentication required
- Privacy First - Your usage data never leaves your machine
Contributions welcome! Please submit a Pull Request.
MIT License - see LICENSE file for details.
Found a bug? Create an issue