Coder Remote

July 17, 2026 ยท View on GitHub

Visual Studio Marketplace Open VSX Version "Join us on
Discord"

The Coder Remote extension connects your editor to Coder workspaces with a single click.

Demo

Features

  • One-click workspace access - open workspaces from the Coder dashboard or the editor sidebar. Workspaces start automatically when opened.
  • Multi-editor support - works with VS Code, Cursor, Windsurf, and other VS Code forks.
  • Workspace sidebar - browse, search, and create workspaces. View agent metadata and app statuses at a glance.
  • Coder Tasks - create, monitor, and manage AI agent tasks directly from the sidebar with real-time log streaming.
  • Multi-deployment support - connect to multiple Coder deployments and switch between them without losing credentials.
  • Dev container support - open dev containers running inside workspaces.
  • Secure authentication - session tokens stored in the OS keyring (macOS/Windows), with optional OAuth 2.1 support.
  • Air-gapped / restricted networks - no external dependencies beyond your Coder deployment.
  • Automatic SSH tuning - applies recommended SSH settings for reliable long-lived connections and recovers from sleep/wake.

Note

The extension builds on VS Code-provided implementations of SSH. Make sure you have the correct SSH extension installed for your editor (ms-vscode-remote.remote-ssh, anysphere.remote-ssh for Cursor, or codeium.windsurf-remote-openssh for Windsurf).

Getting Started

Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.

ext install coder.coder-remote

Alternatively, manually install the VSIX from the latest release.

All extension settings are under the coder.* namespace in the Settings UI. Paths in settings accept ~ and ${userHome} from VS Code's variables reference. Several coder.* settings (paths, commands, hostnames, and proxy bypass lists) are excluded from Settings Sync via ignoreSync, because their values can depend on the specific machine or network where they were set.

Warning

Do not give any coder.* setting "scope": "machine". In a remote window VS Code filters machine-scoped keys out of the local User settings.json, so such a value only holds until the extension registers its schema on activation. After that, the next re-parse of settings.json (from an edit, a Settings Sync write, a profile switch, or a tasks.json load) drops the value back to its default, with no remote-side copy to fall back on. This intermittent revert is the cause of #1032. Use application scope instead: it is honored in remote windows regardless of timing. See #1034 for the mechanism and reproduction.

URI Handler

The extension registers a URI handler that can open workspaces from outside the editor, such as links on the Coder dashboard. The scheme matches the editor (vscode://, cursor://, windsurf://, etc.), followed by the extension ID and a path:

vscode://coder.coder-remote/open?owner=alice&workspace=dev&agent=main&folder=/home/coder/project

/open

Opens a workspace, starting it first if needed.

ParameterRequiredDescription
ownerYesUsername of the workspace owner.
workspaceYesName of the workspace.
agentNoAgent name (not ID). If omitted or unmatched in a multi-agent workspace, a picker is shown.
folderNoAbsolute path inside the workspace to open. If omitted, a recently opened folder for this workspace is used (a picker is shown when there are several); with no recents, the window opens without a folder.
openRecentNoOpen the most recently used folder for this workspace, skipping the picker. True when present without a value or set to true. Ignored when folder is set.
urlNoCoder deployment URL. If omitted, the extension prompts for it (pre-filled with the current deployment).
tokenNoSession token for authentication. If omitted, the existing session is used or a login flow is started.

/openDevContainer

Opens a dev container running inside a workspace.

ParameterRequiredDescription
ownerYesUsername of the workspace owner.
workspaceYesName of the workspace.
agentYesAgent name the dev container runs on.
devContainerNameYesName of the dev container.
devContainerFolderYesFolder to open inside the dev container.
localWorkspaceFolderNoLocal path of the dev container project. Required if localConfigFile is set.
localConfigFileNoLocal path to the devcontainer.json file.
url, tokenNoSame as /open.