Spaces, computers and teams
Your Spaces and machines, unattended access on this machine, devices, teams, your remote use this month, and a cua-spacesd by URL.
| Command | Description |
|---|---|
cua spaces | Spaces: registered ones and your machines on the relay. |
cua spaces ls | Registered Spaces and your machines on the relay. |
cua spaces add | Register a Space after a capabilities handshake with its cua-spacesd (or, for another URL, an MCP initialize). |
cua spaces create | Create Spaces: on this machine, on one of your machines that provides Spaces (cua host setup --provide-spaces there), or in your own cloud account. |
cua spaces cancel | Cancel a create that is still running (here, in the daemon, or in another terminal): it stops and what it made is removed. |
cua spaces gpus | The GPU options each runtime offers on this machine (or in your own cloud account). |
cua spaces delete | Delete a Space's sandbox (on this machine, on the machine that provides it, or in your own cloud account) and forget it (asks first). |
cua spaces stop | Turn a Space off: a local container or QEMU VM is suspended (its memory is kept), a Lume VM or a Space one of your machines provides is stopped (its disk is kept), and so is a Space in your own cloud (--on aws, gcp; compute billing stops). |
cua spaces start | Turn a Space back on: resume a suspended one or boot a stopped one. |
cua spaces rm | Forget a registered Space and its stored token. |
cua spaces share | Let another cua.ai account watch (viewer) or use (editor) a Space, through the relay. |
cua spaces unshare | Stop sharing a Space with one account at once, or with everyone. |
cua spaces shares | Who a Space is shared with, and who of them is connected now. |
cua spaces relay-register | Publish a Space on the relay for your other devices (a phone off this network): its own driver dials out, as cua host setup does for this computer. |
cua spaces relay-unregister | Take a Space off the relay (every share with it ends). |
cua host | Unattended access to this machine (setup, status, stop, start, remove). |
cua host setup | Set this machine up for unattended access: install cua-spacesd as a service that joins the cua.ai relay as your account (default) or serves on a direct ip:port. |
cua host pair | Make a one-time code (with a link and the install command) that adds another computer to your account: run the command it prints on that computer. |
cua host config | Show or change what this machine shares: its own desktop, and whether it creates Spaces for your other devices. |
cua host status | Show whether this machine is set up, the service, and who is connected. |
cua host stop | Stop sharing: disconnect everyone and refuse new connections. |
cua host start | Start sharing again after stop. |
cua host share | Share a relay machine (this one, or --machine) with other cua.ai accounts (id or verified email). |
cua host unshare | Stop sharing a relay machine with accounts; their open connections are cut. |
cua host remove | Unregister from the relay, uninstall the service and delete the host configuration (asks first). |
cua devices | This device as a client of your cua.ai account on the relay: enroll (second factor), approve other devices, list, rename, revoke, and the audit log of who accessed what. |
cua devices status | This device: enrolled, waiting for approval, or not enrolled. |
cua devices enroll | Enroll this device. |
cua devices approve | Approve a new device (or re-verify an expired one) from this enrolled device, by the code it shows or by its id. |
cua devices ls | Your devices and their state. |
cua devices rename | Rename a device. |
cua devices revoke | Revoke a device: it can no longer list or reach your machines. |
cua devices audit | Who accessed what, and when: enrollments, device sessions, machine access (yours and by accounts you share with), sharing changes. |
cua team | Teams (organizations of your cua.ai account) share machines with every member and their agents. |
cua team create | Create a team; you are its owner. |
cua team ls | Your teams. |
cua team show | A team: plan, members, machines, open invites and devices. |
cua team invite | Invite someone by email: cua.ai emails them an invitation. |
cua team join | After accepting an emailed invitation: take the role it offered. |
cua team leave | Leave a team. |
cua team remove-member | Remove a member (owner or admin; admins cannot remove admins). |
cua team set-role | Make a member an admin, or an admin a member (owner). |
cua team devices | Member devices and whether they may open team machines. |
cua team approve | Approve a member device so it can open team machines. |
cua team deny | Decline a member device (it can no longer open team machines). |
cua team request | Ask the team's admins to approve this device. |
cua team add-machine | Make a Space (or a machine you host) a team machine: every member and their agents see it and can open it. |
cua team remove-machine | Take a machine off the team. |
cua team audit | The team's audit log. |
cua team delete | Delete a team (owner; cancel its subscription first). |
cua usage | Your relay allowance this month: live sessions, relay hours, and your plan. |
cua spacesd | Talk to a cua-spacesd directly by URL. |
cua spacesd caps | Print capabilities. |
cua spacesd exec | Run a command (argv, no shell). |
cua spacesd cp | Copy files: cua spacesd cp <URL> local :remote uploads, cua spacesd cp <URL> :remote local downloads. |
cua spacesd shell | Interactive shell (PTY). |
cua spacesd targets | List streamable targets (displays, and windows with --windows). |
cua spacesd call | Call any cua.env.v1 RPC with a proto3-JSON body. |
Every command also accepts the global options.
cua spaces#
Spaces: registered ones and your machines on the relay.
cua spaces [OPTIONS] <COMMAND>cua spaces ls#
Registered Spaces and your machines on the relay.
cua spaces ls [OPTIONS]Alias: cua spaces list.
| Flag | Type | Default | Description |
|---|---|---|---|
--relay | string | Relay URL (default $CUA_RELAY_URL, else the CUA_ENV relay, https://relay.cua.ai in production). |
Examples
cua spaces ls
cua spaces ls --jsoncua spaces add#
Register a Space after a capabilities handshake with its cua-spacesd (or, for another URL, an MCP initialize). Re-adding an address updates it. The token is stored apart from the registry, 0600.
cua spaces add [OPTIONS] <URL>| Argument | Type | Default | Description |
|---|---|---|---|
<URL> | string | required | The Space's cua-spacesd (http(s)://host:port, host:port, default port 3211), a Space id (local:<name>), or any MCP endpoint URL. |
| Flag | Type | Default | Env var | Description |
|---|---|---|---|---|
--token | string | CUA_ENV_TOKEN | spacesd token (or the bearer an MCP endpoint needs). | |
--name | string | Display name (default: the guest's hostname). | ||
--service | string | For an MCP endpoint URL: the service name to register it under (default mcp). | ||
--host | boolean | false | It is a machine that provides Spaces over its direct address (Tailscale or LAN): --on host:<name> finds it without the relay. Its token is stored like any direct Space's. |
Examples
cua spaces add 10.0.0.5:3211 --token "$TOKEN" --name studio
cua spaces add local:my-sandbox
cua spaces add http://127.0.0.1:8765/mcp --service tools
# A machine that provides Spaces over Tailscale, without the relay (`cua host setup --direct ... --provide-spaces` on it prints this)
cua spaces add 100.101.102.103:3211 --host --name "Mac mini (spare)" --token "$TOKEN"cua spaces create#
Create Spaces: on this machine, on one of your machines that provides Spaces (cua host setup --provide-spaces there), or in your own cloud account.
cua spaces create [OPTIONS] [IMAGE]| Argument | Type | Default | Description |
|---|---|---|---|
<IMAGE> | string | optional | Image: an alias (linux, macos, macos:26) or a registry reference. Default: the canonical Linux image. |
| Flag | Type | Default | Description |
|---|---|---|---|
--on | string | Where: local, aws, gcp, host:<machine>, or a machine name (mac-mini, "spare mac mini"). Default: your default location. | |
--count | integer | 1 | How many (1 to 8). |
--name | string | Name (with --count, -2, -3, ... are appended). | |
--kind | string | auto | container | vm. | |
--runtime | string | auto, or an engine the location offers (lume, runc, gvisor, qemu). | |
--cpus | integer | vCPUs. | |
--memory-mb | integer | Memory in MiB. | |
--disk-gb | integer | Grow a VM's disk to this many GiB. | |
--gpu | string | A GPU: the runtime's own (--gpu), or an option cua spaces gpus lists. macOS VMs: GPU acceleration (experimental, Apple silicon; https://cua.ai/docs/lume/guides/gpu-passthrough). |
Examples
cua spaces create linux
# Two macOS VMs on your spare Mac mini (matched by name)
cua spaces create macos:26 --on "spare mac mini" --count 2
cua spaces create --on host:0123abcd4567ef89 linux --jsoncua spaces cancel#
Cancel a create that is still running (here, in the daemon, or in another terminal): it stops and what it made is removed. Finished image downloads stay cached. Ctrl-C during cua spaces create does the same.
cua spaces cancel [OPTIONS] <SPACE>| Argument | Type | Default | Description |
|---|---|---|---|
<SPACE> | string | required | The id the Space will have (local:<name>, printed when the create starts) or its name. |
Examples
cua spaces cancel local:space-1a2b3c
cua spaces cancel studiocua spaces gpus#
The GPU options each runtime offers on this machine (or in your own cloud account).
cua spaces gpus [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--on | string | local (default), aws, gcp or modal. |
Examples
cua spaces gpus
cua spaces gpus --jsoncua spaces delete#
Delete a Space's sandbox (on this machine, on the machine that provides it, or in your own cloud account) and forget it (asks first).
cua spaces delete [OPTIONS] <SPACE>| Argument | Type | Default | Description |
|---|---|---|---|
<SPACE> | string | required | Space id or name. |
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--force | -f | boolean | false | Skip the confirmation (required without a terminal). |
Examples
cua spaces delete relay:space-0123456789abcdef
cua spaces delete local:studio --forcecua spaces stop#
Turn a Space off: a local container or QEMU VM is suspended (its memory is kept), a Lume VM or a Space one of your machines provides is stopped (its disk is kept), and so is a Space in your own cloud (--on aws, gcp; compute billing stops). Modal sandboxes and Spaces added by address cannot be turned off.
cua spaces stop [OPTIONS] <SPACE>| Argument | Type | Default | Description |
|---|---|---|---|
<SPACE> | string | required | Space id or name. |
Examples
cua spaces stop local:studio
cua spaces stop relay:space-0123456789abcdef --jsoncua spaces start#
Turn a Space back on: resume a suspended one or boot a stopped one.
cua spaces start [OPTIONS] <SPACE>| Argument | Type | Default | Description |
|---|---|---|---|
<SPACE> | string | required | Space id or name. |
Examples
cua spaces start local:studio
cua spaces start studio --jsoncua spaces rm#
Forget a registered Space and its stored token. The sandbox keeps running. The relay:<machine> record of a Space that registered itself and is gone (not connected) also leaves your relay directory.
cua spaces rm [OPTIONS] <SPACE>Alias: cua spaces remove.
| Argument | Type | Default | Description |
|---|---|---|---|
<SPACE> | string | required | Space id, address or display name (as cua spaces ls shows). |
Examples
cua spaces rm direct:10.0.0.5:3211
cua spaces rm studiocua spaces share#
Let another cua.ai account watch (viewer) or use (editor) a Space, through the relay. They open it as relay:<machine>.
cua spaces share [OPTIONS] <SPACE> <WHO>| Argument | Type | Default | Description |
|---|---|---|---|
<SPACE> | string | required | Space id, address or display name. |
<WHO> | string | required | Their email (verified by cua.ai) or account id. |
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--role | viewer | editor | viewer | viewer: presence and a view-only stream. editor: full use. | |
--yes | -y | boolean | false | Confirm without a terminal prompt. Without a daemon the share happens at once. A running daemon still asks with Touch ID or your password on this computer; without a terminal, --yes says someone will answer there (otherwise the command fails at once instead of waiting for a prompt nobody sees). |
Examples
cua spaces share local:studio bob@example.com
cua spaces share local:studio bob@example.com --role editor
cua spaces share relay:0123abcd4567ef89 acct-42 --role viewer
# From a script or agent: confirm with Touch ID or your password here
cua spaces share local:studio bob@example.com --yescua spaces unshare#
Stop sharing a Space with one account at once, or with everyone.
cua spaces unshare [OPTIONS] <SPACE> [WHO]| Argument | Type | Default | Description |
|---|---|---|---|
<SPACE> | string | required | Space id, address or display name. |
<WHO> | string | optional | Their email or account id. |
| Flag | Type | Default | Description |
|---|---|---|---|
--all | boolean | false | Stop sharing with everyone (the Space leaves the relay). |
Examples
cua spaces unshare local:studio bob@example.com
cua spaces unshare local:studio --allcua spaces shares#
Who a Space is shared with, and who of them is connected now.
cua spaces shares [OPTIONS] <SPACE>| Argument | Type | Default | Description |
|---|---|---|---|
<SPACE> | string | required | Space id, address or display name. |
Examples
cua spaces shares local:studio
cua spaces shares local:studio --jsoncua spaces relay-register#
Publish a Space on the relay for your other devices (a phone off this network): its own driver dials out, as cua host setup does for this computer. Nobody else gets in until you share it.
cua spaces relay-register [OPTIONS] <SPACE>| Argument | Type | Default | Description |
|---|---|---|---|
<SPACE> | string | required | Space id, address or display name. |
Examples
cua spaces relay-register local:studiocua spaces relay-unregister#
Take a Space off the relay (every share with it ends). With a relay:<machine> id, removes that machine's record from your relay directory: a Space that registered itself (also after it was deleted), or a machine of yours that is gone. Only its owner can.
cua spaces relay-unregister [OPTIONS] <SPACE>| Argument | Type | Default | Description |
|---|---|---|---|
<SPACE> | string | required | Space id, address or display name. |
Examples
cua spaces relay-unregister local:studio
cua spaces relay-unregister relay:space-0123abcd4567ef89cua host#
Unattended access to this machine (setup, status, stop, start, remove).
cua host [OPTIONS] <COMMAND>cua host setup#
Set this machine up for unattended access: install cua-spacesd as a service that joins the cua.ai relay as your account (default) or serves on a direct ip:port.
cua host setup [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--relay | string | Relay URL (default $CUA_RELAY_URL, else the CUA_ENV relay, https://relay.cua.ai in production). | |
--pair | string | Join with a one-time pairing code (or add-machine link) made in the Cua Spaces app or with cua host pair, instead of signing in here. The machine joins the account (or team) that made it. | |
--direct | string | Serve directly on ip:port with a local env token (LAN / port-forwarded) instead of joining a relay. | |
--name | string | Display name (default: the host name). | |
--allow | string | Also allow this account (id or email). Repeatable. | |
--driver-bin | path | cua-spacesd binary (default $CUA_SPACESD_BIN, a bundled one, or the release download). | |
--runner | string | auto | auto | systemd | launchd | windows-task | process. |
--profile | desktop | spare | desktop | What this machine is for: desktop (share this desktop; the default) or spare (do not share the desktop; provide Spaces). |
--max-spaces | integer | Provided Spaces at once (default 4; 0: no limit). | |
--remote | boolean | false | When sign-in is needed, use a device code to approve it in a browser on another machine. The account session is not saved. |
--desktop | boolean | false | Share this machine's own desktop as a Space. |
--no-desktop | boolean | false | Do not share this machine's own desktop (screen, input, shell, files): relayed callers reach only the Spaces it provides. |
--provide-spaces | boolean | false | Create Spaces for your enrolled devices on this machine's runtimes (Lume macOS VMs, Docker Linux containers). |
--no-provide-spaces | boolean | false | Do not create Spaces for other devices. |
--allow-any-address | boolean | false | With --direct and Spaces: take host calls, and connections to the Spaces this machine forwards, from any address (and allow a public --direct address). By default only loopback, Tailscale and private LAN addresses may. The direct listener is plaintext and its token is a shell on this machine: prefer Tailscale. |
Examples
# Join the cua.ai relay as your account (shares this desktop)
cua host setup
# A spare machine: do not share its desktop, run Spaces for your devices
cua host setup --profile spare --name "Mac mini (spare)"
cua host setup --no-desktop --provide-spaces
# Serve on the LAN instead of the relay
cua host setup --direct 0.0.0.0:3211 --name studio-mac
# A spare Mac on your tailnet that runs Spaces, without the relay (prints the command that adds it on your laptop)
cua host setup --direct 100.101.102.103:3211 --profile spare
# Add this machine with a one-time code from the Cua Spaces app (Add a machine) or `cua host pair`: no sign-in needed here
cua host setup --pair K7QM-4XPB-2RHDcua host pair#
Make a one-time code (with a link and the install command) that adds another computer to your account: run the command it prints on that computer. Codes work once and expire (30 minutes by default). Run from an enrolled device.
cua host pair [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--team | string | Add the machine to this team (id, alias or name; owner or admin): waits until the machine joins, then makes it a team machine. | |
--name | string | Name the machine gets (default: its own host name). | |
--expires | integer | 30 | Minutes until the code expires (1 to 1440). |
--revoke | string | Revoke an unused code by id (pc_…). | |
--relay | string | Relay URL (default $CUA_RELAY_URL, else the CUA_ENV relay, https://relay.cua.ai in production). | |
--no-wait | boolean | false | With --team: print the code and exit instead of waiting; add the machine later with cua team add-machine <team> relay:<id>. |
--list | boolean | false | List your codes (used, unused, revoked, expired) instead. |
Examples
cua host pair
cua host pair --name build-box --expires 60
cua host pair --list
cua host pair --revoke pc_0123456789abcdef
# Add the machine to a team: waits for it to join, then adds it
cua host pair --team AIGIScua host config#
Show or change what this machine shares: its own desktop, and whether it creates Spaces for your other devices.
cua host config [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--desktop | on | off | Share this machine's own desktop: on | off. | |
--provide-spaces | on | off | Create Spaces for your enrolled devices: on | off. | |
--max-spaces | integer | Provided Spaces at once (0: no limit). | |
--max-macos-vms | integer | macOS VMs at once, 0 to 2 (Apple's license allows two per Mac). |
Examples
cua host config
# Stop sharing this desktop; keep providing Spaces
cua host config --desktop off --provide-spaces on
cua host config --max-spaces 6cua host status#
Show whether this machine is set up, the service, and who is connected.
cua host status [OPTIONS]Examples
cua host statuscua host stop#
Stop sharing: disconnect everyone and refuse new connections.
cua host stop [OPTIONS]Examples
cua host stopcua host start#
Start sharing again after stop.
cua host start [OPTIONS]Examples
cua host startcua host share#
Share a relay machine (this one, or --machine) with other cua.ai accounts (id or verified email). Run from an enrolled device; every change is in the owner's audit log (cua devices audit).
cua host share [OPTIONS] <WHO>...| Argument | Type | Default | Description |
|---|---|---|---|
<WHO>... | string | required | Accounts to add. Repeatable. Repeatable. |
| Flag | Type | Default | Description |
|---|---|---|---|
--machine | string | Machine id (default: this machine). | |
--relay | string | Relay URL (default: the one this machine joined, else $CUA_RELAY_URL / https://relay.cua.ai). | |
--yes | boolean | false | Do not ask for confirmation. |
Examples
cua host share friend@example.com
cua host share friend@example.com --machine 0123abcd4567ef89 --yescua host unshare#
Stop sharing a relay machine with accounts; their open connections are cut.
cua host unshare [OPTIONS] <WHO>...| Argument | Type | Default | Description |
|---|---|---|---|
<WHO>... | string | required | Accounts to remove. Repeatable. Repeatable. |
| Flag | Type | Default | Description |
|---|---|---|---|
--machine | string | Machine id (default: this machine). | |
--relay | string | Relay URL. |
Examples
cua host unshare friend@example.comcua host remove#
Unregister from the relay, uninstall the service and delete the host configuration (asks first).
cua host remove [OPTIONS]| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--force | -f | boolean | false | Skip the confirmation prompt. Required when there is no terminal to ask on (scripts, agents): without it nothing is removed. |
--uninstalling | boolean | false | For an uninstall of Cua Spaces: turns off the Spaces this machine provides and takes them off the relay too, instead of refusing while it provides any. The Spaces and their data stay on this machine. |
Examples
cua host remove
# Without the prompt (required in scripts and agents)
cua host remove --forcecua devices#
This device as a client of your cua.ai account on the relay: enroll (second factor), approve other devices, list, rename, revoke, and the audit log of who accessed what.
cua devices [OPTIONS] <COMMAND>Examples
cua devices enroll
cua devices approve K7QX-M2RP
cua devices ls
cua devices auditcua devices status#
This device: enrolled, waiting for approval, or not enrolled.
cua devices status [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--relay | string | Relay URL (default $CUA_RELAY_URL, else the CUA_ENV relay, https://relay.cua.ai in production). |
Examples
cua devices statuscua devices enroll#
Enroll this device. Right after a fresh cua auth login it enrolls at once (and replaces this machine's older device key, if any); otherwise it shows a one-time code to approve from an enrolled device (cua devices approve <code> or the Cua Spaces app).
cua devices enroll [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--name | string | Display name (default: the host name). | |
--relay | string | Relay URL. | |
--wait | boolean | false | Wait (up to 10 minutes) until an enrolled device approves. |
Examples
cua devices enroll
cua devices enroll --name "work laptop" --waitcua devices approve#
Approve a new device (or re-verify an expired one) from this enrolled device, by the code it shows or by its id.
cua devices approve [OPTIONS] [CODE]| Argument | Type | Default | Description |
|---|---|---|---|
<CODE> | string | optional | The one-time code the new device shows, or its device id (dev_…, from cua devices ls). |
| Flag | Type | Default | Description |
|---|---|---|---|
--device | string | Or the device id (cua devices ls). | |
--relay | string | Relay URL. | |
--yes | boolean | false | Do not ask for confirmation. |
Examples
cua devices approve K7QX-M2RP
cua devices approve dev_0123456789abcdef01234567cua devices ls#
Your devices and their state.
cua devices ls [OPTIONS]Alias: cua devices list.
| Flag | Type | Default | Description |
|---|---|---|---|
--relay | string | Relay URL. |
Examples
cua devices ls
cua devices ls --jsoncua devices rename#
Rename a device.
cua devices rename [OPTIONS] <ID> <NAME>| Argument | Type | Default | Description |
|---|---|---|---|
<ID> | string | required | Device id. |
<NAME> | string | required | New name. |
| Flag | Type | Default | Description |
|---|---|---|---|
--relay | string | Relay URL. |
Examples
cua devices rename dev_0123456789abcdef01234567 "work phone"cua devices revoke#
Revoke a device: it can no longer list or reach your machines.
cua devices revoke [OPTIONS] <ID>| Argument | Type | Default | Description |
|---|---|---|---|
<ID> | string | required | Device id. |
| Flag | Type | Default | Description |
|---|---|---|---|
--relay | string | Relay URL. | |
--yes | boolean | false | Do not ask for confirmation. |
Examples
cua devices revoke dev_0123456789abcdef01234567cua devices audit#
Who accessed what, and when: enrollments, device sessions, machine access (yours and by accounts you share with), sharing changes.
cua devices audit [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--limit | integer | 50 | Newest events to show. |
--relay | string | Relay URL. |
Examples
cua devices audit
cua devices audit --limit 20 --jsoncua team#
Teams (organizations of your cua.ai account) share machines with every member and their agents. Owners and admins invite by email, approve member devices and add machines.
cua team [OPTIONS] <COMMAND>Examples
cua team create AIGIS
cua team invite AIGIS dillon@example.com
cua team add-machine AIGIS local:build-box
cua team approve AIGIS dev_0123456789abcdef01234567
cua team show AIGIScua team create#
Create a team; you are its owner. Buy Teams for it at app.cua.ai to add machines.
cua team create [OPTIONS] <NAME>| Argument | Type | Default | Description |
|---|---|---|---|
<NAME> | string | required | Team name. |
Examples
cua team create "AIGIS"cua team ls#
Your teams.
cua team ls [OPTIONS]Alias: cua team list.
Examples
cua team ls
cua team ls --jsoncua team show#
A team: plan, members, machines, open invites and devices.
cua team show [OPTIONS] <TEAM>| Argument | Type | Default | Description |
|---|---|---|---|
<TEAM> | string | required | Team id, alias or name. |
Examples
cua team show AIGIScua team invite#
Invite someone by email: cua.ai emails them an invitation. Manage invites at app.cua.ai/team.
cua team invite [OPTIONS] <TEAM> <EMAIL>| Argument | Type | Default | Description |
|---|---|---|---|
<TEAM> | string | required | Team id, alias or name. |
<EMAIL> | string | required | Their email. |
| Flag | Type | Default | Description |
|---|---|---|---|
--role | member | admin | member | member or admin (only the owner invites admins). |
Examples
cua team invite AIGIS dillon@example.com
cua team invite AIGIS ops@example.com --role admincua team join#
After accepting an emailed invitation: take the role it offered. Run cua auth login first so your session lists the team.
cua team join [OPTIONS] <TEAM>| Argument | Type | Default | Description |
|---|---|---|---|
<TEAM> | string | required | Team id, alias or name. |
Examples
cua team join AIGIScua team leave#
Leave a team.
cua team leave [OPTIONS] <TEAM>| Argument | Type | Default | Description |
|---|---|---|---|
<TEAM> | string | required | Team id, alias or name. |
Examples
cua team leave AIGIScua team remove-member#
Remove a member (owner or admin; admins cannot remove admins).
cua team remove-member [OPTIONS] <TEAM> <WHO>| Argument | Type | Default | Description |
|---|---|---|---|
<TEAM> | string | required | Team id, alias or name. |
<WHO> | string | required | Their email or account id. |
Examples
cua team remove-member AIGIS bob@example.comcua team set-role#
Make a member an admin, or an admin a member (owner).
cua team set-role [OPTIONS] <TEAM> <WHO> <ROLE>| Argument | Type | Default | Description |
|---|---|---|---|
<TEAM> | string | required | Team id, alias or name. |
<WHO> | string | required | Their email or account id. |
<ROLE> | member | admin | required | member or admin. |
Examples
cua team set-role AIGIS bob@example.com admincua team devices#
Member devices and whether they may open team machines.
cua team devices [OPTIONS] <TEAM>| Argument | Type | Default | Description |
|---|---|---|---|
<TEAM> | string | required | Team id, alias or name. |
Examples
cua team devices AIGIScua team approve#
Approve a member device so it can open team machines.
cua team approve [OPTIONS] <TEAM> <DEVICE>| Argument | Type | Default | Description |
|---|---|---|---|
<TEAM> | string | required | Team id, alias or name. |
<DEVICE> | string | required | Device id (cua team devices). |
Examples
cua team approve AIGIS dev_0123456789abcdef01234567cua team deny#
Decline a member device (it can no longer open team machines).
cua team deny [OPTIONS] <TEAM> <DEVICE>| Argument | Type | Default | Description |
|---|---|---|---|
<TEAM> | string | required | Team id, alias or name. |
<DEVICE> | string | required | Device id. |
Examples
cua team deny AIGIS dev_0123456789abcdef01234567cua team request#
Ask the team's admins to approve this device.
cua team request [OPTIONS] <TEAM>| Argument | Type | Default | Description |
|---|---|---|---|
<TEAM> | string | required | Team id, alias or name. |
Examples
cua team request AIGIScua team add-machine#
Make a Space (or a machine you host) a team machine: every member and their agents see it and can open it. Macs, Linux and Windows machines all can. Each Space is added on its own: adding a host does not add the Spaces it provides.
cua team add-machine [OPTIONS] <TEAM> <SPACE>| Argument | Type | Default | Description |
|---|---|---|---|
<TEAM> | string | required | Team id, alias or name. |
<SPACE> | string | required | Space id or name (relay:<id> for a machine you host). |
| Flag | Type | Default | Description |
|---|---|---|---|
--yes | boolean | false | Confirm without a prompt. |
Examples
cua team add-machine AIGIS local:build-box
cua team add-machine AIGIS relay:0123abcd4567ef89 --yescua team remove-machine#
Take a machine off the team.
cua team remove-machine [OPTIONS] <TEAM> <MACHINE>| Argument | Type | Default | Description |
|---|---|---|---|
<TEAM> | string | required | Team id, alias or name. |
<MACHINE> | string | required | The machine (relay:<id> or its id, as cua team show lists it). |
Examples
cua team remove-machine AIGIS relay:0123abcd4567ef89cua team audit#
The team's audit log. Audit export is coming soon; for now see the account app (app.cua.ai).
cua team audit [OPTIONS] <TEAM>| Argument | Type | Default | Description |
|---|---|---|---|
<TEAM> | string | required | Team id, alias or name. |
| Flag | Type | Default | Description |
|---|---|---|---|
--limit | integer | 50 | Newest events to show (when export arrives). |
Examples
cua team audit AIGIScua team delete#
Delete a team (owner; cancel its subscription first). Its machines stay yours.
cua team delete [OPTIONS] <TEAM>| Argument | Type | Default | Description |
|---|---|---|---|
<TEAM> | string | required | Team id, alias or name. |
| Flag | Type | Default | Description |
|---|---|---|---|
--yes | boolean | false | Do not ask for confirmation. |
Examples
cua team delete AIGIS --yescua usage#
Your relay allowance this month: live sessions, relay hours, and your plan. Spaces on your own network use none of it.
cua usage [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--relay | string | Relay URL (default $CUA_RELAY_URL, else the CUA_ENV relay, https://relay.cua.ai in production). |
Examples
cua usage
cua usage --jsoncua spacesd#
Talk to a cua-spacesd directly by URL.
cua spacesd [OPTIONS] <COMMAND>cua spacesd caps#
Print capabilities.
cua spacesd caps [OPTIONS] <URL>| Argument | Type | Default | Description |
|---|---|---|---|
<URL> | string | required | spacesd URL (http://host:port). |
| Flag | Type | Default | Env var | Description |
|---|---|---|---|---|
--token | string | CUA_ENV_TOKEN | spacesd token. |
Examples
cua spacesd caps http://127.0.0.1:3211cua spacesd exec#
Run a command (argv, no shell).
cua spacesd exec [OPTIONS] <URL> <COMMAND>...| Argument | Type | Default | Description |
|---|---|---|---|
<URL> | string | required | spacesd URL (http://host:port). |
<COMMAND>... | string | required | Program and arguments. Repeatable. |
| Flag | Type | Default | Env var | Description |
|---|---|---|---|---|
--token | string | CUA_ENV_TOKEN | spacesd token. |
Examples
cua spacesd exec http://127.0.0.1:3211 uname -acua spacesd cp#
Copy files: cua spacesd cp <URL> local :remote uploads, cua spacesd cp <URL> :remote local downloads.
cua spacesd cp [OPTIONS] <URL> <SRC> <DST>| Argument | Type | Default | Description |
|---|---|---|---|
<URL> | string | required | spacesd URL (http://host:port). |
<SRC> | string | required | Source: a local path, or :/guest/path. |
<DST> | string | required | Destination: a local path, or :/guest/path. |
| Flag | Type | Default | Env var | Description |
|---|---|---|---|---|
--token | string | CUA_ENV_TOKEN | spacesd token. |
Examples
# Upload
cua spacesd cp http://127.0.0.1:3211 ./notes.txt :/tmp/notes.txt
# Download
cua spacesd cp http://127.0.0.1:3211 :/tmp/notes.txt ./notes.txtcua spacesd shell#
Interactive shell (PTY).
cua spacesd shell [OPTIONS] <URL>| Argument | Type | Default | Description |
|---|---|---|---|
<URL> | string | required | spacesd URL (http://host:port). |
| Flag | Type | Default | Env var | Description |
|---|---|---|---|---|
--token | string | CUA_ENV_TOKEN | spacesd token. |
Examples
cua spacesd shell http://127.0.0.1:3211cua spacesd targets#
List streamable targets (displays, and windows with --windows).
cua spacesd targets [OPTIONS] <URL>| Argument | Type | Default | Description |
|---|---|---|---|
<URL> | string | required | spacesd URL (http://host:port). |
| Flag | Type | Default | Env var | Description |
|---|---|---|---|---|
--token | string | CUA_ENV_TOKEN | spacesd token. | |
--windows | boolean | false | Include window targets. |
Examples
cua spacesd targets http://127.0.0.1:3211 --windowscua spacesd call#
Call any cua.env.v1 RPC with a proto3-JSON body.
cua spacesd call [OPTIONS] <URL> <METHOD> [BODY]| Argument | Type | Default | Description |
|---|---|---|---|
<URL> | string | required | spacesd URL (http://host:port). |
<METHOD> | string | required | Service/Method. |
<BODY> | string | {} | Request body (proto3 JSON). |
| Flag | Type | Default | Env var | Description |
|---|---|---|---|---|
--token | string | CUA_ENV_TOKEN | spacesd token. |
Examples
cua spacesd call http://127.0.0.1:3211 SystemService/GetCapabilitiesExit codes#
| Code | Meaning |
|---|---|
0 | Success. |
1 | Failure, or cua do reported an error. |
2 | Invalid argument, or an ambiguous sandbox name (qualify it: local:NAME). |
3 | Not found: sandbox, window, skill or image (or an image not published yet). |
4 | Not supported, or not configured (for example no provider credentials). |
5 | No cua-spacesd answered, or a transport failure. |
6 | Unauthenticated or permission denied (by Cua or your cloud account). |
7 | Not enough free disk space (see cua cache). |
130 | Cancelled (Ctrl-C during a create): what it made was removed. |