Visual Studio Code Server
About this Install Guide
| Reading time: | 15 min |
| Last updated: | 6 Aug 2026 |
| Reading time: |
| 15 min |
| Last updated: |
| 6 Aug 2026 |
This guide shows you how to install and use the tool with the most common configuration. For advanced options and complete reference information, see the official documentation. Some install guides also include optional next steps to help you explore related workflows or integrations.
Visual Studio Code (VS Code) Server is a built-in feature of VS Code that runs a web-based instance on a remote machine, accessible from any browser.
Unlike VS Code Tunnels , VS Code Server doesn’t need a GitHub account or a connection to Microsoft’s tunnel service. All traffic stays between your local machine and the remote server.
Use cases for VS Code Server include:
- Remote Arm Linux servers, including cloud instances, with no Linux desktop installed
- Developer virtual machines, such as Multipass
- Arm single board computers running Linux
- Air-gapped or restricted environments where external tunnel services aren’t available
You’ll learn how to install VS Code CLI on a remote Arm Linux machine and use VS Code Server to access it from a browser.
Before you begin
Confirm you are using an Arm machine by running:
uname -m
The output should be:
aarch64
If you see a different result, you’re not using an Arm computer running 64-bit Linux.
You also need SSH access to the remote machine. For more information about SSH, see the SSH install guide .
Download VS Code CLI
The VS Code CLI is a small standalone binary that includes serve-web support. Use it to run VS Code Server on a headless remote machine.
Download the CLI for Arm (aarch64):
wget -O vscode-cli.tgz 'https://code.visualstudio.com/sha/download?build=stable&os=cli-alpine-arm64'
Install VS Code CLI
Extract the CLI archive:
tar xvf vscode-cli.tgz
The archive file contains a single executable named code. The code binary is placed in your current directory.
Verify the installation:
./code --version
The output prints the VS Code version, and is similar to:
code 1.132.0 (commit df53daabb18cd157bdb08c7f01c34df936cf12f4)
Common VS Code Server configuration options
The code serve-web command accepts several options. View all options with:
./code serve-web --help
Common options include:
| Option | Description |
|---|---|
--host | The host interface to bind to. Defaults to localhost. Use 0.0.0.0 for all interfaces. |
--port | The port to listen on. Defaults to 8000. If 0 is passed, a random free port is picked. |
--without-connection-token | Disables token authentication. Use this option only if the connection is secured by other means. |
--connection-token | Specifies a fixed secret that must be included with all requests. |
--default-folder | The workspace folder to open when no input is specified in the browser URL. |
--disable-telemetry | Disables telemetry reporting. |
Start VS Code Server
Start VS Code Server on the remote machine:
./code serve-web --host 0.0.0.0 --port 8000 --without-connection-token
The server starts and prints output similar to:
*
* Visual Studio Code Server
*
* By using the software, you agree to
* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and
* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).
*
Web UI available at http://0.0.0.0:8000
The --without-connection-token flag disables the authentication token. This is convenient for local and private networks. If your remote machine is on a public network, omit this flag and use the token-based URL for security, or use SSH port forwarding.
Connect to VS Code Server from a browser
If the remote machine isn’t directly accessible in a browser — for example, a cloud instance or headless server — there are two ways to connect.
Connect using SSH port forwarding
Use SSH port forwarding to securely access VS Code Server. Bind to localhost instead of 0.0.0.0 when using this approach.
Start the server on the remote machine:
./code serve-web --host 127.0.0.1 --port 8000 --without-connection-token
On your local machine, forward the port with SSH:
ssh -L 8000:localhost:8000 user@ip-address
Open your local browser and navigate to:
http://localhost:8000
VS Code appears in the browser, connected to the remote machine.
Connect by opening a port on the remote machine
You can also open port 8000 on the remote machine for direct access. On a cloud instance, opening the port involves modifying the security group to allow inbound TCP traffic on port 8000.
For best security, open the port only for your IP address. Don’t open the port to all IP addresses unless you also use token-based authentication.
Every cloud provider has instructions on how to configure security groups. For an example, see the AWS documentation to configure security group rules .
With the port open, start the server. Use hostname -I to pass the machine’s IP address directly so the generated link is ready to use:
./code serve-web --host $(hostname -I | awk '{print $1}') --port 8000 --without-connection-token
Without the --without-connection-token flag, the server generates a token URL.
The output includes a clickable URL with the IP address:
Web UI available at http://10.7.43.188:8000
Open this URL in your browser to access VS Code.
Keep VS Code Server running after a disconnected SSH session
If you start VS Code Server in an SSH session and the session disconnects or times out, the server process stops. You’d then need to SSH back in and start the server again.
To avoid having to restart the server, use nohup or a terminal multiplexer such as tmux or screen to keep the server running independently of your SSH session:
nohup ./code serve-web --host 127.0.0.1 --port 8000 --without-connection-token > vscode-serve.log 2>&1 &
Check the log to verify it started:
cat vscode-serve.log
Stop VS Code Server
To stop the server:
kill $(pgrep -f "code serve-web")
Next steps
You’re now ready to use VS Code in the browser on your remote Arm machine. You can install extensions, select a color theme, and develop with the full VS Code experience.
Give Feedback
How would you rate this tool quick-install guide?
What is the primary reason for your feedback ?
Thank you! We're grateful for your feedback.
- Have more feedback? Log an issue on GitHub.
- Want to collaborate? Join our Discord server.