Coder powers secure, scalable development across key industries — automotive, finance, government, and technology — enabling faster builds, tighter compliance, and seamless AI adoption in enterprise-grade cloud environments.
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.
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.
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):
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.
Use your terminal to authenticate the CLI with Coder web UI and your workspaces:
coder login <accessURL>
Access Coder via SSH:
coder config-ssh
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
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.
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.