multicode
v0.0.6
Published
Terminal UI for managing multiple repositories with Claude Code integration
Maintainers
Readme
Multicode
A terminal UI for managing multiple Git repositories with integrated Claude Code support. Work on several projects simultaneously, each with its own Claude Code session, git worktrees, and persistent conversation history.

Features
- Multi-Project Tabs - Open multiple repositories as tabs, switch instantly with
1-9keys - Embedded Claude Code - Full Claude Code terminal per project with session persistence
- Git Worktree Management - Create, switch, and manage worktrees without leaving the app
- Session Resume - Claude conversations persist across restarts via
--resume - Activity Indicators - See which tab has active Claude thinking/tool execution
- Script Runner - Quick access to
devandbuildscripts per project
Installation
Quick Start (Recommended)
bunx multicodeThat's it! Requires Bun to be installed.
Install Globally
bun install -g multicode
multicodeFrom Source
git clone https://github.com/twdnhfr/multicode.git
cd multicode
bun install
bun run devFirst Run
On first launch, press Ctrl+S to open setup:
- Set your repository folder (e.g.,
~/projects) - Set your worktree base path (where new worktrees are created)
- Claude CLI path is auto-detected
Keyboard Shortcuts
Global
| Key | Action |
|-----|--------|
| Ctrl+O | Open repository picker |
| Ctrl+S | Open setup |
| Ctrl+Q | Quit |
| Tab | Cycle focus between areas |
| 1-9 | Switch to tab/worktree by number |
When focused on Tabs
| Key | Action |
|-----|--------|
| x | Close current tab |
| c | Open Claude Code |
When focused on Worktrees
| Key | Action |
|-----|--------|
| w | Open worktree manager |
When focused on File Tree
| Key | Action |
|-----|--------|
| ↑/↓ | Navigate |
| Enter | Expand/collapse folder |
| Ctrl+F | File search |
| . | Toggle hidden files |
When focused on Terminal
| Key | Action |
|-----|--------|
| Escape | Return focus to file tree |
Layout
┌─[1:project-a]─[2:project-b]─[3:project-c]────────────────────────┐
├─[1:main↑0↓0]─[2:feature-x↑2↓0]───────────────────────────────────┤
│ 📁 project-a │ │
│ ├── src/ │ Claude Code Terminal │
│ ├── tests/ │ │
│ └── ... │ > How can I help you today? │
│ │ │
├─────────────────┴────────────────────────────────────────────────┤
│ [t] OTLP:4319 │ Scripts: [d] dev [b] build │
└──────────────────────────────────────────────────────────────────┘Session Persistence
Multicode automatically saves and restores:
- Open tabs and their repositories
- Active worktree per tab
- Claude session IDs for conversation resume
- Last active tab
Sessions are stored in ~/.multicoderc.
How It Works
Claude Integration
Each tab maintains its own Claude session ID. When you open Claude Code:
- First time: Creates new session with
--session-id - Subsequent opens: Resumes with
--resume - If session expired: Automatically creates new session
OTLP Telemetry
Multicode runs an OTLP receiver on port 4319 to receive telemetry from Claude Code. This enables:
- Real-time activity indicators (⚡ for tools, ◉ for thinking)
- Session ID matching to show status on correct tab
Git Worktrees
Create isolated worktrees for parallel development:
- Focus worktree bar and press
w - Enter branch name
- New worktree is created and switched to
Each worktree shows sync status (↑ahead ↓behind).
Requirements
- Bun runtime
- Claude Code CLI installed
- Git
Configuration
Config file: ~/.multicoderc
{
"repoDirectory": "/Users/you/projects",
"claudePath": "/usr/local/bin/claude",
"worktreeBasePath": "/Users/you/worktrees",
"openTabs": [...],
"activeTabIndex": 0
}Contributing
This project is open source and we'd love your help! Whether it's:
- 🐛 Reporting bugs
- 💡 Suggesting new features
- 🔧 Submitting pull requests
- 📖 Improving documentation
Feel free to open an issue or submit a PR. All contributions are welcome!
License
MIT
