---
title: Aider
description: Aider pair-programming CLI. No session resume; AO tracks activity via terminal classification.
---

import { Accordions, Accordion } from "fumadocs-ui/components/accordion";

<div style={{ display: "flex", alignItems: "center", gap: "0.75rem", margin: "0.5rem 0 1.25rem" }}>
	<Logo name="aider" size={28} />
	<span style={{ fontSize: "0.8125rem", color: "var(--color-fd-muted-foreground)" }}>
		Slot: <code>agent</code> · Name: <code>aider</code> · Binary: <code>aider</code>
	</span>
</div>

[Aider](https://aider.chat) is a pair-programming CLI built around explicit file edits. It doesn't have a session-resume concept, but it does work well for small, focused issues.

<PlatformSupport macos="full" linux="full" windows="full" />

## Install

```bash
pip install aider-install && aider-install
```

Set your API key via Aider's normal config (`~/.aider.conf.yml` or env vars). AO doesn't manage credentials for you.

## Use

```yaml title="agent-orchestrator.yaml"
agent: aider
```

## How it works

- **Launch:** `aider` runs in the worktree. AO pipes the issue prompt in via the normal Aider UX.
- **Activity tracking:** Aider doesn't emit a structured event log. AO writes `{workspace}/.ao/activity.jsonl` based on terminal output classification — the pattern matcher knows Aider's common prompts (diff review, confirm apply, etc.).
- **PR + git tracking:** PATH wrappers for `gh` / `git` record PRs and commits.
- **Session resume:** Not supported.

## Environment variables

| Variable        | Set by AO | Purpose                    |
| --------------- | --------- | -------------------------- |
| `AO_SESSION_ID` | ✓         | AO session id              |
| `AO_ISSUE_ID`   | ✓         | Issue identifier           |
| `PATH`          | ✓         | Prepends `~/.ao/bin`       |
| `GH_PATH`       | ✓         | Absolute path to real `gh` |

## Troubleshooting

<Accordions>
	<Accordion title="Aider hangs on file-edit confirmation">
		Aider prompts before applying diffs. If you want fully autonomous runs, configure Aider's `--yes-always` via
		`~/.aider.conf.yml`. AO won't inject this for you — it's your call whether the agent should auto-apply.
	</Accordion>
	<Accordion title="Dashboard cost shows $0">
		AO doesn't parse Aider's cost output. The cost column stays empty.
	</Accordion>
</Accordions>
