# Juggler — Visual workbench for AI coding agents: branching conversation trees, inspectable model transactions, local or remote.

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

Juggler is a desktop workbench for coding agents that renders a conversation as a branching tree and makes every tool call and model transaction inspectable. It runs on your machine or the box holding your code, reachable from the app or a browser.

| Fact | Value |
| --- | --- |
| Website | https://juggler.studio |
| Price | Free to download. Open-source core. No Juggler account. No Electron. |
| Free tier | Yes |

The complete desktop app and headless server for macOS, Windows and Linux, free to download with no Juggler account and no time limit. You supply model access yourself (an existing provider subscription or your own API keys), so inference is billed to you by the provider. The public repository's builds support local and LAN access; the official binaries add WAN modes, and the licensing page says official binaries may bundle proprietary paid components whose price is not published.

## What it does

**Writes code** · Yes — The model is handed file-write and shell tools inside the project you open, so it authors and edits code directly; Juggler supplies the loop and tooling while the model comes from whichever provider you connect.

> Even tools such as read, write and bash use the public extension SDK.
> — https://juggler.studio/ · Under the hood section, 'Built to be extended' card

**Debugs and fixes** · Yes — The documented one-shot example is diagnosing and fixing a failing test.

> juggler run "Fix the failing test in cmd/parser and explain what was wrong"
> — https://github.com/juggler-ai/juggler/blob/main/docs/headless-linux.md · docs/headless-linux.md, "Running one prompt and exiting", example command

**Reviews code** · Partly — A Git review surface lets you read each changed file's diff and comment on individual lines before handing the lot to the model, so review is human-led inside the workbench; no pull-request or CI review integration is documented.

> The Git pin is now a review: read each changed file's diff, comment on lines, paste the lot into the prompt
> — https://github.com/juggler-ai/juggler/blob/main/CHANGELOG.md · CHANGELOG.md, entry dated 2026-09-12, first bullet

**Ships it** · Partly — The agent edits files and executes shell commands, but no deployment or release capability is described.

> The run approves its own tools, so it can edit files and execute commands without asking.
> — https://github.com/juggler-ai/juggler/blob/main/docs/headless-linux.md · docs/headless-linux.md, "Running one prompt and exiting", paragraph after the exit-code table

**Done-for-you service** · No — Juggler is software you download and run yourself on your own machine or server; the site sells no build, hosting or managed engagement and offers nothing but the app and its matching server.

> Download and launch it. The app starts its matching local server and opens your project — no terminal required.
> — https://juggler.studio/ · Download section, 'The desktop app' card

_Not established: Writes tests, Whole-codebase work_

## How much it does unattended

**Runs autonomously** · Partly — The agent runs a multi-step loop on its own and a strategy can auto-approve tools outright, but the shipped default is an approval gate on anything destructive, so a session can sit waiting for you rather than completing unattended.

> Quit, relaunch or lose the connection and the conversation is still there, including an agent waiting for you to approve its next step.
> — https://juggler.studio/ · 'Sessions survive quits and reconnects' card

**Multi-agent** · Yes — Work is delegated to nested sub-threads that run in isolation and return only the requested result to the parent, and read-only strategies drive Explore/Research sub-agents; coordination is parent-to-child, not peer agents on a shared bus.

> Delegated threads keep their intermediate work out of the parent context and return only the result requested.
> — https://juggler.studio/ · The Context Surgeon section, closing lede

**Agent permissions** · Yes — Tool calls pass through approval gates whose width you choose per tool, per read-only set or per server, and strategies decide which tools exist at all in a given turn; nothing destructive runs unasked by default.

> The approval offers three widths: this tool, all read-only tools on this server, or every tool on that server (trust the server).
> — https://github.com/juggler-ai/juggler/blob/main/docs/mcp.md · Approving calls section

## Which models it runs on

**Claude** · Yes — Anthropic's API and the Claude Code CLI are both first-class providers; with the Claude Code provider Juggler spawns the CLI with strict MCP config and serves it Juggler's own toolset.

> Juggler supports Anthropic and Claude Code, OpenAI and Codex, GitHub Copilot, Google Gemini, Mistral, Z.AI, Ollama, OpenRouter, DeepSeek and other OpenAI-compatible providers.
> — https://github.com/juggler-ai/juggler · README, Model support section

**GPT** · Yes — OpenAI and the Codex CLI are named providers alongside GitHub Copilot, and any OpenAI-compatible endpoint can be pointed at, so GPT models run on your own key or an existing subscription.

> Juggler supports Anthropic and Claude Code, OpenAI and Codex, GitHub Copilot, Google Gemini, Mistral, Z.AI, Ollama, OpenRouter, DeepSeek and other OpenAI-compatible providers.
> — https://github.com/juggler-ai/juggler · README, Model support section

**Open models** · Yes — Ollama is supported for models running on your own hardware, and DeepSeek, Mistral, Z.AI and OpenRouter cover open-weight models hosted elsewhere; the provider list is explicitly extended by any OpenAI-compatible endpoint.

> Juggler supports Anthropic and Claude Code, OpenAI and Codex, GitHub Copilot, Google Gemini, Mistral, Z.AI, Ollama, OpenRouter, DeepSeek and other OpenAI-compatible providers.
> — https://github.com/juggler-ai/juggler · README, Model support section

**Model choice** · Yes — You choose the provider and the model, and can switch model and thinking level mid-workflow; Juggler sells no inference of its own, so the choice is yours in every case.

> Switch models and thinking levels without changing the rest of your workflow.
> — https://github.com/juggler-ai/juggler · README, Model support section

## Where you use it

**In your editor** · No — Juggler is its own desktop workbench: the download inventory is the app and its server and nothing else, so there is no editor or IDE plugin — you work beside your IDE rather than inside it.

> Each download contains two parts that always ship together:
> — https://github.com/juggler-ai/juggler · README, Getting started, list of shipped components

**On the command line** · Yes — A headless command-line server is half of every download and runs on the machine holding the code; the same binary carries CLI subcommands for scaffolding, validating and linking extensions.

> Run the headless juggler binary on the machine where your code lives, then attach from a browser or the desktop app — locally or across the network.
> — https://juggler.studio/ · Download section, 'The terminal server' card

**In your pipeline** · Partly — `juggler run` is built for CI jobs, git hooks and batch work with typed exit codes, but there is no PR-review or CI integration of its own.

> juggler run does one prompt with nobody watching, then exits with a status - for CI jobs, git hooks, and batch work over many repositories.
> — https://github.com/juggler-ai/juggler/blob/main/docs/headless-linux.md · headless-linux.md, 'Running one prompt and exiting' section

**In a browser** · Yes — The server serves its own web UI and prints the URL, so any browser on the desktop or a phone is a full client of the same live session alongside the native app.

> The server serves the web UI and prints its URL and a QR code.
> — https://github.com/juggler-ai/juggler · README, Running the server directly

## Whose machine it runs on

**Self-hosted** · Yes — Self-hosting is the only deployment there is: you run the server on your workstation, a dev box or your own server, and there is no vendor cloud in the path at all.

> Run Juggler on your workstation, a dev box or a server, then use the same live session from the desktop app or a browser.
> — https://github.com/juggler-ai/juggler · README, Why Juggler?, first bullet

**Open source** · Partly — The application is AGPL-3.0 and the extension SDK, bundled extensions and examples are Apache-2.0, but the official downloads are built from a private repository and may layer closed proprietary components on top of that open code.

> Official Juggler binaries are built and distributed from a separate private repository. They may bundle additional proprietary components (paid features) alongside the open code in this repository.
> — https://github.com/juggler-ai/juggler/blob/main/LICENSING.md · Official binaries and the pro tier section

## What it costs to run

**How it meters** · Partly — Juggler itself meters nothing and charges nothing: your spend is whatever your model provider bills against the subscription or API key you bring, so cost tracks token usage rather than seats or tasks, with no vendor-side calculator.

> Bring a subscription you already pay for or your own API keys.
> — https://juggler.studio/ · 'It supports the usual LLM providers' card

**Free tier** · Yes — The full desktop app and server are a free download for macOS, Windows and Linux with no Juggler account, no trial clock and no sign-up; you supply only your own model access.

> Free to download. Open-source core. No Juggler account. No Electron.
> — https://juggler.studio/ · Note beneath the platform download links

**API access** · No — There is no documented public API for driving Juggler from your own stack: the app-server link is an explicitly private protocol with no stability promise, and automation is expected to happen inside the app as JavaScript extensions.

> The app and server speak a private protocol over HTTP/WebSocket that is not promised to be stable across versions.
> — https://github.com/juggler-ai/juggler/blob/main/docs/distribution.md · 'Why they must stay in lock-step' section

**MCP server** · Partly — Juggler is a full MCP client — local stdio or remote HTTP/SSE servers, header auth, per-tool allow and deny lists, and inspectable handoffs — but it publishes no MCP server of its own, so another agent cannot query Juggler this way.

> Point Juggler at a local or remote MCP server and its tools join the built-in toolset.
> — https://github.com/juggler-ai/juggler · README, The MCP postman section

**Bring your own key** · Yes — You bring your own inference: either an existing provider subscription or your own API keys, stored locally in an owner-only credentials file, and local models via Ollama are equally supported.

> Bring a subscription you already pay for or your own API keys.
> — https://juggler.studio/ · 'It supports the usual LLM providers' card

## Buying it for a team

**A company can buy it** · Partly — No plans, seats or checkout exist to buy; an organisation's only published route is negotiating a commercial licence with the author for uses the AGPL does not permit, and official builds may include paid components with no stated terms.

> If you want to use Juggler's AGPL code in a way the AGPL doesn't permit, contact the author about commercial licensing.
> — https://github.com/juggler-ai/juggler/blob/main/LICENSING.md · Official binaries and the pro tier section, closing paragraph

**Admin controls** · Partly — Constraints are real but local and per-user: a strategy fixes which tools exist and what is auto-approved in a turn, and each MCP server takes an allowlist or denylist, yet there is no organisation-level console enforcing policy across users.

> A policy for the agentic loop: which tools exist this turn, what gets auto-approved, what guidance the model is given. Read-only and YOLO are just two of these.
> — https://juggler.studio/extensions.html · The five capability types, Strategy card

**Audit log** · Partly — Activity is logged in detail on your own disk — a structured server log plus one file per conversation — but these are operational logs the user can disable or redirect, swept by age after two weeks, not a tamper-evident administrative audit trail.

> At startup Juggler removes any log file in the directory that hasn't been modified in 14 days
> — https://github.com/juggler-ai/juggler/blob/main/docs/logging.md · Rotation & retention section, age sweep bullet

**Single sign-on** · No — There is no identity layer to federate: Juggler requires no account of its own, and sharing a server across a LAN is documented as having no password at all, let alone SAML or OIDC.

> LAN access has no password: enable it only on networks you trust.
> — https://github.com/juggler-ai/juggler · README, Running the server directly

_Not established: Seat model_

## What happens to your code

**Opt out of training** · Partly — Juggler has no cloud and no account, so nothing reaches the vendor; whether your code trains a model is settled entirely by the provider whose key or subscription you connect, and Juggler publishes no policy of its own on it.

> Open the app, choose a project and connect a model provider; no Juggler account is required.
> — https://github.com/juggler-ai/juggler · README, Try it section

**Data residency** · Yes — Residency is wherever you run the server: sessions and project state are written next to your code, credentials sit in an owner-only file in your home directory, and the server binds to localhost unless you open it.

> It listens on localhost by default, so nothing off your machine can reach it.
> — https://github.com/juggler-ai/juggler · README, Running the server directly

**Getting out** · Yes — Nothing is locked in a vendor account: sessions are files on your disk, per-user state in the config directory is documented as copyable to another machine, and there are no credits that could expire.

> A session lives on disk, not just in memory.
> — https://juggler.studio/ · 'Sessions survive quits and reconnects' card

_Not established: Certifications_

## Platform record (as of 2026-08-30)

Reported by the code-hosting platform, not by the vendor.

| Fact | Value |
| --- | --- |
| Licence | AGPL-3.0 |
| Stars | 575 |
| Forks | 43 |
| Last push | 2026-08-30 |

## Provenance

1 of 14 sources behind the facts above are independent of the vendor.

## Coverage elsewhere

None recorded. Every fact above comes from the vendor and is not independently corroborated yet.

## What changed

- 2026-09-17 — Capabilities · Commercial terms · Free tier · Price
- 2026-09-02 — Capabilities · Commercial terms · Free tier
- 2026-08-31 — Capabilities · Commercial terms · Free tier
- 2026-08-23 — Alternatives · One-liner · Summary · Wikidata id

## Correcting this record

Anything marked "Not established" is a question we have not answered — it is not a No. If you represent Juggler, or anything here is wrong or out of date, you can supply it with a source: the operations this site accepts from an agent are listed at https://theagentsindex.com/.well-known/agents.json — that catalogue needs no key to read, and each entry states its own auth.

Supplying evidence is free. Nothing that can be bought here changes what a field says, whether a gap is closed, or how this record is scored.
