AgentBar v0.5 on macOS (Apple Silicon Mac mini). Claude Code never produces any usage data despite being enabled with plan = Pro. OpenAI Codex and Cursor work correctly on the same install.
Symptom
Claude Code row does not appear in the popover at all. Settings show Enabled = on, Plan = Pro.
Setup confirmed
- Claude Code actively used daily (
~/.claude/history.jsonl is 8.5MB, recent sessions present)
claude CLI installed at ~/.local/bin/claude, logged in
- OAuth credential present in Keychain
Diagnostic findings
1. Keychain naming has changed in newer Claude Code versions. The credential is stored under a hash-suffixed service name like Claude Code-credentials-<hex> (mine: Claude Code-credentials-2945ced1), not the plain Claude Code-credentials referenced in the README. Appears to be per-installation namespacing.
2. Duplicating the credential under the plain name didn't fix it. I tested:
After AgentBar relaunch, still no Claude Code data. So either AgentBar already handles the suffixed format or the issue is downstream of keychain lookup.
3. Preferences show fetch is being attempted but nothing is persisted.
defaults read com.agentbar.app output:
Note there are zero claudeUsageCache.* keys, but notificationLastSeen_claude_code is set — so AgentBar is attempting fetches, they're just not producing persistable data.
4. Usage history files contain zero Claude Code records, ever.
~/Library/Application Support/AgentBar/usage-history.json and usage-history.events.jsonl have records for OpenAI Codex and Cursor only. No Claude Code entries have ever been written.
5. Network logs show successful HTTP responses. log show --predicate 'process == "AgentBar"' shows CFNetwork requests with status 200/304 in the same window. So something is reaching an endpoint successfully — but no Claude Code state persists from it.
Likely root cause
Failure occurs somewhere between successful HTTP response and parse/persist, specifically for Claude Code. Possibly token format/scope changes on the Anthropic side that broke parsing.
UX suggestion
When a service fetch fails, show the row with an error indicator rather than hiding the row entirely. The disappearing-row behavior makes diagnosis hard — I initially thought I had toggled it off.
Happy to provide additional logs, test a debug build, or verify a fix.
AgentBar v0.5 on macOS (Apple Silicon Mac mini). Claude Code never produces any usage data despite being enabled with plan = Pro. OpenAI Codex and Cursor work correctly on the same install.
Symptom
Claude Code row does not appear in the popover at all. Settings show Enabled = on, Plan = Pro.
Setup confirmed
~/.claude/history.jsonlis 8.5MB, recent sessions present)claudeCLI installed at~/.local/bin/claude, logged inDiagnostic findings
1. Keychain naming has changed in newer Claude Code versions. The credential is stored under a hash-suffixed service name like
Claude Code-credentials-<hex>(mine:Claude Code-credentials-2945ced1), not the plainClaude Code-credentialsreferenced in the README. Appears to be per-installation namespacing.2. Duplicating the credential under the plain name didn't fix it. I tested:
After AgentBar relaunch, still no Claude Code data. So either AgentBar already handles the suffixed format or the issue is downstream of keychain lookup.
3. Preferences show fetch is being attempted but nothing is persisted.
defaults read com.agentbar.appoutput:Note there are zero
claudeUsageCache.*keys, butnotificationLastSeen_claude_codeis set — so AgentBar is attempting fetches, they're just not producing persistable data.4. Usage history files contain zero Claude Code records, ever.
~/Library/Application Support/AgentBar/usage-history.jsonandusage-history.events.jsonlhave records for OpenAI Codex and Cursor only. No Claude Code entries have ever been written.5. Network logs show successful HTTP responses.
log show --predicate 'process == "AgentBar"'shows CFNetwork requests with status 200/304 in the same window. So something is reaching an endpoint successfully — but no Claude Code state persists from it.Likely root cause
Failure occurs somewhere between successful HTTP response and parse/persist, specifically for Claude Code. Possibly token format/scope changes on the Anthropic side that broke parsing.
UX suggestion
When a service fetch fails, show the row with an error indicator rather than hiding the row entirely. The disappearing-row behavior makes diagnosis hard — I initially thought I had toggled it off.
Happy to provide additional logs, test a debug build, or verify a fix.