Fix Claude sign-in menu state - #2445
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 64835152dd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Codex review: needs real behavior proof before merge. Reviewed July 24, 2026, 8:11 PM ET / July 25, 2026, 00:11 UTC. ClawSweeper reviewWhat this changesThe PR changes Claude’s menu action so authenticated accounts use the shared “Switch Account…” action while signed-out accounts keep the Claude Code sign-in action. Merge readiness⛔ Blocked until real behavior proof from a real setup is added - 5 items remain Keep this PR open: the proposed guard still treats a successful Claude OAuth session without an account email as signed out, so it does not fix the central authenticated-menu case. The preceding Claude sign-in flow was introduced by #1811; likely related people: steipete (medium confidence, prior feature author). Priority: P2 Review scores
Verification
How this fits togetherCodexBar’s provider menu turns a provider usage snapshot and recovery state into account actions in the macOS menu bar. Claude can override the shared action for web re-login or terminal recovery, and otherwise should defer to the account-state result. flowchart LR
A[Claude usage snapshot] --> B[Provider identity state]
C[Claude recovery errors] --> D[Claude menu override]
B --> E[Shared account-state decision]
D --> F[Menu action selection]
E --> F
F --> G[Menu bar account action]
Before merge
Findings
Agent review detailsSecurityNone. Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Derive Claude’s authenticated menu state from provider-scoped successful identity/snapshot evidence rather than an email alone, cover email-backed and email-less OAuth identities, then attach redacted fresh-bundle proof of both signed-in and signed-out menu actions. Do we have a high-confidence way to reproduce the issue? Yes, from source evidence: a successful Claude OAuth snapshot can lack an account email, while the patch uses an email-derived account flag to suppress the sign-in action. I could not execute a local reproduction because the restricted read-only shell failed before running any command. Is this the best way to solve the issue? No: the patch covers an authenticated fixture with an email but misses the email-less OAuth identity path described in the review evidence. A provider-scoped authenticated-state predicate is the narrower durable fix. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against cc8da27cec92. LabelsLabel changes:
Label justifications:
EvidenceWhat I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
|
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: Fix Claude sign-in menu state This is item 1/1 in the current shard. Shard 0/1. This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
Summary
Root cause
The Claude provider-specific login action always returned Sign in with Claude Code..., bypassing the shared account-state logic. The first fix relied on account email, but successful Claude OAuth snapshots intentionally omit email even though they include provider-scoped identity and live quota windows.
The account detector now treats only a Claude-scoped identity with real rate-limit data as authenticated, so an empty or cross-provider snapshot cannot suppress the sign-in action.
This is a focused follow-up to #1811. It does not change Claude authentication or multi-account behavior.
Validation