Fetch Claude Code usage stats as JSON from the command line.
Launches Claude Code in a temporary tmux session, runs the /usage slash command, parses the output, and returns structured JSON. The session is ephemeral — no conversation is created and nothing persists.
- tmux
- Claude Code CLI (
claude), logged in with an active subscription
bash claude-subscription-usage.shOutput:
{
"session_used": 27,
"session_reset": "2026-04-12T07:00:00+08:00",
"week_used": 88,
"week_reset": "2026-04-13T09:00:00+08:00",
"sonnet_used": 10,
"sonnet_reset": "2026-04-15T09:00:00+08:00"
}| Field | Description |
|---|---|
session_used |
Current session usage percentage (0-100) |
session_reset |
Session reset time in ISO 8601 |
week_used |
Weekly usage across all models (0-100) |
week_reset |
Weekly reset time in ISO 8601 |
sonnet_used |
Weekly Sonnet-only usage (0-100) |
sonnet_reset |
Sonnet weekly reset time in ISO 8601 |
# Pretty print
bash claude-subscription-usage.sh | jq .
# Get weekly usage percentage
bash claude-subscription-usage.sh | jq .week_used
# Use in a script
usage=$(bash claude-subscription-usage.sh)
week=$(echo "$usage" | jq .week_used)
if [ "$week" -gt 90 ]; then
echo "Warning: weekly usage at ${week}%"
fi- macOS (uses
date -jffor time parsing) - Linux (uses
date -dfor time parsing)
- Buwei Chiu
- Claude Code by Anthropic
- Dale 🐿️ — trust dialog handling