---
title: Installation
description: Install AO, authenticate the tools it controls, and verify your first project.
---
import { Callout } from "fumadocs-ui/components/callout";
import { Tab, Tabs } from "fumadocs-ui/components/tabs";
import { Step, Steps } from "fumadocs-ui/components/steps";
import { Accordions, Accordion } from "fumadocs-ui/components/accordion";
This page gets your machine ready to run Agent Orchestrator. By the end, the `ao` command should be on your `PATH`, your source-control CLI should be authenticated, and `ao doctor` should be able to explain what is ready or missing.
The published package is `@aoagents/ao`. It provides the global `ao` command and includes the built-in CLI, dashboard, and plugin packages.
## Prerequisites
Windows support is actively improving. Use defaults.runtime: process instead of tmux. See Platforms.>}
/>
Install these before running AO:
| Tool | Required | Why AO needs it |
| --- | --- | --- |
| Node.js 20+ | Yes | Runs the AO CLI, dashboard, and plugins. |
| Git | Yes | Creates worktrees, branches, commits, and cleanup operations. |
| GitHub CLI `gh` | For GitHub projects | Reads issues, PRs, reviews, and CI status as your user. |
| tmux | Default on macOS/Linux | Keeps long-running agent sessions attachable and recoverable. |
| An agent CLI | Yes | The worker that writes code, such as Claude Code, Codex, Cursor, Aider, or OpenCode. |
If you plan to use GitLab or Linear, install and authenticate their CLIs or credentials as described on the related plugin pages. A GitHub-only setup only needs `gh`.
## Install AO
```bash
npm install -g @aoagents/ao
```
```bash
pnpm add -g @aoagents/ao
```
```bash
yarn global add @aoagents/ao
```
```bash
git clone https://github.com/ComposioHQ/agent-orchestrator
cd agent-orchestrator
pnpm install
pnpm build
pnpm --filter @aoagents/ao link --global
```
Confirm the command is available:
```bash
ao --version
```
## Authenticate Your Tools
### Authenticate source control
For GitHub projects, AO uses `gh` for issue lookup, PR discovery, reviews, CI checks, and merge readiness.
```bash
gh auth login
gh auth status
```
The authenticated account must be able to read the repository, create branches, push branches, open PRs, and read CI status.
### Install and sign in to one agent
AO launches an agent CLI inside each worker session. Start with the one you already use, then add more later if you want per-project or per-role choices.
```bash
npm install -g @anthropic-ai/claude-code
claude
```
```bash
npm install -g @openai/codex
codex
```
```bash
curl https://cursor.com/install -fsS | bash
agent --help
```
```bash
pip install aider-install
aider-install
aider --help
```
```bash
npm install -g opencode-ai
opencode --help
```
### Start AO in a repo
Run `ao start` from a repository you want AO to manage:
```bash
cd ~/code/my-repo
ao start
```
If there is no `agent-orchestrator.yaml`, AO creates one. It also starts the dashboard and an orchestrator session for the project.
You can also start from a path or clone from a URL:
```bash
ao start ~/code/my-repo
ao start https://github.com/your-org/your-repo
```
### Run the doctor check
```bash
ao doctor
```
`ao doctor` checks the launcher, config, plugin resolution, runtime tools, source-control authentication, notifier setup, and stale temporary files. If it reports a fixable issue, run:
```bash
ao doctor --fix
```
## Windows Setup
Windows support is in progress. Use the process runtime instead of tmux:
```yaml title="agent-orchestrator.yaml"
defaults:
runtime: process
```
Use Slack, Discord, webhook, or another network notifier for alerts. Desktop notifications and iTerm2 integration are not available on Windows.
## Common Install Issues
Your global package bin directory is not on `PATH`. Check your package manager's global bin path, then reopen your shell and run `ao --version` again.
Run `gh auth login`, then `gh auth status`. AO cannot read GitHub issues, PRs, reviews, or CI checks until `gh` is authenticated.
Install tmux on macOS or Linux, or set `defaults.runtime: process` if you are on Windows or running in a container.
Install one supported agent CLI and run it once outside AO so it can complete its own sign-in flow.
`ao start` scans for a free port and prints the final dashboard URL. Use the URL in the command output.
Run `ao dashboard --rebuild` to clean stale dashboard build artifacts and start again.
## Next