# Working with a remote workspace

A remote workspace is a prepared Ubuntu VM in the cloud where you work on your projects without installing anything on your own computer.

> Source: https://www.application-platform.com/en/docs/workspaces-overview/

A remote workspace is a virtual machine running Ubuntu that the platform provisions for you in the cloud. All tools are installed, the repositories of your project are already cloned, and you work inside it through a remote desktop or with VS Code in the browser. Your own computer only needs an RDP client and Tailscale.

## When a workspace is the right choice

A workspace makes sense when you cannot or do not want to install anything on your computer, when your hardware is too weak, or when someone needs to join on short notice and has no configured machine. It also helps with pairing, reviews, and support, because everyone involved sees the same reproducible environment. If you prefer working on your own computer, the setup app configures it for you; see [Working locally]({{< relref "working-locally" >}}).

## From an empty account to a running desktop

You need to do three things once. First, an administrator of your organization [creates the workspace]({{< relref "create-workspace" >}}), choosing the project and the person who will use it; the platform then provisions the VM. Second, you [set up Tailscale]({{< relref "workspace-vm-tailscale" >}}) on your device, because the VMs are only reachable through the private workspace network and not from the open internet. You do this once per device. Third, you [connect to the workspace]({{< relref "workspace-vm-access" >}}), either with a remote desktop client via [RDP]({{< relref "workspace-rdp" >}}) or [VNC]({{< relref "workspace-vnc" >}}), or with VS Code in the browser.

## Working inside the workspace

Inside the workspace you work as you would on a configured computer. The project folders are in the home directory, you start applications with `ap run-local`, and the configuration for editors and AI agents comes from your project's `local-configuration` repository. [Installed software]({{< relref "workspace-ubuntu-software" >}}) lists which programs are available. [Working with projects]({{< relref "workspace-vm-project-work" >}}) covers how you open repositories, create branches, and push. [Starting applications]({{< relref "workspace-ubuntu-dev-scripts" >}}) describes what `ap run-local` does for each repository type.

Technical background on the machines, the workspace start page, and Code Server is on [Workspace VMs]({{< relref "workspace-vms" >}}). If the connection or a tool does not behave as expected, [Troubleshooting]({{< relref "workspace-vm-troubleshooting" >}}) lists the checks to run.

