Documentation

Examples

Practical workflows for desktop sessions, Chat and TUI, pull requests, reviews, previews, and mobile.

These examples use capabilities shipped in the current Go daemon and Electron desktop app. They do not rely on the retired TypeScript plugin configuration or an examples/ directory.

Start A Focused Chat Worker

  1. Add a local GitHub repository in the desktop app.
  2. Create a task named Fix settings validation.
  3. Select an installed Chat-capable harness such as Codex or Claude Code.
  4. Choose Chat and use a bounded prompt:
Reproduce the invalid settings error, add a regression test, and make the smallest fix.
Run the focused tests and summarize changed behavior. Do not refactor unrelated settings code.

Watch provider activities and changed files in Chat. If an approval or structured question appears, answer it in the timeline.

Use A Native Terminal UI

Create another task and choose Terminal UI. AO creates the worktree and launches the harness's native interface through tmux on macOS/Linux or conpty on Windows.

Use the desktop terminal for native interactive commands. Send normal follow-up guidance through AO's message controls:

The failing case is on Windows path normalization. Keep the Unix behavior unchanged.

Switch Claude Code Or Codex To Chat

For a compatible idle TUI session, choose Open Chat. AO stops the old controller, resumes the provider conversation through the native Chat driver, and keeps the same session and worktree.

If the session is busy, choose deliberately:

  • Finish and drain waits for accepted work to finish before switching.
  • Stop and interrupt cancels the active turn before switching.

Switching preserves provider context, but a first TUI-to-Chat switch does not reconstruct old terminal screen output as structured Chat cards.

Claim An Existing Pull Request

The optional CLI can start a worker and associate an existing pull request:

ao spawn --project my-project --agent codex --name "Finish PR 142" --claim-pr 142

Or attach a pull request to an existing session:

ao session claim-pr 142
# From outside the worker, target it explicitly:
ao session claim-pr <session-id> 142

The shorter form reads the current worker from AO_SESSION_ID.

AO then observes the GitHub pull request and displays CI, review, and mergeability facts with the session.

Run A Reviewer

Open a session with a linked pull request, go to Reviews, select a configured reviewer harness, and start a review. Reviewer runs are separate from worker harness configuration. Current reviewer harnesses include Claude Code, Codex, and OpenCode.

Inspect the result, then send actionable findings to the worker. Keep human review in the loop before merging.

Preview A Web App

Start the development server in the session worktree, then select it explicitly:

ao preview http://127.0.0.1:5173

For a repository with .ao/launch.json:

ao preview start
ao preview status

Open the Browser tab in the session inspector. Preview targets are session-scoped; AO does not auto-discover one when a worker starts.

Use Browser Controls From An Agent

When the Browser tab is attached to the session, the optional CLI exposes commands such as:

ao browser snapshot
ao browser click <ref>
ao browser fill <ref> "hello"
ao browser screenshot

Temporary network-metadata capture must be started explicitly and expires automatically. It omits request and response bodies plus sensitive values.

Pair The Mobile App

  1. Open desktop settings and choose Connect Mobile.
  2. Scan the pairing QR from the mobile app.
  3. Type the connection password shown separately on the desktop.
  4. Create or open a session from the phone.

Use this only on a trusted home network. Turning Connect Mobile off closes the LAN listener.

Useful CLI Checks

The CLI talks to the already-running daemon:

ao status
ao session ls
ao session get <session-id>
ao send --session <session-id> --message "Run the targeted test and report the result."

The desktop app remains the recommended control surface.

Next