fabro/docs/human-tools/vs-code.mdx
Bryan Helmkamp 28884ae093 rename Arc to Fabro in all Rust crates, symbols, env vars, and supporting files
- Rename 20 crate directories lib/crates/arc-* → fabro-*
- Update all Cargo.toml: crate names, dep paths, feature flags, bin name
- Rename arc_server module → fabro_server in fabro-llm
- ArcError → FabroError across 30+ files
- ARC_VERSION/ARC_GIT_SHA/ARC_BUILD_DATE → FABRO_* constants
- All use/qualified paths: arc_agent:: → fabro_agent::, etc. (~1500 occurrences)
- Env vars ARC_* → FABRO_* in string literals and shell scripts
- String literals: X-Arc-Demo, arc-bot, arc@local, arc-web, arc-mcp, etc.
- Path strings: .arc/ → .fabro/, arc.toml → fabro.toml, refs/arc/ → refs/fabro/
- arc-api.yaml → fabro-api.yaml (OpenAPI spec)
- skills/arc-create-workflow → fabro-create-workflow
- trycmd fixtures: $ arc → $ fabro
- Inline snapshots (insta) updated
- CI, Docker, install.sh, scripts, CLAUDE.md, AGENTS.md
- TypeScript app: env vars, headers, JWT issuer
- Docs: page slugs, git refs, config paths, sandbox names, repo URLs
- Repo references: brynary/arc → fabro-sh/fabro

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 12:25:58 -04:00

54 lines
2.9 KiB
Text

---
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.
<Note>
VS Code remote access requires [SSH access](/human-tools/ssh-access), which is only available with the Daytona sandbox provider.
</Note>
## 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 SSH access and a preserved sandbox:
```bash
fabro run workflow.dot --sandbox daytona --ssh --preserve-sandbox
```
2. Fabro prints the SSH connection command:
```
Sandbox: daytona (fabro-20260307-143022-a3f2)
ssh daytona@fabro-20260307-143022-a3f2.ssh.daytona.io
```
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. If your VS Code session disconnects, you'll need to start a new run with `--ssh` to get fresh credentials.