Skip to content

web: allow changing the active agent for an existing session #58363

Closed as duplicate

Description

@qmackay

Summary

The Web UI does not provide a way to change the active primary agent for a session. Users who open a session with one agent (for example, Build) cannot switch it to another available primary agent (for example, Remote) from the Web UI, even when a different default_agent is configured. This makes the configured default ineffective for sessions that already exist and forces users to switch interfaces to change agents.

Environment

  • opencode version: 2.1.3
  • OS: Linux 6.8.0-147-generic (linux x64)
  • Terminal: TERM=xterm-256color; TERM_PROGRAM and COLORTERM unset (the reported issue is in the Web UI; browser not provided)
  • Shell: /bin/bash
  • Install/channel: latest
  • Active plugins: None found in global or project OpenCode config; project plugin directories not found

Reproduction

  1. Configure more than one primary agent, such as the built-in Build agent and a custom primary agent named Remote.
  2. Open an existing session in the Web UI that is using Build.
  3. Try to change that session to Remote using the Web UI. There is no available control to change the active agent.

Expected Behavior

The Web UI should provide a way to select another available primary agent for the current session, such as switching from Build to Remote.

Actual Behavior

The active agent cannot be changed from the Web UI. The global config has default_agent set to Remote, but the existing session remains on Build; changing the default does not update an existing session.

Additional Context

  • The user's global config has "default_agent": "Remote"; Remote is configured as a primary agent.
  • Switching agents is possible in the terminal UI, but that is not a workaround for users working exclusively in the Web UI.
  • Frequency: reported as a limitation; not independently verified across sessions.
  • Browser, exact Web UI build/deployment, and screenshots/logs: not provided.
  • No other recent changes or workarounds were reported.

Activity

  1. opencode-agent commented on Oct 23, 2026

    @opencode-agent
    Contributor

    Thanks for the report! I think this is a duplicate of #50269.

    The Web UI does have an agent picker in the composer, but it's hidden by default. It's supposed to appear on its own when a custom primary agent (like your Remote) exists. In v2 that check never passes, because the agent list the server returns lacks the field the app uses to tell custom agents from built-in ones. So with default settings there's no way to switch agents.

    Workaround: turn on Settings → General → Show agent. The agent picker then appears in the composer (and Ctrl/Cmd + . works), and you can switch the session from Build to Remote.

    On default_agent: changing it doesn't move sessions that already exist to the new agent. That's expected, since existing sessions keep the agent they were using.

    Possible duplicates and related issues, ordered by likelihood:

    The bot will close this issue as a duplicate in 1 day unless you reply explaining how your problem is different.

  2. neriousy commented on Oct 23, 2026

    @neriousy
    Member

    Closing as a duplicate of #50269. The Web UI and global custom-agent confirmation has been added to that canonical issue so the investigation remains consolidated.

  3. opencode-agent commented on Oct 24, 2026

    @opencode-agent
    Contributor

    Closing this as a duplicate of #50269. It's been a day since the duplicate note and there's been no reply saying how this is different. That issue covers the same problem: a custom primary agent like Remote doesn't make the composer's agent picker appear, so you can't switch agents in the Web UI.

    Until it's fixed, turn on Settings → General → Show agent. You can then switch the session from Build to Remote in the composer (or with Ctrl/Cmd + .). Related: #57812 (same cause, desktop app) and #53944 (default_agent ignored when the picker is hidden).

    If you think this should stay open, reply here.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions