Account and setup

Sign in and out, user defaults, the cua daemon, health checks and usage telemetry.

CommandDescription
cua authLog in to Cua and manage the signed-in session.
cua auth loginLog in (browser sign-in; --remote for a device code), then offer to set up your AI coding agents.
cua auth logoutRevoke and remove the local session.
cua auth statusLocal session state (no network).
cua auth whoamiWho is signed in: the account, its plan and its teams.
cua auth providerKeys of the contrib sandbox providers (--on e2b, --on daytona, --on modal).
cua auth provider lsProviders, whether this build has them and where their keys come from (never the values).
cua auth provider setStore a provider key, read from stdin (no echo on a terminal).
cua auth provider rmRemove a provider's stored keys.
cua configUser defaults (~/.cua/config.toml): where sandboxes run when --on is not given (default.on), the default kind and runtime.
cua config listEvery setting: its effective value and where it comes from (env, config or default).
cua config getOne setting's effective value.
cua config setWrite a setting to the config file.
cua config unsetRemove a setting from the config file (the environment variable or the built-in default applies again).
cua config pathThe config file's path.
cua daemonThe cua daemon.
cua daemon startStart the daemon (in the background unless --foreground).
cua daemon stopStop the daemon.
cua daemon statusShow daemon status.
cua daemon mcpStdio MCP server backed by the daemon (started if needed): the Spaces contract tools plus the sandbox/computer/skills tools (same server as cua mcp).
cua doctorCheck the host, an image and a sandbox's guest in one report (cua doctor [REF]), or eval parity between two variants (cua doctor parity A B).
cua doctor parityEval parity between two variants of one image (rootfs vs containerDisk): doctor on both, fidelity diff, task outcomes.
cua telemetryAnonymous usage telemetry (status, on, off, show-last, reset-id, schema).
cua telemetry statusWhether telemetry is on, why, and the exact properties every event carries.
cua telemetry onTurn usage telemetry on (writes [telemetry] enabled = "on" to ~/.cua/config.toml).
cua telemetry offTurn usage telemetry off (same as cua config set telemetry off).
cua telemetry show-lastPrint the last events this machine queued or sent, exactly as sent.
cua telemetry reset-idDelete the anonymous install id and salt (new ones are created on the next event).
cua telemetry schemaEvery event and property that may be sent, with its allowed values.

Every command also accepts the global options.

cua auth#

Log in to Cua and manage the signed-in session.

cua auth [OPTIONS] <COMMAND>

cua auth login#

Log in (browser sign-in; --remote for a device code), then offer to set up your AI coding agents.

cua auth login [OPTIONS]
FlagShortTypeDefaultDescription
--agentsstringAgents: all (installed), none, or ids such as claude,codex,hermes (cua agents detect lists every supported agent).
--mcp-commandstringCommand agents launch for the MCP server (default: the cua on PATH, else this binary).
--no-browserbooleanfalseDo not open a browser; print the URL.
--remotebooleanfalseSign in from another device with a code (for SSH sessions and machines without a browser).
--no-onboardingbooleanfalseSkip the agent onboarding prompt.
--skills-onlybooleanfalseOnly install skills. Alias: --no-mcp.
--mcp-onlybooleanfalseOnly configure the MCP server. Alias: --no-skills.
--yes-ybooleanfalseAnswer yes to every prompt.
--forcebooleanfalseReplace skill folders cua did not write (the old one is backed up).

Examples

# Sign in with the browser
cua auth login
 
# Sign in over SSH with a device code
cua auth login --remote
 
# Sign in and set up Claude Code without prompts
cua auth login --agents claude -y

cua auth logout#

Revoke and remove the local session.

cua auth logout [OPTIONS]

Examples

cua auth logout

cua auth status#

Local session state (no network).

cua auth status [OPTIONS]

Examples

cua auth status
cua auth status --json

cua auth whoami#

Who is signed in: the account, its plan and its teams.

cua auth whoami [OPTIONS]

Examples

cua auth whoami
cua auth whoami --json

cua auth provider#

Keys of the contrib sandbox providers (--on e2b, --on daytona, --on modal).

cua auth provider [OPTIONS] <COMMAND>

cua auth provider ls#

Providers, whether this build has them and where their keys come from (never the values).

cua auth provider ls [OPTIONS]

Alias: cua auth provider list.

Examples

cua auth provider ls
cua auth provider ls --json

cua auth provider set#

Store a provider key, read from stdin (no echo on a terminal). An environment variable of the same name wins over the stored key.

cua auth provider set [OPTIONS] <NAME>
ArgumentTypeDefaultDescription
<NAME>stringrequiredProvider (e2b, daytona, modal).
FlagTypeDefaultDescription
--varstringOnly this variable (for example MODAL_TOKEN_SECRET).

Examples

# Prompt for E2B_API_KEY (no echo)
cua auth provider set e2b
 
# One variable only
cua auth provider set daytona --var DAYTONA_API_KEY

cua auth provider rm#

Remove a provider's stored keys.

cua auth provider rm [OPTIONS] <NAME>

Alias: cua auth provider delete.

ArgumentTypeDefaultDescription
<NAME>stringrequiredProvider.

Examples

cua auth provider rm e2b

cua config#

User defaults (~/.cua/config.toml): where sandboxes run when --on is not given (default.on), the default kind and runtime.

cua config [OPTIONS] <COMMAND>

cua config list#

Every setting: its effective value and where it comes from (env, config or default).

cua config list [OPTIONS]

Alias: cua config ls.

Examples

cua config list
cua config list --json

cua config get#

One setting's effective value.

cua config get [OPTIONS] <KEY>
ArgumentTypeDefaultDescription
<KEY>stringrequiredSetting (default.on, default.kind, default.runtime).

Examples

cua config get default.on

cua config set#

Write a setting to the config file.

cua config set [OPTIONS] <KEY> <VALUE>
ArgumentTypeDefaultDescription
<KEY>stringrequiredSetting.
<VALUE>stringrequiredValue (checked: default.on takes local, aws, gcp, modal or a provider).

Examples

# Create sandboxes in your AWS account unless --on says otherwise
cua config set default.on aws
 
# Back to this machine
cua config set default.on local
 
# Prefer VMs when the image offers both
cua config set default.kind vm

cua config unset#

Remove a setting from the config file (the environment variable or the built-in default applies again).

cua config unset [OPTIONS] <KEY>
ArgumentTypeDefaultDescription
<KEY>stringrequiredSetting.

Examples

cua config unset default.on

cua config path#

The config file's path.

cua config path [OPTIONS]

Examples

cua config path

cua daemon#

The cua daemon.

cua daemon [OPTIONS] <COMMAND>

cua daemon start#

Start the daemon (in the background unless --foreground).

cua daemon start [OPTIONS]
FlagTypeDefaultDescription
--socketpathUnix socket (default ~/.cua/cua.sock).
--loopbackstring127.0.0.1:0Loopback address (default 127.0.0.1:0; "off" disables).
--foregroundbooleanfalseStay in the foreground.

Examples

cua daemon start
 
# In the foreground, for a service manager
cua daemon start --foreground

cua daemon stop#

Stop the daemon.

cua daemon stop [OPTIONS]

Examples

cua daemon stop

cua daemon status#

Show daemon status.

cua daemon status [OPTIONS]

Examples

cua daemon status

cua daemon mcp#

Stdio MCP server backed by the daemon (started if needed): the Spaces contract tools plus the sandbox/computer/skills tools (same server as cua mcp).

cua daemon mcp [OPTIONS]
FlagTypeDefaultEnv varDescription
--permissionsstringCUA_MCP_PERMISSIONSComma-separated permissions or groups (default: all).
--sandboxstringCUA_SANDBOXDefault sandbox for computer tools.

Examples

cua daemon mcp
cua daemon mcp --permissions spaces:all

cua doctor#

Check the host, an image and a sandbox's guest in one report (cua doctor [REF]), or eval parity between two variants (cua doctor parity A B).

cua doctor [OPTIONS] [TARGET]
       cua doctor <COMMAND>
ArgumentTypeDefaultDescription
<TARGET>stringoptionalSandbox to check: local:<name>, direct:<host:port>, a bare name, or a spacesd URL. Omit for the host checks only.
FlagTypeDefaultEnv varDescription
--imagestringImage to resolve for the image checks (default: the sandbox's).
--archstringArchitecture to resolve the image for (default: the sandbox's, else this host's).
--formathuman | json | junithumanOutput format (--json selects json).
--effectsnone | virtualnoneWhich guest checks may act on the guest.
--onlystringGuest check ids or groups to run (comma separated). Repeatable.
--skipstringGuest check ids or groups to skip. Repeatable.
--timeoutinteger240Guest budget in seconds.
--tokenstringCUA_ENV_TOKENspacesd token for a URL target (default: CUA_ENV_TOKEN).
--shimstringCheck an image without cua-spacesd through its own API instead: computer-server=<url>, osworld=<url> or mcp=<url>.
--expect-manifestpathThe image's claims (manifest JSON), for the shim or to override the guest's own.
--outpathAlso write the JSON report here.
--junitpathAlso write JUnit XML here.
--expectstringFail unless the build running in the guest is the expected one: COMPONENT=WANT with WANT sha256:<hex> (the executable), git:<sha> or a version (repeatable). Components: cua-spacesd, cua-driver, or an overlay name. cua sb create --overlay prints the sha256 to pass.
--strictbooleanfalseFail on warnings and on required checks that were skipped.
--no-hostbooleanfalseSkip the host checks.

Examples

# Host checks only
cua doctor
 
# Host, image and guest checks for the sandbox dev
cua doctor dev
 
# CI: fail on warnings, write JUnit XML
cua doctor local:dev --strict --junit doctor.xml

cua doctor parity#

Eval parity between two variants of one image (rootfs vs containerDisk): doctor on both, fidelity diff, task outcomes.

cua doctor parity [OPTIONS] <A> <B>
ArgumentTypeDefaultDescription
<A>stringrequiredFirst variant (a sandbox ref or a spacesd URL).
<B>stringrequiredSecond variant.
FlagTypeDefaultEnv varDescription
--tokenstringCUA_ENV_TOKENToken for URL targets (both), default CUA_ENV_TOKEN.
--token-bstringToken for B when it differs from A's.
--tasksstringbuiltin:form,builtin:fileTasks (builtin:form, builtin:file), comma separated. Repeatable.
--allow-diffstringExtra fidelity keys allowed to differ. Repeatable.
--outpathWrite parity.json here.
--timeoutinteger240Doctor budget per variant, seconds.

Examples

cua doctor parity local:linux-rootfs local:linux-vm
cua doctor parity local:linux-rootfs local:linux-vm --out parity.json

cua telemetry#

Anonymous usage telemetry (status, on, off, show-last, reset-id, schema). What is sent: https://cua.ai/docs/cua-sdk/concepts/telemetry.

cua telemetry [OPTIONS] <COMMAND>

Examples

cua telemetry status
cua telemetry off
cua telemetry show-last

cua telemetry status#

Whether telemetry is on, why, and the exact properties every event carries.

cua telemetry status [OPTIONS]

Examples

cua telemetry status
cua telemetry status --json

cua telemetry on#

Turn usage telemetry on (writes [telemetry] enabled = "on" to ~/.cua/config.toml).

cua telemetry on [OPTIONS]

Examples

cua telemetry on

cua telemetry off#

Turn usage telemetry off (same as cua config set telemetry off).

cua telemetry off [OPTIONS]

Examples

cua telemetry off

cua telemetry show-last#

Print the last events this machine queued or sent, exactly as sent.

cua telemetry show-last [OPTIONS]
FlagShortTypeDefaultDescription
--limit-ninteger20How many.

Examples

cua telemetry show-last
cua telemetry show-last -n 5 --json

cua telemetry reset-id#

Delete the anonymous install id and salt (new ones are created on the next event).

cua telemetry reset-id [OPTIONS]

Examples

cua telemetry reset-id

cua telemetry schema#

Every event and property that may be sent, with its allowed values.

cua telemetry schema [OPTIONS]

Examples

cua telemetry schema --json

Exit codes#

CodeMeaning
0Success.
1Failure, or cua do reported an error.
2Invalid argument, or an ambiguous sandbox name (qualify it: local:NAME).
3Not found: sandbox, window, skill or image (or an image not published yet).
4Not supported, or not configured (for example no provider credentials).
5No cua-spacesd answered, or a transport failure.
6Unauthenticated or permission denied (by Cua or your cloud account).
7Not enough free disk space (see cua cache).
130Cancelled (Ctrl-C during a create): what it made was removed.