Open source · MIT · macOS

One hotkey.
Every session in the air.

Juggler is a native macOS app that tracks your running coding agent sessions and cycles you to the next one that needs attention. No workflow changes. No new terminal.

brew install --cask nielsmadan/juggler/juggler
Juggler

Press the hotkey. Land on the next idle session. Keep juggling.

01

Instant switching

Press one global hotkey from anywhere — any app, any Space — and Juggler takes you straight to the next session that's waiting for input.

02

Never lose a window

When you switch, Juggler highlights the terminal tab and pane with a color-coded flash. Across multiple monitors, you'll spot it immediately.

03

Zero workflow changes

No new terminal to learn. No forced worktrees. No limit to one repo. Keep your existing setup and workflow.

Running in two minutes.

1

Install

Grab the .dmg or install with homebrew.

2

Onboarding

Juggler guides you through granting Accessibility permissions, setting up your terminal integration, and installing the hooks that let it detect sessions.

3

Open your sessions

Start Claude Code or OpenCode sessions as you normally would. Juggler detects them automatically. No registration. No config.

4

Hit the hotkey

Press ⇧⌘K and you're at the next idle session. That's it.

⇧⌘K next · ⇧⌘J prev · ⇧⌘L backburner

What's in the box.

Global hotkeys

Cycle forward, backward, backburner, reactivate, toggle the UI. All global, all customizable.

Tab & pane highlighting

Color-coded flash marks the active session's tab and pane. Spot it instantly across monitors.

Notifications

Native macOS alerts when a session goes idle or needs permission. Click to jump there.

Menu bar & monitor

Popover for a quick glance. Full session monitor with all the details and jugglery animations.

Queue modes

Fair, Priority, or Static. Match Juggler to your tasks and your workflow.

Backburner

Park sessions you don't need right now. They stay tracked but skip the cycle. Reactivate when you're ready to continue

Idle time stats

Per-session and global idle vs. working time. See your actual throughput.

Guided setup

Onboarding walks you through permissions, terminal integration, and hooks. No manual config.

Hands stay on the keyboard.

ShortcutAction
KCycle to next idle session
JCycle backward
LBackburner current session
HReactivate all backburnered sessions
;Toggle popover / open monitor

Every action has a keyboard shortcut, including all popover and session monitor controls. All fully customizable. Made by a longtime vim user.

Works with what you use.

Terminals

iTerm2
Kitty
tmux optional

Coding agents

Claude Code
OpenCode

Requires macOS 14.0+ (Sonoma).

More integrations — WezTerm, Gemini CLI, Copilot — coming soon.

Your terminal. Your way.

Other session managers

Wrap sessions in a TUI or separate app. Give up splits, profiles, scrollback. Force tmux. Force worktrees. Limit to one repo. And who knows how long they will be maintained?

Juggler

Sits in your menu bar. Detects sessions via hooks. Activates your real terminal windows natively. Your workflow stays exactly as it was.

Stop hunting for idle sessions.

Free, open source, and built for people who run coding agents all day and hate using their mouse.

macOS 14.0+ · iTerm2 / Kitty · Claude Code / OpenCode · MIT License