--- title: "VS Code" description: "Open sandbox environments in VS Code for interactive editing and debugging" --- When a Daytona sandbox has [SSH access](/human-tools/ssh-access) enabled, you can connect VS Code directly to the sandbox using the built-in [Remote - SSH](https://code.visualstudio.com/docs/remote/ssh) extension. This gives you a full IDE experience — editing, terminal, debugging, port forwarding — inside the same environment where your workflow agents are running. VS Code remote access requires [SSH access](/human-tools/ssh-access), which is only available with the Daytona sandbox provider. ## Prerequisites - [VS Code](https://code.visualstudio.com/) with the [Remote - SSH](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh) extension installed - A running Daytona sandbox with SSH access enabled ## Connecting to a sandbox 1. Start a workflow with a preserved Daytona sandbox: ```bash fabro run workflow.fabro --environment cloud --preserve-sandbox ``` 2. Use `fabro sandbox ssh` to get the connection command: ```bash fabro sandbox ssh --print ``` 3. In VS Code, open the Command Palette (`Cmd+Shift+P` / `Ctrl+Shift+P`) and run **Remote-SSH: Connect to Host...** 4. Paste the hostname from the SSH command (e.g. `daytona@fabro-20260307-143022-a3f2.ssh.daytona.io`) 5. Once connected, open the workspace folder at `/home/daytona/workspace` VS Code installs its server component on the sandbox automatically. After the initial setup, you have full IDE access to the remote environment. ## What you can do Once connected, VS Code operates as if the sandbox filesystem were local: - **Edit files** — Full IntelliSense, code navigation, and refactoring on the sandbox filesystem - **Terminal** — Open integrated terminals that run directly on the sandbox - **Debug** — Attach debuggers to processes running in the sandbox using standard launch configurations - **Port forwarding** — Access web servers and other services running in the sandbox from your local browser - **Extensions** — VS Code extensions install on the sandbox automatically, so linters, formatters, and language servers work as expected ## Tips - **Use `--preserve-sandbox`** — Without it, the sandbox is destroyed when the workflow finishes and your VS Code session disconnects. Combine with `auto_stop_interval` in your [run config](/execution/run-configuration) to control idle timeout. - **Pair with human gates** — When a workflow pauses at a [human gate](/workflows/human-in-the-loop), connect via VS Code to review the agent's changes before approving. - **SSH credential lifetime** — Daytona SSH credentials expire after 60 minutes by default. If your VS Code session disconnects, run `fabro sandbox ssh ` again to get fresh credentials (use `--ttl` to set a custom expiry).