Goose Data Source (Experimental)
Goose support is experimental. ccusage can read Goose session usage from its local SQLite database. Goose is a local AI agent, and ccusage only opens the database read-only.
Quick Start
ccusage goose daily
ccusage goose monthly
ccusage goose sessionGoose is also included in unified reports when a supported database is detected:
ccusage dailyData Locations
By default, ccusage checks these Goose database locations:
~/.local/share/goose/sessions/sessions.db
~/Library/Application Support/goose/sessions/sessions.db
~/.local/share/Block/goose/sessions/sessions.dbSet GOOSE_PATH_ROOT when Goose is stored somewhere else:
GOOSE_PATH_ROOT="/path/to/goose" ccusage goose dailyWith GOOSE_PATH_ROOT set, ccusage reads:
$GOOSE_PATH_ROOT/data/sessions/sessions.dbToken Mapping
ccusage reads Goose session rows with model configuration and token columns:
| Goose column | ccusage field |
|---|---|
accumulated_input_tokens or input_tokens | Input tokens |
accumulated_output_tokens or output_tokens | Output tokens |
accumulated_total_tokens or total_tokens | Total tokens |
total - input - output, when positive | Reasoning/extra use |
model_config_json.model_name | Model |
provider_name, when present, otherwise model hint | Provider |
Goose does not expose cache read/write token columns in this database, so cache columns are reported as zero.
Cost Calculation
Goose rows do not store recorded USD cost, so ccusage estimates cost from token counts and LiteLLM pricing. Any positive total-token remainder beyond input and output is treated as output-priced usage for cost estimation.
Use --offline to rely on cached pricing data:
ccusage goose daily --offlineTroubleshooting
If no Goose data appears, check that the SQLite database exists at one of the default paths or set GOOSE_PATH_ROOT.
GOOSE_PATH_ROOT="/path/to/goose" ccusage goose session --json