Files
coder/docs/user-guides/workspace-access/index.md
T
Atif Ali 062c0fdd3b docs: rebrand Windsurf doc page to Devin Desktop (#28205)
## Summary

Cognition (maker of Devin) rebranded the Windsurf Editor as Devin
Desktop on June 2, 2026, after acquiring it from Codeium in July 2025.
Our docs still referred to the editor as Windsurf and linked to a dead
`codeium.com` domain.

## Changes

- Renamed `docs/user-guides/workspace-access/windsurf.md` to
`devin-desktop.md`, rewritten to lead with Devin Desktop branding, note
the Codeium -> Windsurf -> Devin Desktop history, and use current links
(`windsurf.com`, `docs.windsurf.com`) instead of dead `codeium.com`
ones.
- Updated `docs/manifest.json` and
`docs/user-guides/workspace-access/index.md` to reference the new page.
- Updated remaining Windsurf mentions to Devin Desktop in
`docs/ai-coder/ide-agents.md`, `docs/ai-coder/index.md`,
`docs/reference/glossary.md`, and
`docs/ai-coder/ai-gateway/clients/index.md`.
- Added `windsurf.com`/`devin.ai` to `.github/.linkspector.yml` ignore
patterns; both rate-limit repeated automated requests with 429s (same
class of issue as the `codeium.com`/`marketplace.visualstudio.com` fix
in #28203).
- Switched every module reference from `windsurf` to the new
`devin-desktop` registry module (`docs/about/contributing/modules.md`,
the three `get-started/customize-your-template/*.md` Terraform
tutorials, and the main doc page's module link), since the new module
actually renders `display_name = "Devin Desktop"` / `slug =
"devin-desktop"` in the UI (the old `windsurf` module hardcodes
"Windsurf Editor").

<details>
<summary>Scope notes / sequencing</summary>

The `devin-desktop` module referenced here is being added in
[coder/registry#1050](https://github.com/coder/registry/pull/1050) (not
yet merged/released). That PR is itself gated on
[coder/coder#28214](https://github.com/coder/coder/pull/28214)
(whitelisting the `devin:` URI scheme) shipping in a released Coder
version first. This docs PR can merge independently, the module link
will 404 until #1050 is released, same as any
docs-ahead-of-registry-release sequencing.

The Terraform code samples now show `module "devin-desktop"` because
that module's `display_name`/`slug` are properly parameterized (unlike
`windsurf`, which hardcodes "Windsurf Editor"/`windsurf` regardless of
what's passed in), so the docs stay accurate to the rendered UI.

</details>

## Validation

- `make lint` (docs lint, markdownlint, repo checks) passes.
- Manually verified the new outbound links (`docs.windsurf.com`) return
200; `windsurf.com`/`devin.ai` are rate-limited (429) from this
environment too, hence the added ignore patterns.

Stacked on #28203 (targets that branch so the diff here stays scoped to
the rebrand; will retarget to `main` once #28203 merges).

> 🤖 This PR was created with the help of Coder Agents, and needs a human
review. 🧑💻
2026-08-18 15:17:02 +05:00

7.7 KiB

Access your workspace

There are many ways to connect to your workspace, the options are only limited by the template configuration.

Deployment operators can learn more about different types of workspace connections and performance in our networking docs.

You can see the primary methods of connecting to your workspace in the workspace dashboard.

Workspace View

Web Terminal

The Web Terminal is a browser-based terminal that provides instant access to your workspace's shell environment. It uses xterm.js and WebSocket technology for a responsive terminal experience with features like persistent sessions, Unicode support, and clickable URLs.

Terminal Access

Read the complete Web Terminal documentation for customization options, keyboard shortcuts, and troubleshooting guides.

SSH

Through the CLI

Coder will use the optimal path for an SSH connection (determined by your deployment's networking configuration) when using the CLI:

coder ssh my-workspace

Or, you can configure plain SSH on your client below.

Note

The coder ssh command does not have full parity with the standard SSH command. For users who need the full functionality of SSH, use the configuration method below.

Running remote commands with quoting

Arguments after -- are joined with spaces into a single command string before being sent to the workspace agent (per RFC 4254 §6.5, which defines the SSH exec request as a single string). Your local shell consumes outer quotes before the CLI ever sees the arguments, so inner quoting is not preserved on the wire.

This means a common pattern from interactive shells does not behave as you might expect:

# Surprising: prints an empty line, NOT "ready"
coder ssh my-workspace -- bash -c 'echo ready'

The local shell strips the single-quotes, the CLI receives the argv [bash, -c, echo, ready], and the remote agent runs bash -c echo ready; echo gets no arguments and ready is bound to $0. The same caveat applies to plain ssh user@host -- bash -c '...'; this is SSH protocol semantics, not a coder ssh limitation.

For commands that need preserved quoting, use one of these patterns:

Heredoc via stdin (recommended for multi-line scripts):

coder ssh my-workspace -- bash <<'EOF'
echo ready
EOF

A single-argument script payload:

coder ssh my-workspace -- /path/to/script.sh

Exit-code-only probe (when you only need to know if the command succeeded):

coder ssh my-workspace -- true && echo "agent is reachable"

Configure SSH

Coder generates SSH key pairs for each user to simplify the setup process.

  1. Use your terminal to authenticate the CLI with Coder web UI and your workspaces:

    coder login <accessURL>
    
  2. Access Coder via SSH:

    coder config-ssh
    
  3. Run coder config-ssh --dry-run if you'd like to see the changes that will be before you proceed:

    coder config-ssh --dry-run
    
  4. Confirm that you want to continue by typing yes and pressing enter. If successful, you'll see the following message:

    You should now be able to ssh into your workspace.
    For example, try running:
    
    $ ssh coder.<workspaceName>
    

Your workspace is now accessible via ssh coder.<workspace_name> (for example, ssh coder.myEnv if your workspace is named myEnv).

Tip

If you use a third-party SSH client that discovers hosts by parsing ~/.ssh/config (such as the VS Code Remote-SSH sidebar or scripts that enumerate known hosts), run coder config-ssh --no-wildcard instead. This generates an individual Host entry per workspace rather than a single wildcard block, making your workspaces visible to those tools.

Visual Studio Code

You can develop in your Coder workspace remotely with VS Code. We support connecting with the desktop client and VS Code in the browser with code-server.

Demo

Read more details on using VS Code in your workspace.

Cursor

Cursor is an IDE built on VS Code with enhanced AI capabilities. Cursor connects using the Coder extension.

Read more about using Cursor with your workspace.

Devin Desktop

Devin Desktop (formerly Windsurf, formerly Codeium) is Cognition's AI-powered code editor designed for AI-assisted development. Devin Desktop connects using the Coder extension.

Antigravity

Antigravity is Google's desktop IDE. Antigravity connects using the Coder extension.

Read more about using Antigravity with your workspace.

JetBrains IDEs

We support JetBrains IDEs using Gateway. The following IDEs are supported for remote development:

  • IntelliJ IDEA
  • CLion
  • GoLand
  • PyCharm
  • Rider
  • RubyMine
  • WebStorm
  • JetBrains Fleet

Read our docs on JetBrains for more information on connecting your JetBrains IDEs.

code-server

code-server is our supported method of running VS Code in the web browser. Learn more about what makes code-server different from VS Code web or visit the documentation for code-server.

code-server in a workspace

Other Web IDEs

We support a variety of other browser IDEs and tools to interact with your workspace. Each of these can be configured by your template admin using our Web IDE guides.

Supported IDEs:

  • VS Code Web
  • JupyterLab
  • RStudio
  • Airflow
  • File Browser

Our Module Registry also hosts a variety of tools for extending the capability of your workspace. If you have a request for a new IDE or tool, please file an issue in our Modules repo.

Coder Desktop

Coder Desktop is a native application that provides seamless access to your workspaces via a VPN tunnel. With Coder Desktop, you get:

  • Automatic port forwarding: All workspace ports are available at workspace-name.coder:PORT with no manual setup
  • SSH access: Connect with ssh workspace-name.coder using any SSH client
  • File sync: Bidirectional file synchronization between local and remote directories

Coder Desktop is the recommended way to access workspace services for developers who want a seamless, native experience.

Ports and Port forwarding

You can manage listening ports on your workspace page through the listening ports window in the dashboard. These ports are often used to run internal services or preview environments.

Tip

For automatic access to all ports without manual configuration, use Coder Desktop.

You can also share ports with other users, or port-forward through the CLI with coder port-forward. Read more in the docs on workspace ports.

Open Ports window

Remote Desktops

Coder also supports connecting with an RDP solution, see our RDP guide for details.