Skip to content

[FEATURE]: Confirmed loopback Desktop connection links for local launchers #51430

Open

Description

@marcusquinn

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

Please consider a public Desktop link for local launchers to request an existing server and an exact project directory, with confirmation before connecting:

opencode://connect?url=<loopback-origin>&directory=<absolute-directory>

When a TUI and Desktop share a local server, a launcher currently cannot request that server and folder through the public Desktop interface. Users must select the server manually; changing private Electron settings is not a suitable integration.

The proposed flow displays the server and folder, waits for confirmation before a health request, and then opens a draft in that directory. Cancellation changes nothing. It rejects non-loopback origins and embedded credentials, preserves saved startup defaults and existing credentials, and handles cold launches. A packaged public capability manifest lets launchers refuse unsupported Desktop versions.

Draft #51431 contains a prototype and existing-infrastructure tests for cancellation, cold-start confirmation, URL validation, and capability packaging. This is a request for core-team design review, not a claim that the interface is approved. Packaged Electron end-to-end acceptance is still outstanding.

Related but distinct: #35943 proposes V2 service QR pairing and an authenticated connection-details endpoint. This request is limited to confirmed local Desktop navigation, without a pairing endpoint or credential-bearing link.

The directory-normalization bug originally included here is already tracked in #50821 (also related to #29869). It is not part of this feature request. The draft keeps its fix in a separate commit, 131840bb94, so maintainers can consider it independently.

Activity

  1. github-actions commented on Sep 26, 2026

    @github-actions
    Contributor

    This issue doesn't fully meet our contributing guidelines.

    What needs to be fixed:

    • This issue combines a directory/worktree bug with a separate connection-link feature proposal, so it doesn't use one of the required issue templates. Keep the bug report in the Bug Report template, and file the connection-link proposal separately using the Feature Request template, with a title starting [FEATURE]: and the required verification checkbox.
    • Add system details for the bug report, including the operating system/version and whether the server is local or remote.

    Please edit this issue to address the above within 2 hours, or it will be automatically closed.


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

    • #50821: opening another checkout of the same repository redirects to the project's stored worktree through similar client path normalization.
    • #29869: Desktop merges directories of the same Git repository into one project and treats one as a sandbox.

    If you believe this was flagged incorrectly, please let a maintainer know.

  2. github-actions commented on Sep 26, 2026

    @github-actions
    Contributor

    Thanks for updating the issue. It still combines two separate requests: the Desktop directory/worktree bug and the opt-in connection-link feature. Please keep this issue focused on the bug, and file the connection-link proposal separately using the Feature Request template, with a title starting , a description of the need, and the required verification checkbox. Please also add the bug report's system details (operating system/version and whether the server is local or remote).

  3. github-actions commented on Sep 26, 2026

    @github-actions
    Contributor

    Correction: the separate feature issue's title must start with [FEATURE]:. Please use the Feature Request template, include a description of the need and its required verification checkbox, and add the bug report's operating system/version and whether the server is local or remote here.

  4. changed the title [-]Desktop replaces an explicitly selected directory with another Git worktree[/-] [+][FEATURE]: Confirmed loopback Desktop connection links for local launchers[/+] on Sep 26, 2026
  5. github-actions commented on Sep 26, 2026

    @github-actions
    Contributor

    Thanks for updating the issue and clarifying the feature request.

  6. vladimirdulov commented on Oct 15, 2026

    @vladimirdulov

    Following the V2 port guidance on #51431: is the confirmed loopback opencode://connect?url=...&directory=... interface, with the packaged connect-project: 1 capability, acceptable for V2?

    I checked the current V2 sources: packages/app/src/home/projects/add.ts already opens the supplied directory, so the old directory patch should not be replayed wholesale. The connection-link feature is separate. I will wait for the design approval required by CONTRIBUTING.md before opening its implementation PR.

    If a different V2 connection/pairing interface is preferred, please point to the supported contract. Verification after implementation will cover confirmation/cancellation, exact-directory selection, preserved credentials/defaults, packaged capability detection, and real Desktop screenshots.

  7. opencodejr commented on Oct 28, 2026

    @opencodejr
    Contributor

    Thanks for the detailed proposal, @marcusquinn! As I understand it, you'd like a public Desktop link, opencode://connect?url=<loopback-origin>&directory=<absolute-directory>, that local launchers can use to point Desktop at an existing loopback server and project folder. Desktop would always ask the user to confirm before connecting.

    Desktop already registers the opencode:// scheme, but it doesn't handle a connect link today, so this is a new interface that needs a design decision. Maintainers will consider it.

    Related issues:

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions