Claude.ai organization lifecycle evidence

Direct Claude Team-account observation plus official Claude support documentation, captured to guide Tegy's multi-organization implementation.

Captured 2026-07-03 Issue #425 Read-only Claude probes API responses redacted

Evidence Boundary

Observed directly

  • Account menu for the Team account.
  • Organization settings Members page.
  • Team overview, seats, active/pending members.
  • Add member validation states.
  • Invite link and pending invite APIs.
  • Member remove confirmation and role/tier controls.
  • Upgrade page visible from an already-Team account.

Inferred from docs

  • Multiple Team organizations are supported through multiple Team plan purchases.
  • Personal and org accounts can coexist and switch from the account menu.
  • Joining can happen by invite, invite link, or discoverable work-domain org.
  • Owner-only flows such as ownership transfer and domain editing exist but were not fully visible in this account.

State Graph

Readable graph for review. The Markdown report contains the full Mermaid source.

Personal accountFree, Pro, or Max account, optionally kept after joining Team.
Team purchaseWork email onboarding or individual `/upgrade` creates a new Claude organization.
Active org contextOrg account selected in lower-left menu. Work data is scoped to the selected context.
Account switcherShown when multiple account/org contexts exist. Active entry has a checkmark per docs.
Organization settingsTop-level account-menu destination, separate from personal settings.
Members activeActive table with role, tier, search, role filter, pagination, and actions.
Add memberEmail invite flow validates allowed domains, current user, existing member, and candidate selection.
Pending invitesPending tab lists invites and supports revoke/resend per docs.
Invite linkGlobal link joins respect domains and seats. Team links enabled by default and expire after 90 days.
Seat breakdownPaid seats are separate from members who fill them.
Remove memberMember loses org access immediately; billing allocation does not automatically shrink.
Domains/approvalAllowed domains and approval mode control discovery, invites, and join requests.

Key Screens

Claude account menu
Account menu contains Organization settings as a top-level item.
Claude organization members page
Organization settings Members page with team overview and active members.
Claude add member modal
Add member dialog has By email and By invite link modes, role, and tier controls.
Claude add member domain validation
Disallowed-domain validation appears after a complete candidate, not on every partial character.
Claude pending members tab
Pending tab keeps the same member table shell and shows "No pending invites." when empty.
Claude seat usage dialog
Seat usage separates paid seats from claimed member seats.
Claude remove member confirmation
Remove confirmation explicitly says access is immediate and billing may not change.
Claude upgrade page
Already-Team account sees "Stay on Team plan"; create-another-team is not exposed here.

Observed API Surfaces

Area Path Meaning
BootstrapGET /edge-api/bootstrap/{org}/app_startOrg-scoped app start.
AccessGET /api/bootstrap/{org}/current_user_accessFeature and permission availability.
SubscriptionGET /api/organizations/{org}/subscription_statusActive subscription state.
MembersGET /api/organizations/{org}/members_v2?types[]=memberActive member table.
PendingGET /api/organizations/{org}/members_v2?types[]=invitePending invitation table.
SeatsGET /api/organizations/{org}/members_limitSeat allocation and minimum seats.
DomainsGET /api/organizations/{org}/allowed_domainsAllowed domains.
DiscoveryGET /api/organizations/{org}/discoverabilityDiscoverability and approval mode.
Invite linkGET /api/organizations/{org}/invite_linkGlobal join link state.
UpgradePOST /api/billing/{org}/cw_pricingClaude web pricing.

Tegy Requirements

Core lifecycle

  • Explicit active org state.
  • Account menu org switcher.
  • Create organization flow.
  • Top-level Organization settings.

Members

  • Active and Pending tabs.
  • Delayed invite validation.
  • Scoped allowed-domain checks.
  • Remove-member confirmation.

Honest UI

  • Disable unsupported Premium seats.
  • Mark CSV upload unavailable if backend is missing.
  • Do not imply billing changes before Polar seat reconciliation exists.
  • Do not fake successful CRUD state.

Tegy Implementation Verification

Local verification was run against http://127.0.0.1:5173 with the Chromium Profile 3 / tegy browser over CDP. The video below was reviewed through ffprobe, a generated contact sheet, and sampled source frames before embedding.

37-second local demo: default org, create org, switch orgs, open organization settings, rename, delete, and fallback to default.
Tegy org lifecycle demo contact sheet
Contact sheet generated from the embedded MP4 for review.

Verified locally

  • npm run test:org-lifecycle passed.
  • npm run test:admin-invite passed.
  • npm run build passed.
  • /api/auth/session and /api/orgs responses were saved after create, switch, rename, and delete.

Tegy State Graph

Default orgUser starts in Tegy Local / RocketMinds with a single active workspace.
Create org dialogAccount menu opens a create flow with name and optional allowed domain.
Created org activeServer creates owner membership and active-org preference.
Switcher lists orgsAccount menu shows default and created org with active checkmark.
Switch orgPOST /api/orgs/:orgId/switch updates active org and refreshes scoped data.
Organization settingsTop-level account-menu destination opens active org settings.
Rename orgPATCH /api/orgs/current updates active org name and session state.
Delete confirmationDeletion warns that access changes immediately and billing cancellation is not automated.
Archive orgDELETE /api/orgs/current archives the non-default org and removes active memberships.
Fallback orgUser returns to default org; archived org is omitted from org list and invite authorization.

Production Verification

Production was verified on 2026-07-03 after PRs #659, #660, and #661 were merged and deployed. The final deployed Worker version observed during config rollout was a88743e7-5c00-4ef5-880e-b453fdc6de80.

Backfill state

  • org_default is RocketMinds.
  • Allowed domain is exactly rocketminds.io.
  • Gary is owner, Marco is member, and Tornike identities are admin.
  • Backfilled users have active-org preference set to org_default.

Lifecycle smoke

  • GET /api/auth/session, /api/orgs, and /api/orgs/current returned RocketMinds.
  • Disposable org create returned 201.
  • Switch default, switch created, rename, and delete returned 200.
  • Final org list fell back to one visible org: RocketMinds.
Production Tegy account menu showing RocketMinds organization
Production account menu: RocketMinds active org and top-level Organization settings entry.
Production Tegy organization settings showing RocketMinds members
Production organization settings: rocketminds.io domain and backfilled member rows.

Artifact Links