Quick Start · node9 documentation
Quick Start
From zero to protected in under 2 minutes.
1Install Node9
Install the Node9 CLI globally via npm or Homebrew:
# Homebrew (macOS / Linux) brew tap node9-ai/node9 brew install node9 # Or via npm npm install -g node9-ai
2Connect an AI agent
Run
node9 init: it detects every installed agent and wires the deepest control it supports: a pre-execution hook for Claude Code, Codex, Copilot CLI, Gemini CLI, Antigravity and Hermes, a plugin for OpenCode and Pi, and MCP governance for Cursor, Windsurf, VS Code and Claude Desktop:node9 init # one command, all detected agentsAfter init, every tool call routes through Node9 automatically. Use
node9 doctor to verify the wiring afterwards.3Enable shields for the services you use
Node9 ships with core protection always on (git, SQL, shell). Enable shields for the specific infrastructure your agent has access to. On a machine that follows a cloud workspace, shields are set in the workspace and local enables are ignored:
node9 shield enable postgres # protect your database node9 shield enable aws # protect your cloud node9 shield enable github # protect your repos node9 shield list # see all available shields
4Connect to your workspace (optional)
For Mission Control, Policy Studio and a team audit trail, log in. Run it with no argument and node9 opens your browser to confirm the machine; nothing is copied and pasted.
node9 loginOn a machine with no browser, or over SSH, print the link instead and open it wherever you are:
node9 login --no-browserTo connect a machine from the dashboard rather than from the machine, the dashboard issues a token and the same onboarding runs from it. A service or CI account still uses a key, which is what the optional key argument is for.
node9 connect <token> # token from the dashboard node9 login <service-key> # service and CI accountsTo keep policy decisions on this machine, where the cloud never overrides them and only cost data syncs:
node9 login --localA machine logged in this way stays unkeyed, so what you enable locally is what governs. On a machine that is keyed, it is the workspace that decides, and something you enabled here can read as enabled while the workspace has not turned it on.
node9 shield list says which of the two you are looking at.5Verify everything is wired
Run the health check to confirm binaries, config, and hooks are all correctly set up:
node9 doctorThen start your agent and ask it to run a dangerous command. The review prompt appears inline in the agent (or as an OS dialog on agents without inline review). Check the audit log afterwards:
node9 audit
Named Profiles (Multiple Workspaces)Advanced
To manage multiple workspaces on the same machine, use named profiles:
# Save a named profile node9 login --profile work node9 login --profile personal # Select active profile export NODE9_PROFILE=workThe active profile determines which credentials and workspace are used. Defaults to the
default profile if NODE9_PROFILE is not set.