Installation #
ccusage can be installed and used in several ways depending on your preferences and use case.
Why Direct Execution Works Well #
You do not need to install ccusage globally before trying it. Direct package runners work well for ad hoc usage:
- ✅ No global package to manage
- ✅ Easy access to the latest published version
- ✅ Cached package downloads after the first run
Quick Start (Recommended) #
The fastest way to use ccusage is to run it directly:
::: code-group
bunx ccusage
pnpm dlx ccusage
npx ccusage@latest
bunx -p https://pkg.pr.new/ccusage/ccusage@<pr-number> ccusage --offline
:::
::: tip Speed Recommendation We recommend bunx for everyday use. It caches the downloaded package, so repeated runs are faster after the first launch. :::
Performance Comparison #
Here's why runtime choice matters:
| Runtime | First Run | Subsequent Runs | Notes |
|---|---|---|---|
| bunx | Fast | Instant | Recommended for everyday use |
| pnpm dlx | Fast | Fast | Good alternative |
| npx | Slow | Moderate | Widely available |
Global Installation (Optional) #
You can install ccusage globally if you prefer a persistent command:
::: code-group
npm install -g ccusage
bun install -g ccusage
yarn global add ccusage
pnpm add -g ccusage
:::
After global installation, run commands directly:
ccusage daily
ccusage monthly --breakdown
ccusage blocks --live
Development Installation #
For development or contributing to ccusage:
# Clone the repository
git clone https://github.com/ccusage/ccusage.git
cd ccusage
# Allow direnv to load the Nix dev shell
direnv allow
The Nix dev shell provides the pinned pnpm, Rust toolchain, GitHub CLI, git hooks, package tooling, and project utilities. Run project tasks with just:
# Format the tree
just fmt
# Run tests
just test
# Run static checks
just check
# Build distribution
just build
You can also run the package directly from source:
pnpm --filter ccusage start daily
pnpm --filter ccusage start monthly --json
Runtime Requirements #
Node.js #
- Needed when using Node-based package runners or npm-style global installs
- Use Bun for direct execution when available
Bun #
- Minimum: Bun 1.3+
- Recommended: Latest stable release
- Recommended for
bunx ccusageand for the fastest warm startup
Verification #
After installation, verify ccusage is working:
# Check version
ccusage --version
# Run help command
ccusage --help
# Test with daily report
ccusage daily
Updating #
Direct Execution (npx/bunx) #
Always gets the latest version automatically.
Global Installation #
# Update with npm
npm update -g ccusage
# Update with bun
bun update -g ccusage
Check Current Version #
ccusage --version
Uninstalling #
Global Installation #
::: code-group
npm uninstall -g ccusage
bun remove -g ccusage
yarn global remove ccusage
pnpm remove -g ccusage
:::
Development Installation #
# Remove cloned repository
rm -rf ccusage/
Troubleshooting Installation #
Permission Errors #
If you get permission errors during global installation:
::: code-group
# Use npx instead of global install
npx ccusage@latest
# Or configure npm to use a different directory
npm config set prefix ~/.npm-global
export PATH=~/.npm-global/bin:$PATH
# Use nvm
nvm install 22
npm install -g ccusage
# Or use fnm
fnm install 22
npm install -g ccusage
:::
Network Issues #
If installation fails due to network issues:
# Try with different registry
npm install -g ccusage --registry https://registry.npmjs.org
# Or use bunx for offline-capable runs
bunx ccusage
Version Conflicts #
If you have multiple versions installed:
# Check which version is being used
which ccusage
ccusage --version
# Uninstall and reinstall
npm uninstall -g ccusage
npm install -g ccusage@latest
Next Steps #
After installation, check out:
- Getting Started Guide - Your first usage report
- Configuration - Customize ccusage behavior
- Daily Usage - Understand daily usage patterns