Do more, faster. Parallel Claude Code sessions.
Run multiple Claude sessions on the same codebase—each in its own git branch. When Claude offers different approaches, fork the session and try them all in parallel. Switch freely. Merge the winner.
Plural isn't a terminal multiplexer with Claude instances. It's a purpose-built TUI that integrates deeply with the Claude Code API—streaming responses, parsing tool calls, handling permissions, and understanding Claude's structured output.
This integration enables features that wouldn't be possible with a tmux wrapper:
- Live todo sidebar that updates as Claude works through tasks
- Option detection that parses Claude's proposed approaches and lets you fork into parallel sessions
- Automatic permission handling with inline prompts and "always allow" memory
- Git-aware merge workflow that understands session branches and creates PRs
- Token cost tracking parsed from Claude's session data
- Claude Code CLI installed and authenticated
- Git
- GitHub CLI (
gh) for PR creation (optional)
Run plural help to see all available commands and options.
brew tap zhubert/tap
brew install plural# Run directly without installing
nix run github:zhubert/plural
# Install to your profile
nix profile install github:zhubert/plural
# Or add to devbox
devbox add github:zhubert/plural
devbox global add github:zhubert/pluralSee CONTRIBUTING.md for build instructions.
pluralAdd a repository, create a session, and start chatting with Claude. Press ? at any time to see all available keyboard shortcuts for your current context—the help adapts based on what you're doing.
When Claude requests permission for tool use: y (allow), n (deny), or a (always allow).
Each session runs in its own git worktree with a dedicated branch. Claude can edit files freely without touching your main branch—multiple sessions can work on the same repo simultaneously. You decide when and what to merge.
When Claude offers multiple approaches ("Option 1: Use Redis" vs "Option 2: Use PostgreSQL"), fork the session and explore them all at once. Child sessions appear indented in the sidebar. Try different solutions in parallel and merge the winner.
Import GitHub issues directly—Plural creates a session for each with full context, and Claude starts working immediately. When you create a PR from an issue session, "Fixes #N" is automatically added to close the issue on merge.
When a session's work is ready, merge directly to your main branch or create a GitHub PR. Uncommitted changes are auto-committed. If there are merge conflicts, Claude can help resolve them.
Preview a session's branch in your main repository so dev servers pick up the changes without merging. The header shows a [PREVIEW] indicator while active.
- Image pasting: Share screenshots and diagrams directly with Claude
- Message search: Find anything in your conversation history
- Text selection: Select and copy text from the chat
- Tool use rollup: Collapsed view of Claude's tool operations, expandable on demand
Choose from 8 built-in themes, configure branch naming prefixes, set up desktop notifications, and extend Claude's capabilities with MCP servers and plugins.
/cost- Token usage and estimated cost for the current session/help- Available Plural commands/mcp- MCP servers configuration/plugins- Manage marketplaces and plugins
plural # Start the application
plural --debug # Enable debug logging
plural --version # Show version
plural help # Show help
plural clean # Remove all sessions, logs, and orphaned worktrees (prompts for confirmation)
plural clean -y # Clear without confirmation prompt
plural demo list # List available demo scenarios
plural demo run <name> # Run demo scenarioConfiguration and session history are stored in ~/.plural/.
Devbox/Nix upgrade fails: Use devbox global rm then devbox global add as a workaround, or use Homebrew which handles upgrades correctly.
See the GitHub Releases page for version history and release notes.
MIT License - see LICENSE for details.
