Skip to content

core: make account login upgrades safe while adding multi-account workspace auth#15487

Open
thdxr wants to merge 6 commits intodevfrom
cli-auth-cloud
Open

core: make account login upgrades safe while adding multi-account workspace auth#15487
thdxr wants to merge 6 commits intodevfrom
cli-auth-cloud

Conversation

@thdxr
Copy link
Contributor

@thdxr thdxr commented Feb 28, 2026

Summary

  • add device-flow sign-in plus clearer providers and account commands so people can connect and manage credentials from the CLI without hand-editing config
  • support multiple saved accounts with workspace-aware access, so switching between different organizations no longer overwrites an existing login
  • preserve compatibility with legacy account tables during the schema migration, so existing users keep access after upgrading instead of losing stored auth data

The auth command has been renamed to providers to better reflect its purpose of managing AI provider credentials. This makes it easier for users to discover and use the credential management features when configuring different AI providers.
…agement

Refactor internal authentication system by renaming the control module to account,
making it easier to understand that this handles user account credentials and
tokens. Simplify database schema management by removing the centralized schema
exports and letting each module manage its own tables directly.
Allow users to authenticate via browser-based OAuth device flow
with opencode login command. Includes login, logout, switch account,
and workspaces list commands for managing multiple accounts.
…l workspace access

Enable users to authenticate with multiple accounts and switch between
them, accessing workspaces from each account separately.
…mands

Switch from boolean active flag to workspace_id tracking so users can select which workspace context to operate in. Login now automatically selects the first available workspace and stores it on the account record.

Logout command now actually removes account records and supports targeting specific accounts by email. Switch command provides an interactive picker to change active workspace. Workspaces command lists all available workspaces across accounts.

Configuration now loads workspace-specific settings from the server when an active workspace is selected, enabling per-workspace customization of opencode behavior.
…estoring legacy ControlAccountTable alongside new AccountTable structure
@thdxr thdxr added the beta label Feb 28, 2026
opencode-agent bot added a commit that referenced this pull request Feb 28, 2026
opencode-agent bot added a commit that referenced this pull request Feb 28, 2026
opencode-agent bot added a commit that referenced this pull request Feb 28, 2026
opencode-agent bot added a commit that referenced this pull request Mar 1, 2026
opencode-agent bot added a commit that referenced this pull request Mar 1, 2026
opencode-agent bot added a commit that referenced this pull request Mar 1, 2026
opencode-agent bot added a commit that referenced this pull request Mar 1, 2026
opencode-agent bot added a commit that referenced this pull request Mar 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant