@ccusage/opencode

18.0.10 • Public • Published
ccusage logo

@ccusage/opencode

Socket Badge npm version NPM Downloads install size DeepWiki

Analyze OpenCode usage logs with the same reporting experience as ccusage.

Quick Start

# Recommended - always include @latest
npx @ccusage/opencode@latest --help
bunx @ccusage/opencode@latest --help

# Alternative package runners
pnpm dlx @ccusage/opencode
pnpx @ccusage/opencode

# Using deno (with security flags)
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:

# bash/zsh: alias ccusage-opencode='bunx @ccusage/opencode@latest'
# fish:     alias ccusage-opencode 'bunx @ccusage/opencode@latest'

# Then simply run:
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

# Daily usage grouped by date (default command)
npx @ccusage/opencode@latest daily

# Weekly usage grouped by ISO week
npx @ccusage/opencode@latest weekly

# Monthly usage grouped by month
npx @ccusage/opencode@latest monthly

# Session-level detailed report
npx @ccusage/opencode@latest session

# JSON output for scripting
npx @ccusage/opencode@latest daily --json

# Compact mode for screenshots/sharing
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.

Sponsors

Featured Sponsor

Check out ccusage: The Claude Code cost scorecard that went viral

ccusage: The Claude Code cost scorecard that went viral

Image

License

MIT © @ryoppippi

Readme

Keywords

none