CLI Reference
The synodes CLI is the primary interface for managing sandboxes, snapshots, and volumes from the terminal. It talks to the Synodes control plane API and supports targeting different regions.
Global flag: --target lets you specify a region (us, eu) for all commands. Set SYNODES_TARGET to make it persistent.
Authentication
| Command | Description |
synodes auth login | Authenticate via browser or API key |
synodes auth logout | Clear stored credentials |
Credentials are stored at ~/.synodes/config.yaml. You can also export SYNODES_API_KEY for headless environments like CI/CD pipelines.
Sandbox Management
| Command | Description |
synodes create [flags] | Provision a new sandbox |
synodes list | List all sandboxes in your account |
synodes info [ID|NAME] | Show details for a specific sandbox |
synodes start [ID|NAME] | Start a stopped sandbox |
synodes stop [ID|NAME] | Stop a running sandbox (preserves state) |
synodes delete [ID|NAME] | Permanently destroy a sandbox |
synodes archive [ID|NAME] | Archive a sandbox to cold storage |
Create Flags
The create command supports the broadest set of flags:
| Flag | Type | Default | Description |
--name | string | auto-generated | Human-readable sandbox name |
--language | string | — | Base image (python, typescript, go, etc.) |
--snapshot | string | — | Create from an existing snapshot |
--cpu | int | 2 | CPU cores allocated |
--memory | int | 2048 | Memory in MB |
--disk | int | 10 | Disk space in GB |
--env | stringArray | — | Environment variables (KEY=VALUE) |
--auto-stop | int | 15 | Auto-stop after N minutes (0 = never) |
--auto-delete | int | −1 | Auto-delete N mins after stop (0 = immediately) |
--target | string | us | Target region (us, eu) |
--label | stringArray | — | Labels (KEY=VALUE) |
--public | bool | false | Make sandbox publicly reachable |
--volume | stringArray | — | Mount volumes (ID:/mount/path) |
Code & Execution
| Command | Description |
synodes exec [ID] [CMD] | Execute a shell command inside a sandbox |
synodes ssh [ID] | Open an interactive SSH session |
synodes logs [ID] | Stream sandbox logs in real time |
synodes preview-url [ID] [PORT] | Generate a signed preview URL for a sandbox port |
# Execute Python inline
synodes exec sand-abc123 "python -c 'print(\"hello\")'"
# Stream logs
synodes logs sand-abc123
# Get a preview URL for port 3000
synodes preview-url sand-abc123 3000
Snapshots & Volumes
| Command | Description |
synodes snapshot create [ID] | Snapshot a sandbox for reuse |
synodes snapshot list | List all snapshots |
synodes snapshot delete [NAME] | Delete a snapshot |
synodes volume create [NAME] [SIZE_GB] | Create a persistent volume |
synodes volume list | List all volumes |
synodes volume delete [ID] | Delete a volume |
Organizations
| Command | Description |
synodes organization list | List organizations you belong to |
synodes organization create [NAME] | Create a new organization |
synodes organization use [NAME] | Switch active organization |
Other Commands
| Command | Description |
synodes version | Print CLI version |
synodes docs | Open docs in your browser |
synodes autocomplete | Generate shell completion script |
synodes mcp | Manage the Synodes MCP server (for AI agent integration) |