Daytona
Daytona is a self-hosted and secure open source development environment manager.
Daytona Documentation
https://www.daytona.io/docs
Generated on: 2026-06-03
Full documentation: https://www.daytona.io/docs/llms-full.txt
Daytona
Daytona is an open-source, secure and elastic infrastructure for running AI-generated code. Daytona provides full composable computers — sandboxes — with complete isolation, a dedicated kernel, filesystem, network stack, and allocated vCPU, RAM, and disk.
Sandboxes are the core component of the Daytona platform, spinning up in under 90ms from code to execution and running any code in Python, TypeScript, and JavaScript. Built on OCI/Docker compatibility, massive parallelization, and unlimited persistence, sandboxes deliver consistent, predictable environments for agent workflows.
Agents and developers interact with sandboxes programmatically using the Daytona SDKs, API, and CLI. Operations span sandbox lifecycle management, filesystem operations, process and code execution, and runtime configuration. Our stateful environment snapshots enable persistent agent operations across sessions, making Daytona the ideal foundation for AI agent architectures.
Daytona Documentation
- Daytona Documentation
- 1. Create an account
- 2. Obtain an API key
- 3. Install the SDK
- 4. Create a Sandbox
- 5. Write and run code
- Summary
- Next steps
- Architecture
- Interface plane
- Control plane
- Compute plane
- Container registry
- Getting Started
- Dashboard
- SDKs
- CLI
- API
- MCP server
- Multiple runtime support
- Guides
- Examples
- Create a sandbox
- Create and run code in a sandbox
- Create a sandbox with custom resources
- Create an ephemeral sandbox
- Create a sandbox from a snapshot
- Create a sandbox with a declarative image
- Create a sandbox with volumes
- Create a sandbox with a Git repository cloned
- Sandboxes
- Create Sandboxes
- GPU Sandboxes
- Windows Sandboxes
- Ephemeral Sandboxes
- Resources
- Start Sandboxes
- Get Sandbox
- List Sandboxes
- Stop Sandboxes
- Pause Sandboxes
- Archive Sandboxes
- Recover Sandboxes
- Resize Sandboxes
- Fork Sandboxes
- Label Sandboxes
- Create Snapshot from Sandbox
- Delete Sandboxes
- Sandbox lifecycle
- Multiple runtime support
- Automated lifecycle management
- Update sandbox last activity
- Auto-stop interval
- Auto-archive interval
- Auto-delete interval
- Running indefinitely
- Environment Configuration
- Configuration in code
- Environment variables
- Shell
- .env file
- Default values
- Snapshots
- Create Snapshots
- GPU Snapshots
- Public images
- Local images
- Images from private registries
- Declarative builder
- Resources
- Regions
- Get a Snapshot by name
- List Snapshots
- Activate Snapshots
- Deactivate Snapshots
- Delete Snapshots
- Snapshot lifecycle
- Run Docker in a Sandbox
- Run Kubernetes in a Sandbox
- Default Snapshots
- Python packages (pip)
- Node.js packages (npm)
- Declarative Builder
- Build declarative images
- Create pre-built Snapshots
- Image configuration
- Base image selection
- Package management
- File system operations
- Environment configuration
- Commands and entrypoints
- Dockerfile integration
- System package installation
- Non-root user setup
- Multi-language runtimes
- Volumes
- Create volumes
- Mount volumes
- Work with volumes
- Get a volume by name
- List volumes
- Delete volumes
- Share data between sandboxes
- Mount multiple volumes to one sandbox
- Multi-tenant isolation with subpaths
- Limitations
- Pricing & Limits
- Mount External Storage
- Mount an Amazon S3 bucket
- Pre-built snapshot
- Runtime install
- Mount a Cloudflare R2 bucket
- Pre-built snapshot
- Runtime install
- Mount a Tigris bucket
- Pre-built snapshot
- Runtime install
- Mount a copy-on-write fork per sandbox
- Mount a Google Cloud Storage bucket
- Pre-built snapshot
- Runtime install
- Mount an Azure Blob container
- Pre-built snapshot
- Runtime install
- Mount an Archil disk
- Pre-built snapshot
- Runtime install
- Mount a MesaFS filesystem
- Pre-built snapshot
- Runtime install
- Production: scoped ephemeral keys
- Unmount
- Regions
- Shared regions
- Dedicated regions
- Custom regions
- File System Operations
- Basic operations
- List files and directories
- Get directory or file information
- Create directories
- Upload files
- Download files
- Delete files
- Advanced operations
- File permissions
- Find and replace text in files
- Move or rename directory or file
- Git Operations
- Basic operations
- Clone repositories
- Get repository status
- Branch operations
- Create branches
- Checkout branches
- Delete branches
- Stage changes
- Commit changes
- Remote operations
- Push changes
- Pull changes
- Language Server Protocol
- Create LSP servers
- Supported languages
- Start LSP servers
- Stop LSP servers
- Code completions
- File notifications
- Open file
- Close file
- Document symbols
- Sandbox symbols
- Process and Code Execution
- Code execution
- Run code (stateless)
- Run code (stateful)
- Command execution
- Execute commands
- Session operations
- Get session status
- Entrypoint session
- Execute interactive commands
- Resource management
- Error handling
- Common issues
- Pseudo Terminal (PTY)
- Create PTY session
- Connect to PTY session
- List PTY sessions
- Get PTY session info
- Kill PTY session
- Resize PTY session
- Interactive commands
- Long-running processes
- Resource management
- PtyHandle methods
- Send input
- Wait for completion
- Wait for connection
- Kill PTY process
- Resize from handle
- Disconnect
- Check connection status
- Exit code and error
- Iterate over output (Python)
- Error handling
- Troubleshooting
- Log Streaming
- Stream logs with callbacks
- Retrieve all existing logs
- Daytona MCP Server
- Install Daytona CLI
- Authenticate with Daytona
- Initialize MCP server
- Configure MCP server
- Start MCP server
- Available tools
- Troubleshooting
- Computer Use
- Start Computer Use
- Stop Computer Use
- Get status
- Get process status
- Restart process
- Get process logs
- Get process errors
- Mouse operations
- Click
- Move
- Drag
- Scroll
- Get position
- Keyboard operations
- Type
- Press
- Hotkey
- Supported keys
- Accessibility operations
- Get tree
- Find nodes
- Focus node
- Invoke node
- Set node value
- Screenshot operations
- Take full screen
- Take region
- Take compressed
- Take compressed region
- Screen Recording
- Configure Recording Directory
- Start Recording
- Stop Recording
- List Recordings
- Get Recording
- Delete Recording
- Download Recording
- Recording Dashboard
- Display operations
- Get info
- Get windows
- Web Terminal
- Access from Dashboard
- Access via CLI
- Access via URL
- Security
- Related
- SSH Access
- Access from Dashboard
- Access via CLI
- Access via token
- Connect with VS Code
- Connect with JetBrains IDEs
- Token management
- Expiration
- Revoke token
- Related
- VNC Access
- Access VNC from Dashboard
- Programmatic VNC management
- Start VNC
- Stop VNC
- Get VNC status
- Automating desktop interactions
- Required packages
- VNC and desktop environment
- X11 libraries
- VPN Connections
- Tailscale
- Tailscale browser login
- Tailscale auth key
- Tailscale web terminal
- OpenVPN
- OpenVPN client configuration file
- OpenVPN client configuration
- OpenVPN web terminal
- Netbird
- Netbird setup key
- Netbird browser login
- Preview
- Authentication
- Standard preview URL
- Authentication
- Signed preview URL
- Authentication
- Warning page
- Custom Preview Proxy
- How it works
- WebSocket support
- Reserved ports
- Proxy headers
- Disable preview warning
- Disable CORS
- Disable last activity update
- Authentication
- Examples
- Playground
- Access from Dashboard
- Sandbox
- Management
- File system
- Git operations
- Process and code execution
- Terminal
- VNC
- Display
- Keyboard
- Mouse
- Screenshot
- Related
- Webhooks
- Accessing webhooks
- Endpoints
- Messages
- Create webhook endpoints
- Edit webhook endpoints
- Delete webhook endpoints
- Webhook events
- Sandbox events
- Snapshot events
- Volume events
- Webhook payload format
sandbox.createdsandbox.state.updatedsnapshot.createdsnapshot.state.updatedsnapshot.removedvolume.createdvolume.state.updated- Network Limits (Firewall)
- Tier-based network restrictions
- Create sandboxes with network restrictions
- Update network settings while a sandbox is running
- Network allow list format
- Organization configuration
- Test network access
- Security benefits
- Essential services
- NPM registry and package managers
- Git hosting and version control
- Python package managers
- Composer packages
- Ubuntu/Debian package repositories
- CDN and content delivery
- AI/ML services
- Docker registries and container services
- Maven repositories
- Google Fonts
- AWS S3 endpoints
- Google Cloud Storage
- Daytona
- Developer tools and services
- Messaging services
- LLM observability
- Troubleshooting
- Guides
- Analyze Data with AI
- Build an AI Data Analyst with Daytona
- 1. Project Setup
- 2. Dataset Preparation
- 3. Building the AI Data Analyst
- 4. Running Your Analysis
- 5. Complete Implementation
- Build Coding Agent Using AgentKit and Daytona
- 1. Workflow Overview
- 2. Project Setup
- 3. Configuration
- 4. Example Usage
- 5. Understanding the Agent's Execution Flow
- OpenCode Guides
- Run OpenCode with the Daytona Plugin
- 1. Workflow Overview
- 2. Project Setup
- 3. Understanding the Plugin Architecture
- Build a Coding Agent Using OpenCode SDK and Daytona
- 1. Workflow Overview
- SyncBoard - Features
- 2. Project Setup
- 3. Understanding the Script
- Build a Coding Agent Using OpenCode Web and Daytona
- 1. Workflow Overview
- 2. Project Setup
- Models and API Providers
- 3. Understanding the Script
- Analyze Data With LangChain AI Agent
- 1. Workflow Overview
- 2. Project Setup
- 3. Download Dataset
- 4. Initialize the Language Model
- 5. Define the Result Handler
- 6. Configure the Data Analysis Tool
- 7. Create and Run the Agent
- 8. Running Your Analysis
- 9. Complete Implementation
- 10. API Reference
- 11. Data Structures
- Build a Plan-and-Execute Data Agent With LangGraph and Daytona
- 1. Workflow Overview
- 2. Project Setup
- 3. Understanding the Core Components
- 4. Implementation
- 5. Run the Example
- 6. Adapting the Example
- Use Mastra Coding Agent with Daytona
- 1. Workflow Overview
- 2. Project Setup
- 3. Running the Agent
- 4. Example Usage
- Claude Guides
- Run Claude Code in a Daytona Sandbox via CLI
- Prerequisites
- Install the Daytona CLI
- Authenticate with Daytona
- Create a Sandbox
- Connect to the Sandbox
- Run Claude Code
- Build a Coding Agent Using Claude Agent SDK and Daytona
- 1. Workflow Overview
- Game Features:
- Play Now:
- 2. Project Setup
- 3. Example Usage
- Features:
- Live Preview:
- 4. Understanding the Agent's Architecture
- Build a Two-Agent Coding System with Claude and Daytona
- 1. Workflow Overview
- 2. Project Setup
- 3. Example Usage
- 4. Understanding the Agent Architecture
- 5. Customization
- 6. Cleanup
- Running Claude Code with Daytona
- Running Claude Code in a Daytona Sandbox
- Run Claude Managed Agents on Daytona
- Introduction
- How the pieces fit together
- What you set up
- Running the orchestrator
- Running applications
- What you get
- See also
- OpenClaw Guides
- Run OpenClaw in a Daytona Sandbox via CLI
- Prerequisites
- Install the Daytona CLI
- Authenticate with Daytona
- Create a Sandbox
- Connect to the Sandbox
- Run OpenClaw Onboarding
- Start the Gateway
- Access the Dashboard
- Pair Your Browser
- Security
- Configure Telegram
- Configure WhatsApp
- Run OpenClaw in a Daytona Sandbox via SDK
- 1. Workflow Overview
- 2. Project Setup
- 3. How It Works
- 4. Key Constants
- Build a Multi-Language Benchmark Agent with the Vercel AI SDK and Daytona
- 1. Workflow Overview
- Results at a glance
- 2. Project Setup
- 3. How It Works
- 4. Switching Providers
- Build a Coding Agent Using Codex SDK and Daytona
- 1. Workflow Overview
- 2. Project Setup
- 3. Understanding the Agent's Architecture
- OpenAI Agents SDK Guides
- Using the OpenAI Agents SDK with Daytona Sandboxes
- Prerequisites
- 1. Give Your Agent a Shell
- 2. Multi-Turn Conversations
- 3. Pause and Resume
- 4. Handoffs: Routing Work Between Agents
- 5. Sandbox Agents as Tools
- 6. Memory Across Sessions
- 7. Custom Capabilities
- Quick Reference: DaytonaSandboxClientOptions
- Patterns at a Glance
- What's Next
- Text-to-SQL Agent with the OpenAI Agents SDK and Daytona
- What a session looks like
- 1. Setup
- 2. The Workspace
- 3. The SqlCapability
- 4. The Agent
- 5. The Conversation Loop
- 6. Pause and Resume
- 7. Downloadable Results via Exposed Ports
- 8. Memory Across Sessions
- Quick Reference
- Build a Coding Agent Using Amp Code and Daytona
- 1. Workflow Overview
- 2. Project Setup
- 3. Understanding the Script
- Generate Verified Code With Google ADK Agent
- 1. Workflow Overview
- 2. Project Setup
- 3. Understanding the Core Components
- 4. Initialize Environment and Imports
- 5. Define the Response Extractor
- 6. Define the Agent Instruction
- 7. Configure the Daytona Plugin
- 8. Create the Agent
- 9. Create the App and Runner
- 10. Running the Example
- 11. Complete Implementation
- 12. API Reference
- Build a Coding Agent Using Letta Code and Daytona
- 1. Workflow Overview
- Access your app here:
- Features:
- 2. Project Setup
- 3. Understanding the Agent's Architecture
- Fix Bugs Automatically With AG2 and Daytona
- 1. Workflow Overview
- 2. Project Setup
- 3. Understanding the Core Components
- 4. Implementation
- 5. Running the Example
- 6. Complete Code
- 7. API Reference
- Build an Autonomous Bug-Fix Agent with Flue and Daytona
- 1. Workflow Overview
- 2. Project Setup
- 3. Understanding the Architecture
- Phase 1: Understand
- Phase 2: Reproduce
- Phase 3: Fix
- Phase 4: Pull Request
- 4. Example Walkthrough
- 5. Cleanup
- Train LLMs with Reinforcement Learning Using TRL and Daytona
- 1. Workflow Overview
- 2. Setup
- 3. Understanding the Code
- 4. Running the Training
- 5. Example Evaluation Walkthrough
- 6. Training Results
- 7. Adding Custom Tasks
- 8. Configuration Options
- Multi-Turn RL Training with OpenEnv and Daytona
- 1. OpenEnv and Daytona
- 2. Workflow Overview
- 3. Setup
- 4. Running a Single Episode
- 5. Understanding the Training Code
- 6. Running the Training
- 7. Training Results
- 8. Training Configuration
- Scaling Tool Execution in RL Training with veRL and Daytona
- 1. Overview
- 2. The Problem: Tool Execution Bottlenecks Rollout Speed
- 3. Daytona as the ReTool Backend
- 4. Setup
- 5. Start Training
- Benchmark Script
- References
- Recursive Language Model Guides
- Build deep Recursive Language Models
- 1. Workflow Overview
- 2. Setup
- 3. Running an Agent
- 4. Understanding the Code
- 5. Example Walkthrough
- 6. Configuration
- 7. Viewing Results
- 8. Conclusion
- Run DSPy RLMs on Daytona
- 1. Setup
- 2. Basic Usage
- 3. Workflow Overview
- 4. Example Walkthrough
- 5. Conclusion
- Audit Logs
- Access from Dashboard
- Real-time updates
- Programmatic management
- Get all audit logs
- Get audit logs for organization
- Log Structure
- Actions
- Targets
- Outcomes
- Security Exhibit
- Information security program
- Security policies
- Security training
- Personnel security
- Access control
- Data storage and classification
- Sandbox isolation
- Ephemeral sandbox supported
- Encryption
- Authentication and access
- Backup and recovery
- Vulnerability management
- Network security
- Secure development lifecycle
- Change management
- Third-party risk management
- Patch management
- Audit logging and monitoring
- Container and runtime security
- Penetration testing
- Vulnerability disclosure program
- Compliance and certifications
- Assessments, audits, and remediation
- Assessment obligations
- Remediation
- Secure disposal
- Security incident management
- Incident response procedures
- Notification
- Incident remediation
- Business continuity
- Termination obligations
- Contact and sub-processors
- Security contacts
- Sub-processors
- Open Source Deployment
- Overview
- Local Deployment Quick Start
- Domain Deployment Quick Start
- Prerequisites
- Steps
- DNS Setup for Proxy URLs
- Local Development
- Domain Deployment
- Domain Deployment: What the Setup Script Does
- Architecture
- Security Credentials
- Dex Configuration
- Docker Compose Environment Variables
- Caddy Installation and Configuration
- Firewall Configuration
- DNS Provider Reference
- Cloudflare
- DigitalOcean
- AWS Route 53
- Hetzner
- Domain Deployment Troubleshooting
- Browser redirects to
localhost:5556during login - 502 Bad Gateway on dashboard or sandbox preview URLs
- TLS certificate check fails for wildcard
- Sandbox URLs show
http://instead ofhttps:// - Development Notes
- Security Considerations
- Auxiliary Service Ports
- Additional Network Options
- HTTP Proxy
- Extra CA Certificates
- Environment Variables
- API Service
- Runner
- SSH Gateway
- Proxy
- [OPTIONAL] Configure Auth0 for Authentication
- Step 1: Create Your Auth0 Tenant
- Step 2: Configure Your Single Page Application
- Step 3: Create Machine-to-Machine Application
- Step 4: Set Up Custom API
- Step 5: Configure Environment Variables
- Customer Managed Compute
- Custom regions
- Custom region configuration
- Create a custom region
- Custom region credentials
- List custom regions
- Get a custom region
- Update a custom region
- Delete a custom region
- Custom runners
- Custom runner configuration
- Create a custom runner
- List custom runners
- Get a custom runner
- Update runner scheduling
- Delete a custom runner
- Admin operations
- Admin runner configuration
- Create a runner
- List runners
- Get runner
- Update runner scheduling
- Delete runner
- Runner deployment
- Terraform
- Helm charts
- OpenTelemetry Collection
- Sandbox Telemetry Collection
- What Gets Collected from Sandboxes
- Viewing Telemetry in the Dashboard
- Configure Sandbox Collection
- Resource Labels
- Organization-Level Metrics
- Exported Metrics
- Metric Attributes
- Configuration
- SDK Tracing Configuration
- 1. Enable OTEL in SDK
- 2. Configure OTLP Exporter
- Provider-Specific Examples
- New Relic
- Jaeger (Local)
- Grafana Cloud
- Complete Example
- What Gets Traced
- SDK-Level Operations
- HTTP Requests
- Trace Attributes
- Dashboard Examples
- Troubleshooting
- Verify Traces Are Being Sent
- Common Issues
- Best Practices
- Additional Resources
- API Keys
- Create an API key
- Permissions & Scopes
- List API keys
- Get current API key
- Get API key
- Delete API key
- Delete API key for user
- Organizations
- Personal vs Collaborative
- Create organization
- List organizations
- Get by ID
- Leave organization
- Delete organization
- Roles
- Role assignments
- Create role
- List roles
- Update role
- Delete role
- Members
- List members
- Invite members
- Remove members
- Update access
- Invitations
- Get invitations count
- Accept invitation
- Decline invitation
- List pending
- Update invitation
- Cancel invitation
- Regions
- Set default region
- Organization settings
- Advanced operations
- Usage overview
- Update sandbox default limited network egress
- Update experimental configuration
- Limits
- Current usage
- Resources
- Sandbox limits
- Rate limits
- Tiers
- Limits
- Best practices
- Billing
- Wallet
- Overview
- One time top-up
- Invoices
- Spending
- Resource usage
- Resource breakdown
- Per-sandbox usage
- Monthly breakdown
- Cancellation & post-cancellation
- Charges after cancellation
- Before cancelling
- Final settlement
- Billing disputes
- Linked Accounts
- Link account
- Unlink account
- TypeScript SDK Reference
- Installation
- Getting Started
- Create a Sandbox
- Configuration
- Multiple runtime support
- Daytona
- Daytona
- Implements
- Constructors
- Methods
- CodeLanguage
- CreateSandboxBaseParams
- CreateSandboxFromImageParams
- CreateSandboxFromSnapshotParams
- DaytonaConfig
- Resources
- VolumeMount
- CODE_TOOLBOX_LANGUAGE_LABEL
- Sandbox
- Sandbox
- Constructors
- Methods
- ListSandboxesQuery
- Charts
- ChartType
- parseChart()
- BarChart
- BarData
- BoxAndWhiskerChart
- BoxAndWhiskerData
- Chart
- Chart2D
- ChartElement
- CompositeChart
- LineChart
- PieChart
- PieData
- PointChart
- PointData
- ScatterChart
- CodeInterpreter
- CodeInterpreter
- Constructors
- Methods
- ExecutionError
- ExecutionResult
- OutputMessage
- RunCodeOptions
- ComputerUse
- Accessibility
- Constructors
- Methods
- ComputerUse
- Constructors
- Methods
- Display
- Constructors
- Methods
- Keyboard
- Constructors
- Methods
- Mouse
- Constructors
- Methods
- RecordingService
- Constructors
- Methods
- Screenshot
- Constructors
- Methods
- AccessibilityTreeOptions
- ScreenshotOptions
- ScreenshotRegion
- AccessibilityFindOptions
- Errors
- DaytonaAuthenticationError
- Constructors
- DaytonaAuthorizationError
- Constructors
- DaytonaConflictError
- Constructors
- DaytonaConnectionError
- Constructors
- DaytonaError
- Extended by
- Constructors
- DaytonaNotFoundError
- Constructors
- DaytonaRateLimitError
- Constructors
- DaytonaTimeoutError
- Constructors
- DaytonaValidationError
- Constructors
- createAxiosDaytonaError()
- createDaytonaError()
- errorClassFromStatusCode()
- Returns
- ResponseHeaders
- ExecuteResponse
- ExecuteResponse
- ExecutionArtifacts
- FileSystem
- FileSystem
- Constructors
- Methods
- DownloadMetadata
- DownloadStreamOptions
- FileDownloadErrorDetails
- FileDownloadRequest
- FileDownloadResponse
- FilePermissionsParams
- FileUpload
- UploadStreamOptions
- DownloadProgress
- UploadProgress
- UploadSource
- Git
- Git
- Constructors
- Methods
- GitCommitResponse
- Image
- Image
- Accessors
- Methods
- Context
- PipInstallOptions
- Extended by
- PyprojectOptions
- LspServer
- LspServer
- Constructors
- Methods
- LspLanguageId
- Position
- ObjectStorage
- ObjectStorage
- Param
- Constructors
- Methods
- ObjectStorageConfig
- Process
- CodeRunParams
- Constructors
- Process
- Constructors
- Methods
- SessionCommandLogsResponse
- SessionExecuteResponse
- MAX_PREFIX_LEN
- STDERR_PREFIX_BYTES
- STDOUT_PREFIX_BYTES
- PtyHandle
- PtyHandle
- Accessors
- Constructors
- Methods
- Pty
- PtyConnectOptions
- PtyCreateOptions
- PtyResult
- Snapshot
- SnapshotService
- Constructors
- Methods
- PaginatedSnapshots
- CreateSnapshotParams
- Snapshot
- Volume
- VolumeService
- Constructors
- Methods
- Volume
- Python SDK Reference
- Installation
- Getting Started
- Create a Sandbox
- Configuration
- Charts
- Chart
- ChartType
- PointData
- BarData
- PieData
- BoxAndWhiskerData
- Chart2D
- PointChart
- LineChart
- ScatterChart
- BarChart
- PieChart
- BoxAndWhiskerChart
- CompositeChart
- Errors
- DaytonaError
- DaytonaNotFoundError
- DaytonaAuthenticationError
- DaytonaAuthorizationError
- DaytonaRateLimitError
- DaytonaConflictError
- DaytonaValidationError
… [truncated — open the raw llms.txt above for the full file]
Meet the modern standard for public facing documentation. Beautiful out of the box, easy to maintain, and optimized for user engagement.
Search through billions of items for similar matches to any object, in milliseconds. It’s the next generation of search, an API call away.
Build and deploy reliable background jobs with no timeouts and no infrastructure to manage.
Get the simple developer experience of SQLite in production, and scale your multi-tenant backend with unlimited databases.
Upstash is a serverless data platform providing low latency and high scalability for real-time applications.
One-click deployments built for teams, tuned for Laravel, loaded with tools and goodies you're going to love.