Skip to main content
Run your first hosted Nullspace machine from any laptop with Python 3.11+ and a private-beta API key.
1

Install the CLI

Run this first, then activate again:
2

Save your API key

Ask the Nullspace team for a beta key, then save it with the hosted API URL:
The command prompts for the key and stores it in your local Nullspace config — no environment variables needed for local use.
3

Check access

When the checks pass, doctor prints Run: nullspace quickstart.
4

Run the first machine

Expected output:
Open the preview URL while the command waits for Enter — it serves a live HTTP server running inside your machine. Pressing Enter stops the server and destroys the machine.

The same flow in Python

The CLI quickstart runs the exact SDK flow you would write yourself. Save it locally with nullspace quickstart --write quickstart.py, or create it by hand:
quickstart.py
Run it from the activated environment with python quickstart.py. A few things worth noticing:
  • General filesystem APIs also accept valid machine-scoped absolute paths like /tmp/result.txt; /workspace remains the default mutable work tree.
  • The with block destroys the machine on exit. Without a context manager, call machine.kill() when you are done.
  • The preview URL is a signed link to a port inside the microVM — see Preview URLs.
  • For the command line reference and more CLI workflows, see the Python CLI Guide.

Configuration for scripts and CI

Environment variables work everywhere the CLI config does:
The SDK and CLI also read project .env, ~/.config/nullspace/config.json, and ~/.nullspace/config.json. Explicit api_key= and base_url= arguments override local config when you need per-process values.
If you want Claude Code or Codex on your laptop to build with Nullspace, install the MCP extra and then the project-local agent pack:
This writes local agent docs (.nullspace/agent-docs/), Claude Code and Codex skills, managed CLAUDE.md/AGENTS.md blocks, and MCP config. Use --agent claude-code or --agent codex for a narrower install. The installer needs no API key, stores no secrets, and never edits user-level files.

Troubleshooting

Next steps

Browse recipes

Common next tasks: files, ports, fork, templates, volumes, and raw HTTP.

Run notebook-style code

Stateful Python cells, packages, charts, and artifacts.

Run an agent in a machine

Codex, Claude Code, Amp, OpenCode — or deploy your own.

Build a template

Bake dependencies once and launch repeatable machines.