Commands
Workspace setup, account access, and the container lifecycle.
Commands
This reference covers Suped 0.6.0. Install globally with npm i -g suped@latest to use suped as shown below, or replace that prefix with npx suped@latest to run without a global install.
| Command | What it does |
|---|---|
suped |
Open a shell. Creates the workspace and offers setup on the first interactive run. |
suped up |
Start without attaching; offers setup on the first interactive run. |
suped catalog |
Browse optional CLIs by category without starting Docker. |
suped setup |
Choose tools and connect accounts interactively. |
suped setup gitlab vercel neon |
Install a selected stack and offer each account’s sign-in steps. |
suped setup github --skip-auth |
Install an explicit selection without sign-in prompts. Use this for unattended setup. |
suped tools |
Show tool installation and connectivity status. |
suped tools gitlab neon |
Check only the named tools and their account access. |
suped login neon |
Connect or reconnect a selected tool; accepts any ID from catalog. |
suped mcp list |
Browse official remote service connections without starting Docker. |
suped mcp add notion linear --client claude |
Register servers in Claude Code inside the workspace; also supports Codex. Account authorization follows in the client. |
suped mcp export notion --client cursor |
Print a config fragment for Cursor, Claude Code, or Codex without changing files. |
suped exec <command...> |
Run a shell string or executable arguments inside, starting in ~/workspace. |
suped sync |
Show what defines this workspace, and name the work that would not move. |
suped sync save <file> |
Write the workspace to a portable file. Use - for stdout. |
suped sync restore <file> |
Install that workspace’s tools and clone its projects here. |
suped move |
Show everything that would travel to another machine, and what would not. |
suped move save <dir> |
Write the workspace, its unfinished work, and its sealed logins. --no-work leaves the unfinished work behind. |
suped move restore <dir> |
Rebuild that workspace here and sign its tools back in. |
suped state |
Show what this machine and the shared definition differ on. Changes nothing. |
suped state init [url] |
Keep the workspace’s definition in a git repository. |
suped state sync |
Catch up with the shared definition, record this machine, and push. |
suped secrets |
Show which account access can travel to another machine, and which has to be re-authenticated. |
suped secrets key |
Create this workspace’s encryption identity. |
suped secrets key --show |
Print the identity, to move it to another machine. |
suped secrets key --import |
Install an identity from stdin. --replace overwrites an existing one. |
suped secrets env |
Print shell exports for the tokens providers read from the environment. |
suped secrets save <file> |
Seal the credentials that can travel. The file is safe to commit. |
suped secrets restore <file> |
Open a sealed file and sign those tools back in. |
suped status |
Show image, baked-in features, home volume, and container state. |
suped stop |
Stop the container. Home is kept. |
suped reset |
Recreate the container from the current image. Home and baked-in features are kept, apt installs are not. |
suped rebuild |
Rebuild the image, then reset. Add --no-cache to start from scratch. |
suped destroy --yes |
Remove the container and the persistent home. |
suped prompt |
Print the system prompt. |
suped --version |
Print the version. |
suped --help |
Print this table, roughly. |
Options
Used when the container is first created, and by reset and rebuild. Put container options before exec; arguments after exec belong to the inner command:
| Option | Meaning |
|---|---|
-p, --publish <host:container> |
Publish a port. Repeatable. |
-v, --volume <host:container> |
Mount an extra host path. Repeatable. |
--with <features> |
Bake optional software into the image: browser, build, media. Comma separated, repeatable. |
--without |
Bake none of it in. |
Their values use Docker’s publish and volume syntax. Reset and rebuild preserve existing ports and mounts unless you replace a list by passing its flag. -p replaces the port list while keeping mounts; -v replaces extra mounts while keeping ports.
--with behaves the same way: passing it replaces the selection, and leaving it off keeps what the computer already has. Because the selection is part of the image tag, changing it rebuilds a layer rather than installing into the running container — see the computer for what each feature costs and persistence for why it works that way. --with is ignored on a computer that already exists; use suped rebuild --with ....
Environment
| Variable | Default | Purpose |
|---|---|---|
SUPED_CONTAINER |
suped |
Container name. Change it to run several computers. |
SUPED_VOLUME |
suped-home |
Home volume name. |
SUPED_IMAGE |
suped-computer:<version> |
Image tag. Point it at your own build. |
exec
One argument is treated as a shell string and run through bash -lc, so pipes, redirects, and shell expansion work inside the workspace:
npx suped@latest exec 'cd ~/projects/app && npm test'
Multiple arguments call the executable with those arguments, preserving flags and argument boundaries:
npx suped@latest exec gh repo list --limit 5
npx suped@latest exec printf '%s\n' 'hello world'
Stdin is forwarded when piped in. This POSIX-shell example writes into the existing workspace directory:
cat notes.md | npx suped@latest exec 'cat > ~/workspace/notes.md'
Each invocation starts in /home/suped/workspace; a previous command’s cd does not carry over. The exit status is the inner command’s exit status.
Exit codes
suped exits 0 on success, 1 on any error, and with the inner command’s status for exec and the shell.