spawn/daytona
A 9336998168
fix(ux): add post-session summary to 10 exec-based cloud providers (#1056)
Users on exec-based clouds (Fly, Render, Koyeb, Northflank, Railway,
Modal, Daytona, E2B, CodeSandbox, GitHub Codespaces) got no warning
when their session ended that their service was still running and
incurring charges. This adds:

- _show_exec_post_session_summary() in shared/common.sh for non-SSH
  providers that use CLI exec commands instead of direct SSH
- SPAWN_DASHBOARD_URL for all 10 exec-based clouds so users get
  actionable dashboard links
- Post-session summary calls in each cloud's interactive_session()
- 33 new tests covering the exec post-session summary feature

Agent: ux-engineer

Co-authored-by: A <6723574+louisgv@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-14 00:38:10 -05:00
..
lib fix(ux): add post-session summary to 10 exec-based cloud providers (#1056) 2026-02-14 00:38:10 -05:00
aider.sh fix: validate MODEL_ID from environment to prevent command injection (#548) 2026-02-11 15:41:10 -08:00
amazonq.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
claude.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
cline.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
codex.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
continue.sh fix: replace unsafe inline API key injection with secure helpers (#676) 2026-02-12 15:03:12 -08:00
gemini.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
goose.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
gptme.sh fix: validate MODEL_ID from environment to prevent command injection (#548) 2026-02-11 15:41:10 -08:00
interpreter.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
kilocode.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
nanoclaw.sh fix(security): replace unquoted heredocs with printf to prevent shell expansion in API keys (#1031) 2026-02-13 19:41:10 -05:00
openclaw.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
opencode.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
plandex.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
README.md fix: use --class instead of --cpu/--memory/--disk for Daytona sandboxes (#920) 2026-02-13 05:19:54 -08:00

Daytona

Daytona sandboxed environments for AI code execution. Daytona

Sub-90ms sandbox creation. True SSH support via daytona ssh. Requires DAYTONA_API_KEY from https://app.daytona.io.

Agents

Claude Code

bash <(curl -fsSL https://openrouter.ai/labs/spawn/daytona/claude.sh)

OpenClaw

bash <(curl -fsSL https://openrouter.ai/labs/spawn/daytona/openclaw.sh)

NanoClaw

bash <(curl -fsSL https://openrouter.ai/labs/spawn/daytona/nanoclaw.sh)

Aider

bash <(curl -fsSL https://openrouter.ai/labs/spawn/daytona/aider.sh)

Goose

bash <(curl -fsSL https://openrouter.ai/labs/spawn/daytona/goose.sh)

Codex CLI

bash <(curl -fsSL https://openrouter.ai/labs/spawn/daytona/codex.sh)

Open Interpreter

bash <(curl -fsSL https://openrouter.ai/labs/spawn/daytona/interpreter.sh)

Gemini CLI

bash <(curl -fsSL https://openrouter.ai/labs/spawn/daytona/gemini.sh)

Amazon Q CLI

bash <(curl -fsSL https://openrouter.ai/labs/spawn/daytona/amazonq.sh)

Cline

bash <(curl -fsSL https://openrouter.ai/labs/spawn/daytona/cline.sh)

gptme

bash <(curl -fsSL https://openrouter.ai/labs/spawn/daytona/gptme.sh)

OpenCode

bash <(curl -fsSL https://openrouter.ai/labs/spawn/daytona/opencode.sh)

Plandex

bash <(curl -fsSL https://openrouter.ai/labs/spawn/daytona/plandex.sh)

Non-Interactive Mode

DAYTONA_SANDBOX_NAME=dev-mk1 \
DAYTONA_API_KEY=your-api-key \
OPENROUTER_API_KEY=sk-or-v1-xxxxx \
  bash <(curl -fsSL https://openrouter.ai/labs/spawn/daytona/claude.sh)

Environment Variables

Variable Description Default
DAYTONA_API_KEY Daytona API key (prompted)
DAYTONA_SANDBOX_NAME Sandbox name (prompted)
DAYTONA_CLASS Sandbox class (e.g. small, medium, large) small
DAYTONA_CPU Number of vCPUs (overrides --class) (unset)
DAYTONA_MEMORY Memory in MB (overrides --class) (unset)
DAYTONA_DISK Disk size in GB (overrides --class) (unset)
OPENROUTER_API_KEY OpenRouter API key (OAuth or prompted)

Note: Daytona rejects explicit --cpu/--memory/--disk flags when using snapshots. Use DAYTONA_CLASS instead. If explicit resource flags fail due to snapshot conflict, spawn automatically retries with --class small.