# Juggler — An open-source, GUI-based workbench for AI coding agents, branching session trees, not a linear transcript. Free, AGPLv3, by JUCE creator Julian Storer.

> Source: The Agents Index — https://theagentsindex.com/juggler (structured, researched, re-verified)
> Facts last verified: 2026-07-23

Juggler is an open-source, GUI-based workbench for AI coding agents, built by Julian Storer, the creator of the JUCE C++ framework and the Tracktion DAW. Instead of a scrolling terminal transcript, it represents each session as an editable, branching document: any point in a conversation can fork into a sub-thread, and every tool call, approval and raw context message stays inspectable. It runs as a native desktop app or a headless server reachable from a browser, driving Claude, OpenAI, Gemini, Ollama, OpenRouter or DeepSeek models through a swappable JavaScript plugin system.

| Fact | Value |
| --- | --- |
| Website | https://juggler.studio |
| API | No |
| Best for | Developers who want hands-on visibility and control over what a coding agent is doing to their codebase, and are comfortable running early-stage, self-hosted, open-source software. |
| Not for | Teams that want a mature, supported, terminal-first agent, or that depend on an existing ACP-based plugin ecosystem Juggler cannot yet import. |

## Verdict

Juggler is the most structurally different take on the AI-coding-agent UI to show up in this category recently: instead of a scrolling terminal log, your session is an editable, branching tree, and every tool call, approval and raw context message stays inspectable rather than hidden behind a chat bubble. That is a real, substantive difference from Cursor, Windsurf or Aider, not a cosmetic one, and it comes free, open-source and model-agnostic across Claude, GPT, Gemini, Ollama, OpenRouter and DeepSeek. The honest catch is timing: it shipped on Hacker News on 2026-07-12 and is alpha software by the creator’s own description — a launch-day tester hit an LLM-connection error immediately, there is no ACP support yet for developers coming from an existing plugin ecosystem, and the main app’s AGPLv3 license is a stronger copyleft commitment than most rivals carry. Pick Juggler if you want hands-on visibility into what your agent is doing and are willing to run early-stage software to get it; skip it for now if you need a mature, supported tool or depend on an ACP-based plugin setup.

## Strengths and weaknesses

- ✓ Completely free and open-source, with no signup — a single Go binary desktop app plus a headless server mode.
- ✓ A genuinely new session model — HN reviewers specifically praised the branching tree view as a real, differentiated take on agent orchestration ("the session tree in particular has merits").
- ✓ Model-agnostic across Claude, OpenAI, Gemini, Ollama, OpenRouter and DeepSeek, via a swappable plugin architecture.
- ✓ Built by Julian Storer, the creator of JUCE and Tracktion — a credible, 30-year track record in developer tooling.
- ✗ Genuinely early-stage: the creator calls it alpha software, and a launch-day tester hit an LLM-connection error on the very first run.
- ✗ No ACP (Agent Client Protocol) support yet — a real blocker for developers who want to port existing agent-client plugins rather than start over.
- ✗ The main application is AGPLv3, a strong copyleft license — a materially different commitment than the permissive (MIT/Apache) licenses most rival open-source coding agents use.
- ✗ Headless/server mode on Linux needs the libwebkitgtk-6.0 system library, a real dependency-management step commenters flagged for server deployments.
- ⚠ Alpha-stage, single-developer project, no enterprise support, SLAs or managed hosting.
- ⚠ No ACP support at launch, so existing agent-client plugin ecosystems (e.g. Pi/Zed plugins) cannot be ported over directly.

## Key features

- **Branching session trees** — Conversations are documents, not logs, any point can fork into a recursive sub-thread with its own undo/redo history.
- **Full tool-call transparency** — Tool calls, approvals, thread structure and the raw context JSON message are all inspectable in a Miller-column view.
- **JavaScript plugin architecture** — Context items, LLM-loop strategies, slash commands and the core read/write/bash tools are swappable plugins you can inspect, fork or replace.
- **Model-agnostic** — Drives Claude Code (CLI or SDK), OpenAI, Gemini, Ollama, OpenRouter and DeepSeek, with the provider list built to expand.
- **Multi-client, local or remote** — A single session syncs across any number of simultaneous clients, desktop app and browser, on one machine or over the network, via Yjs.

## Use cases

- **Hands-on agent supervision** — A developer who wants to inspect and steer every tool call an agent makes, rather than trust an opaque terminal transcript, works through Juggler’s tree view instead.
- **Exploring alternate approaches** — A developer branches a session at the point an agent went the wrong direction, tries a different instruction in the fork, and keeps both threads for comparison.
- **Remote / long-running sessions** — A developer starts a headless Juggler server on a remote machine and drives the same session from a browser client without keeping a terminal open.

## Integrations

Claude Code (CLI or SDK) · OpenAI, Gemini, Ollama, OpenRouter, DeepSeek · JavaScript plugin API (context items, LLM strategies, slash commands, core tools) · Yjs-synced multi-client sessions (desktop + browser)

## Sources

- https://juggler.studio
- https://github.com/juggler-ai/juggler
- https://github.com/juggler-ai/juggler/releases/tag/v0.4.3
- https://news.ycombinator.com/item?id=48883305
