Skip to main content

Need help?

For immediate assistance, use the Crisp chat widget in the bottom-right corner of our landing page or web app to reach our support team directly. This guide covers common issues and their solutions. If you don’t find what you’re looking for, don’t hesitate to reach out.

API errors

Catching errors

All API errors throw SandboxApiError with HTTP status and response details:

Common API errors

401 Unauthorized
  • Invalid or missing API key
  • Check SANDBOX_API_KEY environment variable
  • Verify key in dashboard
404 Not Found
  • Sandbox ID doesn’t exist or was deleted
  • Sandbox belongs to different organization
400 Bad Request
  • Invalid parameters (e.g., negative timeout)
  • Malformed request body
429 Too Many Requests
  • Rate limit exceeded
  • Wait and retry with exponential backoff

Networking issues

Connection refused

Symptoms: Can’t reach exposed service, connection refused errors Solutions:
  1. Check IPv6 binding:
  1. Verify process is running:
  1. Check server logs:
  1. Wait for server startup:

Invalid port

Error: “Invalid port provided” Solution: Port must be a positive integer:

Command execution issues

Timeout errors

Symptoms: Commands fail with timeout Solutions:
  1. Increase timeout (max 60s):
  1. Use background mode for long-running processes:
  1. Split into smaller commands:

Command fails silently

Symptoms: Command returns success but doesn’t work Solutions:
  1. Check exit code and stderr:
  1. Add error handling in shell:

Background process exits immediately

Symptoms: Background process doesn’t stay running Solutions:
  1. Check logs for errors:
  1. Verify process is running:

File operation issues

File size limit exceeded

Error: FileSizeError: File size X bytes exceeds maximum allowed size Solution: SDK enforces 10 MB limit per write:

File not found

Symptoms: Read fails with “Failed to read file” Solution: Check if file exists before reading:

Sandbox management issues

Sandbox stops unexpectedly

Symptoms: Sandbox terminates before work completes Solutions:
  1. Check stopAt timestamp:
  1. Extend timeout proactively:
  1. Set longer timeout on creation:

Can’t rehydrate sandbox by ID

Error: 404 when calling get(id) Reasons:
  • Sandbox was deleted
  • Sandbox timed out and auto-terminated
  • ID belongs to different organization
  • Typo in ID
Solution: Check sandbox still exists:

Getting help

If you’re still experiencing issues:
  1. Check logs: Review sandbox execution logs and stderr output
  2. Verify configuration: Double-check API keys, image names, and parameters
  3. Test locally: Try reproducing with Docker locally first
  4. Contact support: Reach out via the app with:
    • Sandbox ID
    • Error messages
    • Steps to reproduce
    • Expected vs actual behavior