Skip to content

fix: distinguish Claude organizations sharing an email#1

Open
crgwbr wants to merge 1 commit into
Livin21:masterfrom
crgwbr:codex/fix-claude-org-identity
Open

fix: distinguish Claude organizations sharing an email#1
crgwbr wants to merge 1 commit into
Livin21:masterfrom
crgwbr:codex/fix-claude-org-identity

Conversation

@crgwbr

@crgwbr crgwbr commented Jul 17, 2026

Copy link
Copy Markdown

What & why

Claude subscriptions are scoped to organizations, but PitStop previously identified accounts only by email. Personal and team organizations sharing an email could therefore overwrite saved credentials, collide in cached state, merge into one menu row, and report the wrong usage.

Key Claude profiles and per-account state by normalized email plus organization UUID. Preserve legacy email-named keychain entries, require a one-time exact identity verification after migration, and keep OAuth login, switching, Desktop merging, usage caching, auto-switching, and session warming scoped to the correct organization.

How I tested

  • swift build
  • swift test — 129 tests passed
  • Added regression coverage for legacy same-email credentials, organization validation, cache migration, Desktop merging, and auto-switching

Checklist

  • Builds clean (swift build)
  • Tested manually (--check and/or the menu)
  • No real account emails, tokens, or credentials committed
  • Comments explain the non-obvious why, matching the surrounding style
  • Updated the README / docs if behavior changed

Key saved credentials and per-account state by normalized email and organization UUID. Preserve legacy credential slots while validating captures, OAuth logins, switching, and cached usage against the exact organization.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant