About this Install Guide

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:

OptionDescription
--hostThe host interface to bind to. Defaults to localhost. Use 0.0.0.0 for all interfaces.
--portThe port to listen on. Defaults to 8000. If 0 is passed, a random free port is picked.
--without-connection-tokenDisables token authentication. Use this option only if the connection is secured by other means.
--connection-tokenSpecifies a fixed secret that must be included with all requests.
--default-folderThe workspace folder to open when no input is specified in the browser URL.
--disable-telemetryDisables 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

        
    
Note

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.

Warning

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?