Skip to content

desktop: SSH mismatch reports V1 for a V2 server; upgrade action is hard to discover #60283

Closed as duplicate

Description

@dluc

desktop: SSH mismatch reports V1 for a V2 server; upgrade action is hard to discover

Description

OpenCode Desktop 2.2.1 reported that an SSH-managed remote server was running V1 and needed upgrading to V2, although the installed binary and running service were both 2.2.0.

The remote /api/info response confirmed "version":"2.2.0", with a PID matching the running opencode serve --service process. Restarting the desktop app did not resolve the error.

Response from /api/info (formatted; hostname and PID anonymized):

{
  "version": "2.2.0",
  "pid": 12345,
  "hostname": "remote-host",
  "urls": [
    "http://127.0.0.1:49374"
  ],
  "paths": {
    "tmp": "/tmp/opencode"
  },
  "capabilities": {
    "persistentPty": true
  }
}

The running process also used the desktop-managed 2.2.0 binary (PID and home-directory username anonymized; the PID corresponds to the API response above):

$ ps -ww -u "$(id -un)" -o pid=,args= | grep '[o]pencode'
12345 /home/remote-user/.opencode/desktop-ssh/2.2.0/opencode serve --service

The connection worked after opening Settings → Servers → ⋯ → Connect and selecting Update and reconnect.

Expected behavior

  • Show the actual remote version and explain the required desktop/server version match.
  • If the version cannot be determined, show unknown, not V1.
  • Offer Update and reconnect directly from the home-page server list or connection error, rather than requiring users to discover the same server under Settings.

Implementation observations

Inspection of the installed 2.2.1 desktop bundle found:

  • SSH bootstrap checks exact version equality.
  • The session error panel uses health?.version ?? '1', which can present missing health information as a V1 diagnosis.

This appears relevant to the misleading message, but the complete trigger has not been established.

Plugins

Not independently verified; no plugin-related trigger identified.

OpenCode version

  • Desktop: 2.2.1
  • SSH-managed remote service: 2.2.0 before the successful update.

Steps to reproduce

  1. Have an SSH-managed remote service running 2.2.0.
  2. Use Desktop 2.2.1 and open the remote server/session from the home page.
  3. Observe an incompatibility error indicating V1 / requiring V2, despite the remote API reporting 2.2.0.
  4. Restart Desktop; the error persists.
  5. Open Settings → Servers → ⋯ → Connect → Update and reconnect.
  6. The update completes and the connection succeeds.

Operating System

  • Client: macOS (Apple silicon).
  • Remote: Linux; distribution/version not collected.

Terminal

Not applicable: desktop SSH connection.

Activity

  1. opencodejr commented on Oct 29, 2026

    @opencodejr
    Contributor

    Thanks for the detailed report and for checking /api/info and the running process.

    I think this is a duplicate of #53375. That issue reports the same problem with Desktop 2.0.23 and a 2.0.22 remote: the SSH bootstrap requires the desktop and remote versions to match exactly, the remote version is dropped, and the UI falls back to health?.version ?? "1", so a patch-level V2 mismatch shows up as "running OpenCode 1". It also asks for the "Server update required" / "Update and reconnect" option to be shown for V2 mismatches, which matches your request to offer it outside Settings.

    Possible duplicates and related issues, ordered by likelihood:

    For anyone else who hits this: Settings → Servers → ⋯ → Connect → Update and reconnect works, as does running opencode upgrade and then opencode service restart on the remote.

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

  2. opencodejr commented on Oct 30, 2026

    @opencodejr
    Contributor

    We haven't heard back since the duplicate notice, so I'm closing this as a duplicate of #53375. That issue covers the same problem: an SSH server running a slightly different V2 version is reported as "running OpenCode 1" instead of showing its real version and offering Update and reconnect. Please follow #53375 for updates.

    Until it's fixed, Settings → Servers → ⋯ → Connect → Update and reconnect works, as does running opencode upgrade and then opencode service restart on the remote.

    If your case turns out to be different from #53375, reply here and we can reopen it.

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