Juggler – Open-Source GUI Coding Agent with Inspectable Sessions
Juggler is an open-source GUI coding agent that visualizes tool calls, approval prompts, and branching conversation threads in a Miller column layout. Sessions persist across restarts, surviving even mid-approval states.
TL;DR
TL;DR: Juggler is an open-source GUI coding agent with a visual Miller column workbench that makes every tool call, approval dialog, and conversation thread inspectable — and the whole session survives closing and relaunching.
Source and Accuracy Notes
⚠️ This section is MANDATORY. All links must be verified from actual source, not guessed.
- Project page: juggler.studio ← visited 2026-08-14
- Source repository: github.com/juggler-ai/juggler ← README read end-to-end 2026-08-14
- License: AGPL-3.0 (verified via GitHub API
license.spdx_id) - Latest release: v0.5.5 (2026-08-11)
- HN launch thread: news.ycombinator.com/item?id=44725306 (280 points)
- Creator: Julian Miller, creator of JUCE (verified in README)
What Is Juggler?
Juggler describes itself plainly in its README: “Yes, it’s another AI coding agent. The industry definitely needed one more.” The angle it takes is visibility and control — most coding agents drop you into a linear transcript. Juggler gives you a graphical workbench where every LLM tool call, approval prompt, and conversation branch is laid out visually.
The core distinction is that a Juggler session is a persistent document on disk, not a transient transcript. Quit the app, restart your machine, reconnect from a different device — the session resumes exactly where it left off, including states waiting for user approval.
brew install juggler-ai/tap/juggler
Setup Workflow
Step 1: Install Juggler
macOS:
Download the .dmg from juggler.studio or the Releases page. Drag Juggler to Applications and launch it.
First launch may be blocked by macOS Gatekeeper — right-click the app, select Open, then confirm in System Settings → Privacy & Security.
Windows:
Download Juggler-[version]-setup.exe from the Releases page. It installs both the desktop app and the juggler server CLI in one directory.
Linux (headless server):
Download the juggler binary, make it executable, and run it from a terminal. Connect via browser or the desktop app. For headless servers with no display, see docs/headless-linux.md.
Step 2: Connect to a Model
Juggler ships with its own built-in juggler server binary (bundled with the desktop app). Launch it from the terminal:
juggler
By default the server runs on localhost only. It prints a URL and QR code for connecting via browser. For LAN access, press p at the terminal (or start with --public). LAN access has no password — only enable it on trusted networks.
Supported backends (from README):
- Claude Code (CLI or API)
- OpenAI (codex plan or API)
- Gemini
- Ollama
- OpenRouter
- Z.AI
- Deepseek
Step 3: Use the Miller Column Workbench
The desktop UI uses Miller columns — root conversation on the left, selected items expanding into properties and sub-threads to the right. Tool calls, approval dialogs, context items, and branching sub-threads are all laid out visually and navigable.
Key behaviors:
- Tree over transcript — any point can branch into a sub-thread. Navigate, inspect, and edit the structure directly.
- Approval survives restart — when the agent pauses for user approval, that state is part of the session document. Restarting rehydrates the exact same approval dialog.
- Multi-client — desktop app and browser tabs can attach to the same server session simultaneously.
Deeper Analysis
Architecture
Juggler’s session is a Yjs document — a CRDT-based collaborative editing data structure. The server is a state machine that modifies this document. Because the document is persisted to disk, not held in memory, the session is inherently resumable.
The UI is built around this document model. Miller columns display the tree structure of the session — branches, tool calls, and their outputs — which is fundamentally different from a chat log that you scroll through linearly.
Extension System
The README describes the extension model:
Context items, slash commands, LLM loop strategies, and their UIs are JavaScript extensions you can inspect, fork, or replace.
This applies to tool integrations, context providers, and the UI panels themselves. The extension surface is the same objects the agent works with, so extending the agent means extending the interface.
Security Model
LAN mode has no password. The README explicitly warns:
Anyone who can reach the address can drive the agent, so only enable it on networks you trust.
WAN (internet) access is not in the open-source repository. The README notes that official builds from juggler.studio include WAN access modes under separate licensing.
Practical Evaluation Checklist
- [ ] Installed Juggler on macOS/Windows/Linux
- [ ] Connected to at least one model backend (Ollama for local, or API key for cloud)
- [ ] Issued a coding task and observed tool calls appear in Miller columns
- [ ] Created a branch sub-thread from an existing conversation point
- [ ] Closed and relaunched mid-task; verified session resumed with pending approvals intact
- [ ] Tested LAN mode (if applicable): connected from a second device on the same network
- [ ] Inspected the JavaScript extension APIs via the extension debugger
Security Notes
- LAN mode has no authentication — only use on trusted networks. Enable
--publiconly when you understand the exposure. - WAN access requires official builds — the open-source release does not include internet-accessible server modes.
- Session documents stored locally — review your local storage configuration for sensitivity.
FAQ
Q: How is Juggler different from Claude Code or Cursor? A: The main difference is the UI paradigm. Most coding agents give you a terminal or a chat interface. Juggler is a graphical workbench — every tool call, approval, and conversation branch is an inspectable node in a navigable tree. Sessions also survive app restarts.
Q: Does it run locally or does it call external APIs? A: Juggler itself is a local GUI and session manager. It connects to models via their APIs (Claude Code CLI, OpenAI, Ollama, etc.). The model inference happens on whatever backend you configure — local Ollama or cloud APIs.
Q: Is the code open source?
A: Yes — the repository at github.com/juggler-ai/juggler is AGPL-3.0. WAN access features are in official builds under separate licensing per LICENSING.md.
Q: Can multiple people collaborate on the same session? A: Multiple clients (desktop app or browser tabs) can attach to the same server session simultaneously, similar to a collaborative document. True multi-user collaboration with per-user permissions is not explicitly documented.
Q: What happens to my data? A: Sessions are stored as documents on your local disk. Juggler does not appear to have a cloud sync feature in the open-source version — everything stays on your machine unless you explicitly expose the LAN server.
Conclusion
Juggler’s angle on the crowded coding agent space is genuine: visual session inspection and restart-resilient workflows. For developers who want to stay hands-on with what the LLM is doing — inspecting tool calls rather than watching a transcript scroll — it’s a meaningfully different UX.
The AGPL-3.0 license means the core is open source. The extension model, if it matures, could make this a platform as much as a tool.
If you want to try it: download a release from juggler.studio or build from source at github.com/juggler-ai/juggler.
Related Posts
ai-setup
Recall – Persistent Memory for Claude Code via MCP Hooks
Recall gives Claude Code a permanent memory store that survives session restarts and context compaction. Four hooks capture and restore context automatically — with cloud SaaS or self-hosted options.
2/28/2026
dev-tools
Automotive Skills Suite for AI Engineering
Evaluate Automotive Skills Suite for APQP, ASPICE, HARA, safety-plan, and DIA workflows with setup notes, governance risks, and SME review guidance.
5/28/2026
dev-tools
awesome-agentic-ai-zh Roadmap Guide
Explore awesome-agentic-ai-zh as a Chinese agentic AI learning roadmap, with setup notes, track selection, study workflow, and evaluation guidance.
5/28/2026