Skip to main content
Use nullspace machine exec for one-off commands and nullspace machine process ... for background process management.

Foreground Commands

Run a shell command:
Run a structured command with arguments:
Use --cwd, --env, and --timeout to control execution:
Do not combine --shell with structured argv for the same command. Shell mode treats the command as an authored shell string; argv mode preserves argument boundaries.

Streaming Output

Use the process stream command when you want stdout and stderr as the command runs:
process stream also accepts --timeout, --cwd, repeatable --env, --shell, and --json:
Streaming uses the machine exec WebSocket channel underneath. With --json, the command suppresses live printing and emits final exit_code, stdout, stderr, and pid.

Background Processes

Start long-running work in the background:
Then list, inspect logs, attach, send stdin, or kill by PID:
Add --json to process list, logs, stdin, kill, stream, or attach when another program needs structured output. stdin --json reports bytes_sent; attach --json reports the final command result.

Code Interpreter

For notebook-style stateful code, use the code interpreter commands instead of plain shell exec:
machine code run-job list is available for read-only hosted beta inspection. machine code run-job create, get, cancel, and wait are not part of the hosted private beta launch surface because remote host-agent routing for queued code runs is not implemented yet. For short one-off language snippets that should use command execution rather than notebook state, the process namespace also exposes:

Exit Codes And JSON

Use --json on supported commands when an agent or script needs structured results:
If a CLI command fails, the process exits non-zero. See Error Codes for stable error-code anchors.