Skip to content

Web UI: no account management/switcher for multi-account providers (CLI-only feature) #45484

Closed

Description

@nico2525nn

Summary

Recent opencode2 CLI builds support multiple accounts per provider (e.g., opencode2 auth list shows several "OpenCode Go" accounts: default, 2nd, …), but the Web UI offers no way to see which account is active or to manage/switch accounts — the feature is CLI-only.

Environment

  • opencode version: 0.0.0-beta-17963+ (observed on beta-18314)
  • Interface: Web UI (background service), CLI opencode2 auth
  • Provider: OpenCode Go (also OpenCode)

Reproduction / Observation

  1. CLI: log in to the same provider multiple times — opencode2 auth list shows multiple stored accounts:
    OpenCode     default                     stored
    OpenCode Go  2nd                         stored
    OpenCode Go  default                     stored
    
  2. Open the Web UI (home or settings) — there is no account list, no account switcher, and no indication of which account is currently in use.
  3. Requests in the Web UI always use the (default) account with no way to switch.

Expected Behavior

Mirror the CLI's account concept in the Web UI:

  • Show which account(s) are configured and which one the session/model provider is using
  • Allow adding/logging in, switching, and logging out accounts (at least for OpenCode / OpenCode Go console accounts)

Actual Behavior

  • Multi-account is configured and visible only via opencode2 auth list (CLI)
  • The Web UI has no account/credential management surface (checked the app source: only i18n strings mention accounts; no account UI component exists)

Suggested fix direction

  • Add an account section to the Web UI settings (list configured accounts per provider, mark the active one, log out/switch)
  • Ensure the active account choice is surfaced per session/model (e.g., provider label) so users can tell which account is billed

Notes

  • Searched issues for an existing request covering "multi-account web UI" — none found (please re-check before triage)

Activity

  1. github-actions commented on Aug 27, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

  2. cahya-wirawan commented on Sep 12, 2026

    @cahya-wirawan

    Hi, I created Multiuser Opencode, please have a look: https://github.com/cahya-wirawan/opencode-multiuser

    The project turns OpenCode into a centrally managed, multi-user developer platform for enterprise and internal engineering environments. It provides authenticated access to isolated, disposable OpenCode workspaces while keeping project files and OpenCode state persistent across container restarts.

    Instead of giving every developer a permanently running VM or asking users to manage OpenCode locally, the platform allocates an isolated rootless Podman container only when a workspace is needed. A central FastAPI control plane handles authentication (using local user/password or OIDC), authorization, workspace lifecycle, routing, capacity limits, idle cleanup, and administrative controls. Traefik exposes a single portal URL, while OpenCode itself remains unmodified upstream software.

  3. mxeshell commented on Oct 1, 2026

    @mxeshell

    Same gap on the desktop app as of 2.0.20, not just the web UI. With two xAI accounts, one a SuperGrok subscription (OAuth) and one an API key, the account list shows only xAI / xAI 2, with no per-account method indicator, no switch-from-UI, and no rename.

    Environment: macOS Darwin 27.0.0 arm64, Desktop 2.0.20 (bundled CLI 2.0.20).

    The server already supports it: POST /api/credential/{id}/activate and PATCH /api/credential/{id} both work, and GET /api/integration reports each connection's method (oauth vs key). So this looks like a client surfacing gap shared by the desktop and web UIs. Cross-ref #50556 (desktop account management) and #50176 (badge does not reflect OAuth).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions