Skip to content

Goose Source

The adapter reads the first readable database in this order:

  1. $GOOSE_PATH_ROOT/data/sessions/sessions.db when GOOSE_PATH_ROOT is set
  2. the platform data directory:
    • Linux: $XDG_DATA_HOME/goose/sessions/sessions.db (default ~/.local/share/goose/sessions/sessions.db)
    • macOS: ~/Library/Application Support/goose/sessions/sessions.db
    • Windows: %APPDATA%\goose\sessions\sessions.db (or under %LOCALAPPDATA%)
  3. legacy: ~/.local/share/Block/goose/sessions/sessions.db
Terminal window
llm-usage daily --source goose --goose-db /path/to/goose/sessions.db

goose is DB-backed, so use --goose-db; --source-dir goose=... is rejected.

The adapter reads whole-session aggregate rows from Goose’s SQLite sessions table, prefers accumulated token columns when present, and infers reasoning tokens from total - input - output. Those reasoning tokens are counted inside output, and the database’s -wal and -journal sidecars invalidate the parse cache. Each session’s totals are dated at its created_at, so a long session lands on the day it started. Goose stores no cache buckets, so cache reads are not split out of input.