Documentation menu

Open source and nid Cloud

nid is open core. Everything in this repository is open source under the Apache License 2.0 and stays free: the CLI, the terminal app, the daemon, the local dashboard, every agent driver, the coordination tools, token compression, the installers and the updater. You can run a whole team of agents on your own machine without an account, a sign-up or a network service of ours.

nid Cloud is a separate, paid, hosted product from Cats with Keyboards, built in a private repository. It is for the things a single machine cannot do on its own. Details and pricing will be published on nid.dev; the console itself will live at app.nid.dev and its relay at relay.nid.dev. The older terminid.com and terminid.dev domains redirect to nid.dev.

What is free, forever#

Free and open source (this repository)nid Cloud (hosted, paid; in development)
nid CLI, terminal app and nid -pA web console that reaches your daemons from anywhere
The daemon, sessions, worktrees, the board, reviews, landingHosted relay so phones and other machines can watch and approve (the relay core is open: self-host it with nid relay-serve)
Local dashboard on 127.0.0.1Shared team views across people and machines
All agent drivers: Claude Code, Codex, opencode, Kimi, ACP, PTYHosted history and notifications beyond one machine
Token compression, project memory, nid learn
Installers, updates, doctor, uninstall

The left column does not shrink. A feature that works on one machine today does not move behind the Cloud later. If something here ever needs Cloud to work, that is a bug.

How Cloud connects, and what it never sees#

  • Your daemon dials out. Cloud never opens a connection into your machine. When you turn Cloud on, the daemon opens an outbound connection to it; turn it off and the connection closes. No listener of ours is added to your machine. The connection is end-to-end encrypted between your daemon and your paired devices; the relay routes sealed frames it cannot read. Remote access is the protocol and threat model.
  • Only the public daemon API. Cloud talks to your daemon through the same documented daemon API that the local dashboard and the CLI use. There is no private side channel; anything Cloud can do, you can do with the API.
  • Your subscriptions and keys stay put. Agents run on your machine, logged in with your own Claude, ChatGPT and other subscriptions or API keys. Those credentials, and the secrets nid stores in your keychain, never leave the machine and are never sent to Cloud.
  • Your code stays put. Worktrees, diffs and files live on your disk. Cloud shows what the daemon reports through the API, scoped to what you chose to share.

Where the code lives#

This repository (CatsWithKeyboards/nid) is public. It contains the open parts of remote access, so that anyone can verify them and run them without us: the end-to-end protocol (packages/nid/src/remote/), the daemon connector, the nid cloud commands, the platform-agnostic relay core with its Node and Bun adapters (packages/nid/src/relay-core/, nid relay-serve, for development, tests and self-hosting) and a development console. It contains no hosted Cloud code (accounts, the hosted relay's Durable Objects adapter, metering, billing), no pricing or business documents, and no private paths or secrets. A check in pnpm test (scripts/check-public.ts) enforces that, so it does not depend on anyone remembering. Cloud code lives in a separate private repository and builds on the public API and the relay core's adapter interface like any other client.

Contributions are welcome under the same license; see CONTRIBUTING.md.