Every command of the shako CLI, with all its parameters and examples. Each VM is also a plain SSH host: ssh, scp, sftp and port forwarding work as on any server.
Quick Start
$shakologin
Connect this computer to your account.
$shakovmcreateweb1--agentclaude
Create a VM with Claude Code.
$sshweb1.maya.shako.dev
Log in, as to any server.
$shakoportpublicweb13000
Share port 3000 at a public address.
Get Started
You need a Shako account. shako login connects this computer to it and sets up plain SSH to your VMs.
The new VM's name: a-z, 0-9 and single hyphens, starting with a letter, at most 31 characters. It is in the VM's SSH name and in the URLs of its public ports.
--size <size>
The size: micro 1cpu/1G/10G disk, small 1cpu/2G/20G disk, mid 2cpu/4G/40G disk, large 4cpu/8G/80G disk (default micro).
--cpus <cpus>
Custom vCPUs: 1 or an even number. It replaces the vCPUs of the size.
--memory <memory>
Custom memory, for example 3G or 1536M. The disk is 10 GB per GB of memory. It replaces the memory of the size.
--image <image>
Image release, e.g. 2026.10.27.1 (default: the current release).
--sleep <sleep>
When the VM sleeps. idle: when it is quiet; manual: only on request; never: it is always on, and restarts after a reboot or a crash (default idle).
--idle <idle>
The quiet time before the VM sleeps, for example 15m or 2h (default 15m).
--no-wait
Return before the guest's SSH is up.
--agent <agent>
A coding agent to put in the VM: claude, codex, opencode, pi, openclaw, hermes. Give several with commas (--agent claude,codex) or with one --agent for each.
--desktop
Browser use and computer use for the agents: a screen and a shared browser. Needs an agent and 4 GB of memory or more (size mid or bigger).
Examples
Create a VM of the default size, Micro.
$shakovmcreateweb1
A VM with Claude Code and Codex, and a screen and a shared browser for them. These need size Mid or bigger.
Copy a VM: a new VM whose disk starts as a copy-on-write copy of the source VM's disk. It gets the size, image and agents of the source VM, and boots with new SSH host keys.
Usage
shakovmcp<source><name>[flags]
Parameters
<source>
The VM to copy, from shako vm ls.
<name>
The new VM's name: a-z, 0-9 and single hyphens, starting with a letter, at most 31 characters. It is in the VM's SSH name and in the URLs of its public ports.
--sleep <sleep>
When the VM sleeps. idle: when it is quiet; manual: only on request; never: it is always on, and restarts after a reboot or a crash (default: the sleep policy of the source VM).
--idle <idle>
The quiet time before the VM sleeps, for example 15m or 2h (default: the quiet time of the source VM).
--no-wait
Return before the guest's SSH is up.
Examples
Copy a VM, for example to try a risky change on the copy.
Start a session with a name in a folder and attach to it. To leave the session running, close the terminal or type ~. at the start of a line (ssh's escape).
Usage
shakosessionnew<vm><session>[flags]
Parameters
<vm>
The VM's name, from shako vm ls.
<session>
The new session's name, for example api or fix-login. No other session of the VM may have it.
--agent <agent>
The agent to run: claude, codex, opencode, pi, openclaw, hermes. The VM must have it. Default: a shell.
--dir <dir>
The folder in the VM to start in, an absolute path (default /home/shako). It must exist, unless --mkdir.
--mkdir
Make the folder first (and the folders above it).
Examples
Start Claude Code in a new session api, in a new folder.
Forward the VM's screen to a port on this computer for a VNC viewer, until Ctrl-C. Only a VM with agents and size mid or bigger has a screen.
Usage
shakoscreenopen<vm>[flags]
Parameters
<vm>
The VM's name, from shako vm ls.
--take
Take over, for example for a login, a 2FA code or a CAPTCHA: the agents' browser and screen tools wait until this command stops.
--port <port>
The port on 127.0.0.1 (default 5901).
Examples
Watch the agents' screen: open vnc://127.0.0.1:5901 in a VNC viewer. On a Mac, Screen Sharing opens it.
$shakoscreenopenagents
Take over, for example for a login or a 2FA code. The agents' browser and screen tools wait until you stop the command.
$shakoscreenopenagents--take
Use another port on this computer.
$shakoscreenopenagents--port5902
Agent Memory
Notes of up to 2000 tokens that Shako adds to each LLM request from your VMs, for every agent. Each request from your VMs to a model provider goes through Shako. Your login goes to the provider unchanged, and Shako does not keep it.