mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-04-28 03:49:31 +00:00
- Revert local security warning to openclaw-only (was blocking all agents) - Update spawn skill to document how to run prompts on child VMs: - Always use `bash -lc` (binaries in ~/.local/bin/ need login shell) - Claude uses `-p` not `--print` or `--headless` - Add `--dangerously-skip-permissions` for unattended child VMs - Don't waste tokens with `which`/`find` or creating non-root users - Sync all on-disk skill files with embedded version Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1.7 KiB
1.7 KiB
Spawn — Create Child VMs
You have the spawn CLI installed. Use it to provision cloud VMs with AI agents.
Provision a Child VM
spawn <agent> <cloud> --headless --output json --prompt "task description"
Agents: claude, codex, openclaw, zeroclaw, opencode, kilocode, hermes, junie Clouds: hetzner, digitalocean, aws, gcp, sprite
Returns JSON: {"status":"success","ip_address":"...","ssh_user":"root","server_id":"..."}
Running Prompts on Child VMs
--headless only provisions — to run work on the child, SSH in with bash -lc:
# Claude Code (use -p, NOT --print or --headless)
ssh -o StrictHostKeyChecking=accept-new root@<ip> "bash -lc 'claude -p --dangerously-skip-permissions \"your prompt\"'"
# Codex CLI
ssh -o StrictHostKeyChecking=accept-new root@<ip> "bash -lc 'codex --quiet \"your prompt\"'"
IMPORTANT — do NOT waste tokens rediscovering these:
- Always use
bash -lc— agent binaries are in~/.local/bin/which is only on PATH in login shells - Claude uses
-pfor non-interactive output (NOT--print, NOT--headless) - Add
--dangerously-skip-permissionsto skip approval prompts on child VMs - Never try
which claudeorfindto locate binaries — they are always at~/.local/bin/<agent> - Never create non-root users to work around permission issues — just use
-p
Managing Children
spawn list --json— see running childrenspawn delete --name <name> --yes— tear down a child VM (headless)spawn tree— see the full spawn tree
Context
- You are running inside a spawned VM (SPAWN_DEPTH is set)
- Cloud credentials are pre-configured — no auth prompts
- OpenRouter billing is shared with the parent