# Daytona SDK — Programmable Dev Sandboxes for AI Agents > Daytona SDK spawns Linux dev environments in 90 ms. Run agent-generated code, browser automation, ML jobs. Snapshot + fork to branch execution. ## Install Save the content below to `.claude/skills/` or append to your `CLAUDE.md`: ## Quick Use 1. Sign up at app.daytona.io → copy API key 2. `pip install daytona-sdk` (or `npm install @daytonaio/sdk`) 3. `daytona.create()`, then `sandbox.process.exec("")` — branch with `sandbox.snapshot()` --- ## Intro The Daytona SDK lets AI agents spin up secure Linux sandboxes in 90 ms. Each sandbox is a full Ubuntu environment with a writable filesystem, optional GPU, and the ability to fork or snapshot to branch agent execution paths. Best for: AI agents that need to test generated code, perform parallel exploratory branches, or maintain a persistent agent workspace. Works with: Python and TypeScript SDKs. Setup time: 5 minutes. --- ### Spin up a sandbox ```python from daytona import Daytona daytona = Daytona(api_key=os.environ["DAYTONA_API_KEY"]) sandbox = daytona.create() print(sandbox.id) # "sb_abc123" print(sandbox.cold_start_ms) # ~90 # Run a command response = sandbox.process.exec("python -c 'print(2+2)'") print(response.result) # "4" # Or shell session session = sandbox.process.create_session() session.execute("cd /workspace && git clone ...") session.execute("cd repo && pip install -r requirements.txt") session.execute("pytest") sandbox.delete() # or auto-cleanup on exit ``` ### Mount files from local ```python sandbox = daytona.create() # Upload a directory sandbox.fs.upload_directory(local_path="./my-project", sandbox_path="/workspace/proj") # Download generated artifacts sandbox.fs.download(sandbox_path="/workspace/proj/dist", local_path="./build") ``` ### Snapshot + fork — branch agent execution ```python sandbox = daytona.create() sandbox.process.exec("git clone https://github.com/example/repo /work") # Snapshot the current state snap = sandbox.snapshot() # "snap_xyz" # Branch 1: try approach A sb_a = daytona.create_from_snapshot(snap) sb_a.process.exec("python try_approach_a.py") # Branch 2: try approach B in parallel sb_b = daytona.create_from_snapshot(snap) sb_b.process.exec("python try_approach_b.py") # Pick the winner winner = sb_a if score(sb_a) > score(sb_b) else sb_b ``` ### Why use Daytona vs running Docker locally - 90 ms cold start vs Docker's ~10 s - Snapshot + fork lets agents do tree search across solutions - Cloud-resident — no local CPU / RAM tax - Pay per second of sandbox time --- ### FAQ **Q: Is Daytona free?** A: Daytona has a free tier for testing. Paid plans (per-second compute pricing) start when you scale up. Their core platform is also open-source on GitHub for self-hosting. **Q: How is this different from Modal Sandboxes or E2B?** A: All three are cloud Linux sandboxes. Differences: Daytona's snapshot/fork primitives are unique (great for agents doing parallel exploration). Modal optimizes for Python ML workloads. E2B optimizes for code-interpreter UX and microVM isolation. Pick by primary use case. **Q: Can I use Daytona with Claude Code or Cursor?** A: Yes — agents in Claude Code / Cursor can use the Daytona Python SDK as a tool. They can also connect via MCP — Daytona ships an MCP server. Useful for 'try this code in a sandbox before committing it' workflows. --- ## Source & Thanks > Built by [Daytona](https://github.com/daytonaio). Apache-2.0 (core). > > [daytonaio/daytona](https://github.com/daytonaio/daytona) — ⭐ 16,000+ --- ## 快速使用 1. 在 app.daytona.io 注册,复制 API key 2. `pip install daytona-sdk`(或 `npm install @daytonaio/sdk`) 3. `daytona.create()`,然后 `sandbox.process.exec("")`,用 `sandbox.snapshot()` 分支 --- ## 简介 Daytona SDK 让 AI agent 在 90ms 内起一个安全 Linux sandbox。每个 sandbox 是完整 Ubuntu 环境,可写文件系统、可选 GPU、能 fork 或 snapshot 来分叉 agent 执行路径。适合需要测试生成代码、做并行探索分支、或维护持久 agent 工作区的 AI agent。Python 和 TypeScript SDK 都有。装机时间 5 分钟。 --- ### 起一个 sandbox ```python from daytona import Daytona daytona = Daytona(api_key=os.environ["DAYTONA_API_KEY"]) sandbox = daytona.create() print(sandbox.id) # "sb_abc123" print(sandbox.cold_start_ms) # ~90 # 跑命令 response = sandbox.process.exec("python -c 'print(2+2)'") print(response.result) # "4" # 或 shell session session = sandbox.process.create_session() session.execute("cd /workspace && git clone ...") session.execute("cd repo && pip install -r requirements.txt") session.execute("pytest") sandbox.delete() # 或退出时自动清理 ``` ### 从本地挂文件 ```python sandbox = daytona.create() # 上传目录 sandbox.fs.upload_directory(local_path="./my-project", sandbox_path="/workspace/proj") # 下载生成的产物 sandbox.fs.download(sandbox_path="/workspace/proj/dist", local_path="./build") ``` ### Snapshot + fork —— 分叉 agent 执行 ```python sandbox = daytona.create() sandbox.process.exec("git clone https://github.com/example/repo /work") # 快照当前状态 snap = sandbox.snapshot() # "snap_xyz" # 分支 1:试方案 A sb_a = daytona.create_from_snapshot(snap) sb_a.process.exec("python try_approach_a.py") # 分支 2:并行试方案 B sb_b = daytona.create_from_snapshot(snap) sb_b.process.exec("python try_approach_b.py") # 选赢的 winner = sb_a if score(sb_a) > score(sb_b) else sb_b ``` ### 为啥用 Daytona 不本地跑 Docker - 90ms 冷启动 vs Docker 的 ~10s - Snapshot + fork 让 agent 能在解决方案上做树搜索 - 云端 —— 不占本地 CPU / RAM - 按 sandbox 秒计费 --- ### FAQ **Q: Daytona 免费吗?** A: Daytona 有免费档用于测试。付费档(按秒计算定价)规模化时启用。核心平台也在 GitHub 开源,可自托管。 **Q: 跟 Modal Sandbox 或 E2B 啥区别?** A: 三个都是云 Linux sandbox。区别:Daytona 的 snapshot/fork 原语独特(agent 做并行探索时很好)。Modal 优化 Python ML 工作负载。E2B 优化 code-interpreter 体验和 microVM 隔离。按主要用例选。 **Q: 能配 Claude Code 或 Cursor 吗?** A: 能 —— Claude Code / Cursor 里的 agent 可以把 Daytona Python SDK 当工具用。也能通过 MCP 接入 —— Daytona 出 MCP server。「提交前在 sandbox 里试一下这段代码」这种工作流很合适。 --- ## 来源与感谢 > Built by [Daytona](https://github.com/daytonaio). Apache-2.0 (core). > > [daytonaio/daytona](https://github.com/daytonaio/daytona) — ⭐ 16,000+ --- Source: https://tokrepo.com/en/workflows/daytona-sdk-programmable-dev-sandboxes-for-ai-agents Author: Daytona