Skip to content

tui: open a remote server session as a tab #45346

Open

Description

@dreamorosi

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

Summary

Allow a running OpenCode TUI to open a session from another OpenCode server as a normal in-app tab. Currently, accessing that session requires replacing the current TUI or launching another TUI inside it.

Environment

  • opencode version: v0.0.0-beta-18314
  • OS: Linux 6.1.21-v8+ aarch64
  • Terminal: TERM=xterm-256color, COLORTERM=truecolor
  • Shell: /bin/zsh
  • Install/channel: V2 beta
  • Active plugins: None found in config

Reproduction

  1. Open the OpenCode TUI and work with multiple in-app session tabs.
  2. Identify a session hosted by another OpenCode server.
  3. Attempt to open that remote session as another tab in the existing TUI.
  4. The available command, opencode2 --server <url> --session <session-id>, starts a separate TUI rather than adding the session to the current TUI.

Expected Behavior

A running TUI should provide a first-class way to open a remote server session as an in-app tab.

The resulting tab could carry its own server and session identity, or OpenCode could provide another remote-session attachment mechanism that avoids nesting or replacing the current TUI.

Actual Behavior

A TUI is connected to one server, and all of its tabs represent sessions from that server. Opening a session from another server requires:

  • Exiting and restarting the TUI with --server
  • Using a separate native terminal
  • Starting another OpenCode TUI inside the current TUI's shell or terminal view

The last option results in a TUI nested inside another TUI.

Additional Context

This is consistently reproducible. The current workaround is to use a separate native terminal window or
replace the current TUI connection.
The requested scope is specifically opening a remote server session as a normal tab in an already-running TUI, not merely restoring the remote server's client-local tab layout.

Activity

  1. github-actions commented on Aug 26, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of or closely related to an existing issue. Please check:

    • feat(tui): switch between OpenCode servers #37667: feat(tui): switch between OpenCode servers — covers switching the TUI between a local and remote OpenCode server, which overlaps significantly with opening a remote server's session as a tab in the current TUI.
  2. dreamorosi commented on Sep 1, 2026

    @dreamorosi
    Author

    I don't think this is a duplicate of the suggested issue, as far as I can tell that issue asks for the ability to switch between servers. This issue instead suggests allowing people to connect individual tabs to specific remote servers, providing a single pane of glass.

  3. opencodejr commented on Oct 28, 2026

    @opencodejr

    Thanks for the detailed request, @dreamorosi!

    To restate it: you'd like a running TUI to be able to open a session hosted by a different OpenCode server as a normal tab, without restarting with --server or nesting another TUI inside it.

    Today a TUI connects to a single server, and session tabs only track a session ID on that server. So this would need a new capability: tabs that carry their own server identity, or another way to attach to a remote session. It's not something a plugin can add right now.

    Maintainers will consider it. In the meantime, a separate terminal window running opencode2 --server <url> --session <id> is the workaround, as you mentioned.

  4. dreamorosi commented on Oct 29, 2026

    @dreamorosi
    Author

    Hi @opencodejr, yep, that's the idea - thanks for looking into it.

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