> ## Documentation Index
> Fetch the complete documentation index at: https://ara-90a60a07.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Choose a path

> Pick ACP, the HTTP API, MCP or the CLI for your app, and see what each one can and cannot do.

You will know which Reason interface to build on after this page. All four start and follow Sessions in the same Workspace, and a Session started by one shows in the others.

## What you will have

A decision, and a link to the page that builds it.

## Prerequisites

```bash theme={null}
curl -fsSL https://reasonmachines.com/install.sh | bash
reason whoami
```

`reason whoami` names the account and Workspace. Your app's key or sign-in must come from the same Workspace.

## The four interfaces

| You are building | Use | What it does | Where commands run |
| - | - | - | - |
| An editor or ACP client (Zed, T3 Code) | [ACP](https://ara-90a60a07.mintlify.site/docs/acp.md) via `reason acp` | Starts and continues Sessions from the editor, with the editor's threads | Your computer (`reason connect`) or cloud, chosen by the flags |
| A chat UI, dashboard, bot or script | The [HTTP API](https://ara-90a60a07.mintlify.site/docs/build/chat-ui-api.md) | Creates Sessions, polls events, sends follow-ups, cancels | Your computer or cloud, chosen by `target` |
| A coding agent you already run (Claude Code, Codex) | [MCP](https://ara-90a60a07.mintlify.site/docs/mcp.md) | Lets the agent start, follow and steer Sessions as tools | Chosen by the Session's target |
| A shell script or CI job | The [CLI](https://ara-90a60a07.mintlify.site/docs/cli.md) | `reason "PROMPT"`, `reason run --wait --json`, `reason send` | This computer by default, or `--cloud` |

ACP is not an API. It is the protocol between an editor and `reason acp`, and `reason acp` calls the HTTP API for you. Use the API directly when you need events, polling, or your own UI.

## Decide in three questions

1. **Who starts the work?** A person in an editor: ACP. A person in your product: the API. An agent that already runs your tools: MCP. A script: the CLI.
2. **Where should commands run?** On this computer, on a Reason cloud computer, or both in one Session. The [computers page](https://ara-90a60a07.mintlify.site/docs/build/computers.md) explains each choice and what it needs. When an agent places the work itself, it runs work on your own files, apps or sign-ins on your connected computer, and heavy or long work in the cloud.
3. **Who signs in?** An editor or CLI uses your `reason login`. A server or product uses an API key with the scopes it needs. See [Authentication and scopes](https://ara-90a60a07.mintlify.site/docs/build/auth-and-scopes.md).

## Check it works

Run one read-only Session from the path you chose. For the CLI:

```bash theme={null}
reason "Run pwd and report the result. Do not change any files." --cloud --no-repo
```

The command prints a result and a Session ID, and the Session appears in the Reason app. The API, ACP and MCP paths each have their own check on their page.

## Next

* [Build an ACP editor](https://ara-90a60a07.mintlify.site/docs/build/editor-app-acp.md)
* [Build a chat UI on the API](https://ara-90a60a07.mintlify.site/docs/build/chat-ui-api.md)
* [Run on computers](https://ara-90a60a07.mintlify.site/docs/build/computers.md)
* [Authentication and scopes](https://ara-90a60a07.mintlify.site/docs/build/auth-and-scopes.md)
* [Events reference](https://ara-90a60a07.mintlify.site/docs/build/events-reference.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.