Mulpex

Public beta

The opinionated Claude Code multiplexer for Mac.

Download for macOS

Mulpex with multiple tabs

Worktree tabs, auto-named

Spawn a Claude session with ⌘T and Mulpex creates a fresh git worktree on a dedicated branch. Tabs are titled with a 2–5 word kebab-case label written by a separate Haiku call after your first prompt — your real Claude session stays clean, your sidebar stays readable.

Per-branch dev servers, auto-port

Declare workspaces in mulpex.json with "PORT": "auto" and Mulpex hands each worktree its own free port — sticky-cached per branch. Run localhost:3000 on one feature and localhost:3001 on another, in the same browser, against the same project. Cross-workspace env templating ($${workspace.backend.port}) wires frontend and backend together automatically.

Pre-deploy review with Ask-Claude

Before you push, open the diff overlay (project right-click → Pre-deploy review). Select any snippet and a pill button opens an inline claude -p popup for a one-shot answer — no full tab, no PTY. Discard lines, hunks, or whole files; stash, reset, or revert commits without leaving the modal. The same overlay drives a read-only Worktree review off any instance.

Built-in git panel

Toggle a right-side Sourcetree-style panel for the project's main checkout: multi-lane history graph, working-copy stage/commit, branch checkout/rename/delete/merge/rebase, tags, remotes, stashes. When merge, rebase, cherry-pick, or stash-apply hits a conflict, a banner offers Ask Claude to resolve — a transient loose Claude resolves the conflicts and the tab auto-closes when done.

One-button deploy

Pre-deploy review's footer gains a Deploy button after a successful push. It spawns a fresh loose Claude bound to your project's /deploy skill — a per-project deploy procedure that Mulpex sets up and verifies on first run via a dedicated worktree. Push, then deploy, both from inside the same modal.

Loose tabs for the messy work

Not everything deserves a branch. ⌘⇧T spawns a loose instance in the project's main checkout — marked with ⚡ in the sidebar — for inspecting installed skills, debugging a flaky port, or asking Claude about the codebase without intending to commit. Promote to a worktree later in one click if it turns into real work.

A terminal in every tab

⌘⌥T adds a full $SHELL -l -i tab inside the instance, with the worktree as cwd — separate from the Claude pty, so it survives session resets. Drag files in; cmd-click paths and URLs to open them; ⌘K clears scrollback the way iTerm does.

Runbooks for durable context

Project-local markdown notes you attach to sessions via ⌘P. Claude reads them as part of its system prompt and is nudged to update them on merge — so recurring bugs and procedures stay in scope across sessions. The picker auto-opens on fresh spawns; a checkbox on the close dialog can distill the current session into a new runbook.

What's different about Mulpex

Parallel Claude Code in git worktrees isn't novel anymore. Anthropic ships it in Claude Code Desktop, and there's a healthy crop of third-party tools building the same shape. Mulpex's bet is the composition.

The rest of the surface

Attention dot & notifications

Hook-driven cyan dot in the sidebar when Claude is waiting on you, plus native macOS notifications and a Dock badge when Mulpex is backgrounded. Survives app restart.

Sync stale worktrees

When a sibling worktree merges and main advances, stale worktrees show a indicator. One-click rebase onto the new default — your Claude session is preserved.

Saved prompt library

⌘P on a Claude tab opens a global, searchable library of saved prompt snippets ("verify all assumptions before implementing", "do this in incremental phases"). Bracketed-paste into Claude's input.

Owns the keyboard layer

The original reason Mulpex exists. iTerm2 and zsh fight Claude over Ctrl-keys and readline shortcuts. Mulpex owns the keyboard, so Ctrl-bindings behave the way Claude expects them to.

Drag-and-drop everywhere

Drop a folder on the sidebar to add a project (offers to git init if needed). Drop files on a terminal to paste their paths; image files are auto-attached.

Free, native-feeling, local

Free Mac app, no telemetry, no account. Brings your own claude CLI on PATH. Worktrees and workspace ports live on disk under .mulpex/ in your project — gitignored, inspectable.

Try it

Apple Silicon, free, unsigned. One curl line in the install page.

Download for macOS