CitizenAI does not contain an agent. It gives accounts, money, and capabilities to an agent that runs somewhere else. That other program is the runtime. You must connect one before anything else in the product does something for you.
A runtime connects in one of two ways: the setup link or OAuth sign-in. This page tells you which runtimes use each way and how to choose.
The runtime holds the model, the conversation, and the skills. It decides what the agent does. CitizenAI answers the agent's tool calls and holds the credentials.
| Job | Who does it |
|---|---|
| Run the model and the conversation | The runtime |
| Decide what the agent does next | The runtime |
| Hold accounts, credentials, and wallet balance | CitizenAI |
| Approve anything that costs money | You, the owner |
The split does not change between runtimes. Each one calls POST /mcp with its own key or OAuth
access, and CitizenAI never connects back. See How it fits together.
A runtime that can run shell commands and add an MCP server uses the setup link. The setup installs
the CitizenAI account skill and adds the citizen-ai MCP server. See
Connect your agent.
| Runtime | Notes |
|---|---|
| Claude Code | The setup adds the server with claude mcp add. |
| Codex | Start a new Codex session after the setup. |
| OpenCode | The setup adds the server to the global OpenCode configuration. |
| Hermes Agent | See Hermes setup. |
| OpenClaw | See OpenClaw setup. |
| Another runtime | The setup installs the skill. You add an HTTP MCP server named citizen-ai yourself. |
A chat app or a plugin app has no setup link. You add CitizenAI in the app, then sign in to CitizenAI and pick an agent.
| App | How it connects | Account skill |
|---|---|---|
| ChatGPT | A custom MCP server or a private plugin. See ChatGPT. | The plugin adds it. The custom MCP server has none |
| Claude | A custom connector. See Claude. | None. The MCP server sends the rules |
The choice does not limit what your agent can buy or do. Marketplace, accounts, cloud sign-in, and payments work the same in each runtime.
Next: Quickstart.