@ccusage/opencode
Analyze OpenCode usage logs with the same reporting experience as ccusage.
Quick Start
npx @ccusage/opencode@latest --help
bunx @ccusage/opencode@latest --help
pnpm dlx @ccusage/opencode
pnpx @ccusage/opencode
deno run -E -R=$HOME/.local/share/opencode/ -S=homedir -N='raw.githubusercontent.com:443' npm:@ccusage/opencode@latest --help
Recommended: Shell Alias
Since npx @ccusage/opencode@latest is quite long to type repeatedly, we strongly recommend setting up a shell alias:
ccusage-opencode daily
ccusage-opencode monthly --json
💡 The CLI looks for OpenCode usage data under OPENCODE_DATA_DIR (defaults to ~/.local/share/opencode).
Common Commands
npx @ccusage/opencode@latest daily
npx @ccusage/opencode@latest weekly
npx @ccusage/opencode@latest monthly
npx @ccusage/opencode@latest session
npx @ccusage/opencode@latest daily --json
npx @ccusage/opencode@latest daily --compact
Useful environment variables:
OPENCODE_DATA_DIR – override the OpenCode data directory (defaults to ~/.local/share/opencode)
LOG_LEVEL – control consola log verbosity (0 silent … 5 trace)
Features
- 📊 Daily Reports: View token usage and costs aggregated by date
- 📅 Weekly Reports: View usage grouped by ISO week (YYYY-Www)
- 🗓️ Monthly Reports: View usage aggregated by month (YYYY-MM)
- 💬 Session Reports: View usage grouped by conversation sessions
- 📈 Responsive Tables: Automatic layout adjustment for terminal width
- 🤖 Model Tracking: See which Claude models you're using (Opus, Sonnet, Haiku, etc.)
- 💵 Accurate Cost Calculation: Uses LiteLLM pricing database to calculate costs from token data
- 🔄 Cache Token Support: Tracks and displays cache creation and cache read tokens separately
- 📄 JSON Output: Export data in structured JSON format with
--json
- 📱 Compact Mode: Use
--compact flag for narrow terminals, perfect for screenshots
Cost Calculation
OpenCode stores cost: 0 in message files, so this CLI calculates accurate costs from token usage data using the LiteLLM pricing database. All models supported by LiteLLM will have accurate pricing.
Data Location
OpenCode stores usage data in:
- Messages:
~/.local/share/opencode/storage/message/{sessionID}/msg_{messageID}.json
- Sessions:
~/.local/share/opencode/storage/session/{projectHash}/{sessionID}.json
Each message file contains token counts (input, output, cache.read, cache.write) and model information.
Documentation
For detailed guides and examples, visit ccusage.com.
Check out ccusage: The Claude Code cost scorecard that went viral
License
MIT © @ryoppippi