-
Notifications
You must be signed in to change notification settings - Fork 952
Open
Labels
needs-evaluationUse this label on feature requests that require joint evaluation by Product and Engineering teams.Use this label on feature requests that require joint evaluation by Product and Engineering teams.
Description
Problem Description
Today, integrating desktop applications with Coder depends on dedicated extensions(e.g, VSCode and JetBrains) or manual configuration via the CLI (e.g., coder config-ssh
). This creates:
- Friction for teams with limited engineering resources.
- Limited flexibility for integrating new or less commonly used tools.
- Slower adoption of Coder for users dependent on specific local tools.
Desired Solution
Introduce a standardized, extensible URI scheme (coder://
) that leverages Coder Desktop to streamline application launching. This is very similar to the existing RDP handling of Coder Desktop.
Example URI:
coder://authority/v0/open/ws/<workspace>/agent/<agent>/uri?=<custom-app-uri>
Example for Zed IDE:
coder://authority/v0/open/ws/ws-abc123/agent/agent-xyz/uri?=zed://ssh/myworkspace.coder/folder
Behavior:
- Coder Desktop intercepts the
coder://
URI. - Verifies if Coder Desktop is installed and running.
- Handles tunneling and passes the custom URI to the target application.
- Fallback behavior:
- Prompt user to install Coder Desktop if not found.
- Show alert if the target application (e.g.,
zed://
) is unsupported or not installed.
- UI modal fallback appears after 500ms if the URI fails to invoke, using the AppLink component.
Implementation Requirements
- UI:
- Documentation:
- Update Coder Desktop documentation to provide examples for popular tools (Zed, VNC, DCV).
- Modules:
- Update KasmVNC module to expose the
vnc://
URI throughcoder://
. - Update Amazon DCV module to expose the
dcv://
URI throughcoder://
.
- Update KasmVNC module to expose the
Metadata
Metadata
Assignees
Labels
needs-evaluationUse this label on feature requests that require joint evaluation by Product and Engineering teams.Use this label on feature requests that require joint evaluation by Product and Engineering teams.