v2.1.13-beta.1
Pre-release
Pre-release
Accounts
Bugfixes
- Account
workspacesandcurrentWorkspaceIndexnow survive a load
round-trip. The strict V3 storage schema (AccountMetadataV3Schema) did not
declare these fields, so Zod stripped them on every read; login captured the
workspaces and wrote them to disk, but the next load wiped them. This is the
root cause of workspace labels appearing empty after login and of two
same-email accounts being indistinguishable. formatAccountLabelsurfaces the active workspace name, so same-email accounts
in different workspaces stay distinguishable, for example
Account 1 ([Personal Plus], user@gmail.com, id:g-AAAA). All prior label
formats are preserved when no workspace is tracked.
Features
status/listnow list every workspace beneath an account that tracks more
than one, marking the active workspace and flagging disabled ones.- New
workspace <account> [workspace]command: with only an account index it
lists that account's workspaces; with a workspace index it sets the active
workspace and persists it. login --org <org_id>(and--org=<id>) binds a login to a specific
workspace/org. It reuses theCODEX_AUTH_ACCOUNT_IDoverride that every login
resolver already honors, scoped to the invocation and restored afterward, so a
second workspace can be registered on demand instead of always resolving to the
default org.
Release Hygiene
Tests
- Schema round-trip preservation and a workspace-load regression that locks the
fix in place. - Label disambiguation coverage and
formatWorkspaceLinesoutput coverage
(active marker, disabled annotation, indentation). - Nine
workspace-command cases (list, switch, persistence, already-active
no-op, disabled rejection, out-of-range and non-numeric indices). login --orgargument parsing and missing-value handling.
Notes
- The issue #486 503 root cause (doctor reports all green, runtime still returns 503) is not fixed by this prerelease.
- Whether a real two-workspace login returns both orgs in one token or one at a time is unconfirmed. Both paths are supported (the
workspacecommand for the former,login --orgfor the latter); a sanitizedaccounts.jsonfrom a real two-workspace account would confirm which path users hit.