Changelog
All notable changes to Mulpex are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.1.0 — 2026-05-09
Initial public beta.
Added
- Multi-tab Claude sessions in a single native macOS window — Mulpex owns the keyboard layer so
claudeno longer fights iTerm2/zsh over readline and Ctrl-key bindings. - Worktree isolation: each Claude instance spawns into its own git worktree on its own branch, so parallel sessions on the same project never step on each other.
- Loose instances: a second instance kind that runs in the project's main checkout for one-off diagnostic work alongside worktree-backed sessions; right-click promotes a loose instance into a worktree in place.
- Runbooks: long-term memory for recurring workflows. Attach a runbook when spawning, browse and preview them via the ⌘P picker, and save the current session as a new runbook from the right-click menu.
- Workspaces:
mulpex.jsondeclares dev-server commands per project; Mulpex auto-assigns ports and runs each server in its own tab next to the Claude session. - Pre-deploy review modal: shows the working-tree diff, surfaces uncommitted files, offers an Ask-Claude popup for inline questions, and pushes when you're ready.
- Sync-with-main indicator: sidebar shows
↑Nwhen a project's worktree is behind main, with a one-click rebase action. - Attention dot, OS notifications, and dock badge when a Claude session needs input while the window is unfocused.
- ⌘P prompt picker for inserting saved prompts and runbooks.
- Configuration modal with a "dynamize" button for converting static config to per-project values.
- Keyboard shortcuts: ⌘T (new worktree), ⌘⇧T (new loose instance), ⌘P (prompt picker), ⌘⇧S (close worktree with merge/discard wrap-up), ⌘, (configuration), ⌘⇧] (jump to next pending instance), ⌘[/⌘] (cycle instances), ⌘S (toggle fleet stop/start on the Claude tab).