Agent Orchestrator 0.11.0 — The Floor

271 commits and 270 merged PRs later, from 49 authors. The difference isn't a rewrite stacked on a rewrite — it's that the foundation finally holds weight, and the app grew outward on top of it.

Covers everything since v0.10.0. If you are on 0.10.3, you already have part of this.

v0.10.0 was the first release after a ground-up rewrite — Go daemon, tmux session layer, Electron shell. It worked, mostly. But a rewrite's first release is a promise, not a product.

0.11.0 is 271 commits and 270 merged PRs later, from 49 authors. The difference isn't a rewrite stacked on a rewrite. It's that the foundation finally holds weight — and the app grew outward on top of it.


Highlights

Your phone is a real control surface

The mobile companion app went from a port to a shipping surface. Pair a phone to your daemon over LAN with a password via Connect Mobile, co-view terminals with pinch zoom and pan, and get push notifications on iOS and Android when a session needs you. Settings walks you through LAN or Tailscale pairing and links straight to the app. (#2522, #2533, #2569, #2654, #2851, #2881, #2918, #2933)

Agents can drive a browser

Agents render Markdown and drive an embedded browser preview. Annotate directly inside it to point an agent at a specific UI element, and localhost links clicked in a terminal open there instead of bouncing you out of the app. (#2455, #2548, #2610, #3085)

Feature Releases — install any open PR

Every PR can now produce its own installable prerelease build, so testing an in-flight change means installing a real app rather than doing a checkout. Gated behind a new Developer Mode toggle so the channel picker stays out of the way for everyone else. (#2459, #3039)

GitHub issue intake

Projects can auto-start a worker session per assigned GitHub issue — polling, dedupe, pagination and per-project backoff — configured under Tracker Intake in project settings and the create-project flow. (#2325)

Workspace files, and a diff viewer that parses

A new inspector panel browses a session's workspace files. The Changes view now renders a parsed diff with gutters, hunk headers, +/- markers and an adds/dels summary, instead of dumping raw git diff text with broken line numbers. (#2772, #3013)

Standalone shell terminals

Open a plain terminal not bound to any agent session — scoped per session, renameable, with a right-click context menu, drag-a-file-to-insert-path, and sane tab overflow. (#2828, #2861, #2948, #2644, #3019, #3077)

Keyboard-first navigation

Experimental Cmd/Ctrl+K command palette wired into sidebar search, a spawn shortcut, settings and session-navigation and terminal-focus shortcuts, an in-app shortcuts reference, and Enter-to-send / Shift+Enter-for-newline in the New Task brief to match Claude and Codex. (#2687, #2695, #2795, #2954, #2955)

Also new

  • Paste, drag-drop or attach images directly into a task brief (#2722, #2907)
  • Restart-to-update row with per-channel escalation, a revamped Updates screen, and a fix so the desktop app performs background update checks at all (#2381, #2709, #2939)
  • CLI: ao agent ls with install and auth status, ao spawn resolving project context instead of demanding --project, --kind worker|orchestrator, ao review stop|restart, ao pr (#2371, #2416, #2669, #2673, #3043)
  • Settings and first run rebuilt — redesigned settings with the PR board folded into the per-session inspector, onboarding replacing four empty kanban columns, and a first-run scratch project so there's somewhere to try AO immediately (#2432, #2797, #2952, #2348)
  • Renderer moved to a token-based design system (~1.4k lines of legacy CSS removed), followed by a unified framed desktop shell across macOS, Windows and Linux (#2535, #2937, #2997)

Reliability

This is where most of the cycle went.

Sessions survive restarts. Sessions now resume the agent's own native transcript rather than restarting cold, with a toast when AO has to fall back to replaying the saved prompt. Per-harness restore landed for OpenCode, Copilot, Agy, Kimi, Grok, Qwen, Goose and Vibe, backed by a test proving sessions survive daemon restart and upgrade. (#2350, #2744, #2765, #2790, #2796, #2856, #2857, #2858)

Model config actually reaches the agent. The model you picked in settings was silently dropped for most agents. Closed across Codex, Cline, Goose, Auggie, Pi, Vibe, Autohand, Kimi, Kilocode, Qwen and Copilot, with Kiro now advertising its options at all. (#2869, #2932, #2953, #2956, #2961, #2969, #2971, #2975, #2985, #2989, #2993, #3044)

Lifecycle and coordination. Killed sessions stay dead. Worker-idle completions reach a busy orchestrator through a durable outbox instead of being dropped. Orchestrator replacement goes through a safe canonical branch handoff with stale worktree recovery. AO no longer nudges a session that is genuinely paused on a permission dialog. (#2319, #2320, #2357, #2431, #2530, #2600, #2794, #2798, #2799, #2836, #3072)

Daemon failures explain themselves. Start failures surface the real error with recovery instructions and copyable output, as a floating toast rather than a banner that shoves the board around. ao spawn --issue without a GitHub token no longer panics the daemon. (#2690, #2871, #2972, #3017)

tmux and terminal. Fail fast with a clear message when tmux is missing, correct TERM on attach, forced UTF-8 client mode so non-ASCII stops garbling, pane descendants reaped on destroy so no zombie processes leak, no more double-firing Ctrl+Arrow / Ctrl+Backspace / Ctrl+V, wheel scroll in Codex and OpenCode transcripts, and a startup state instead of a blank pane while launching. (#2259, #2312, #2466, #2499, #2512, #2586, #2602, #2650)

Upgrade safety. Two duplicate migration-version collisions resolved, and out-of-order migrations are now applied instead of silently skipped. (#2294, #3035, #3092)

Windows. NSIS installer shortcut points at the real binary, .ico taskbar icon, ConPTY ProgramFiles(x86) fix, Codex preferring the npm binary over the WindowsApps stub, npm-installed agent binaries found when launched from the GUI, native notifications, a custom titlebar, and background auth checks routed through aoprocess so console windows stop flashing. (#2404, #2481, #2566, #2583, #2666, #2691, #2838, #3006)

PR review. Reviewer enforced read-only via a tool allowlist, binary preflighted with unavailable options disabled before a run is created, pane respawned when the harness changes instead of reusing a stale process, cross-fork PR detection across all remotes, forced re-fetch past max age so the list stops going stale, and the previous-head verdict shown as context while a new review runs. (#2193, #2194, #2368, #2506, #2678, #2750, #2767, #2800, #3008, #3009, #3049)


Under the hood

The agent adapter layer was consolidated, cutting ~3,100 lines of duplication into shared agentbase and activitystate packages. The release pipeline gained channel awareness, retried macOS sign/notary flakes, a guard on the latest desktop release, an advisory e2e gate against real installed builds before a stable cut, and a dispatchable unsigned build-artifacts workflow that emits the Linux .deb. On quality: a T0/P0 renderer smoke suite with data-testid instrumentation, a deterministic no-LLM fake harness for e2e, and TypeScript typechecking in frontend CI. Telemetry was capped in volume, switched to anonymous IDs, and no longer leaks raw CLI args into error events. (#2266, #2415, #2489, #2683, #2692, #2696, #2697, #2829, #2864, #2978, #2986)

Docs and the landing site now deploy to aoagents.dev via GitHub Pages, with a privacy policy, a PR-wise changelog, platform-detecting download links, and a contributing guide. (#2308, #2385, #2605, #2757, #2826, #2837, #2846, #2913)


Upgrading

GitHub Releases and Homebrew are the supported install paths; the npm package is frozen. Existing installs should update in place — the migration ordering fixes in this release specifically target the "it broke after updating" class of failure.


Contributors

49 distinct authors landed work in this range, and 30 of them landed four commits or fewer. That shape is the point: a first PR to AO is a realistic weekend.

Special thanks to Harshit Singh Bhandari, Nikhil Achale, Just_Anniee, Apoorv Singh, Khushi Diwan, Vaibhaav Tiwari and Pulkit Saraf, and to everyone else who filed an issue, tested a nightly, or sent a patch.

Full changelog: https://github.com/AgentWrapper/agent-orchestrator/compare/v0.10.0...v0.11.0