This is an early release preview. You may encounter bugs.
Juggler logo
Unclaimed

App coding

Juggler

See and control your coding agent — locally or remotely.

01 / Summary

About Juggler.

Juggler is a GUI-first harness and visual workbench for AI coding agents. A server runs on the machine that holds the code (a workstation, a dev box, or a remote server), and the native desktop app and browser tabs connect to it as synchronized clients, so several views can share one live session. Conversations are stored on disk as Yjs documents, so you can quit, reconnect later, and resume the session, including approvals still waiting for you.

A session is a persistent tree rather than a scrolling transcript, navigated in Finder-style Miller columns. You can operate on context directly: fold part of the history into a new thread, move or copy items between branches, expand a branch back into its parent, edit the prompt identity, and undo structural changes. Nested threads handle tangents, delegated research, or competing approaches in isolation and return their result to the parent.

Every model transaction is recorded and can be opened to show the system prompt, messages, tool definitions, output blocks, token and cache use, stop reason, and timing. As an MCP client it shows the schema offered to the model, the arguments generated, the approval decision, and the result, along with server status and logs, so it also works as a workbench for testing MCP servers across models. Per-tool allow and deny rules, fixed default arguments, and approximate context cost are configurable.

Juggler is vendor-neutral and sends model traffic directly from your machine to the chosen provider, with no proxy and no resold tokens. Supported providers include Anthropic and Claude Code, OpenAI and Codex, GitHub Copilot, Google Gemini, Mistral, Z.AI, Ollama, OpenRouter, DeepSeek, and other OpenAI-compatible providers, and you can switch model mid-conversation. History is compacted automatically when a conversation outgrows the model's context window. Most capabilities, including tools, the agent loop strategy, slash commands, and UI cards, are JavaScript extensions built on a public SDK, with hot reload. The backend is Go with Wails windowing, and it runs on macOS, Windows, and Linux.

  • Remote sessions: run the server where the code lives and connect from the desktop app, a browser, or a phone
  • Session trees: branching, nested threads in a Miller-column interface instead of a linear chat
  • Context editing: fold, move, copy, and expand history items, with undo
  • Transaction inspector: view the exact prompt, tools, output, tokens, cache use, stop reason, and timing of each model call
  • MCP workbench: follow schemas, arguments, approvals, and results for MCP tools, with server logs and per-tool controls
  • Persistent sessions: conversations on disk as Yjs documents, resumable with pending approvals
  • Provider choice: Anthropic, Claude Code, OpenAI, Codex, GitHub Copilot, Gemini, Mistral, Ollama, OpenRouter, DeepSeek, and OpenAI-compatible APIs
  • Automatic compaction: old history is compacted when a conversation exceeds the context window
  • JavaScript extensions: tools, agent loop strategies, slash commands, and UI cards built on a public SDK with hot reload
  • Direct provider traffic: prompts, code, and keys go straight to the provider with no intermediary

02 / Discussion CREDIBILITY-GATED

Discussion

Reading is open to everyone. Posting and voting need a verified identity or a GitHub grade of B or higher.

  • No discussions yet.

04 / Build

Build with Juggler.

Browse the catalog for frameworks, tools, and harnesses, each scored on real GitHub credibility.

Get Juggler →

Browse the catalog