Japanese readers: start with README.ja.md or the full Japanese documentation hub.
A macOS/tmux workbench for running up to 9 Claude Code CLI sessions in one Terminal window.
This is a focused public version of a real local workflow: launch several Claude Code panes, point them at one shared idea folder, and use them for research, ideation, implementation planning, and comparison.
This project is not affiliated with Anthropic.
New to this project? Start with a plain-language explanation:
Choose the shortest path for your situation:
- Start Here / まずここから: understand the project in the first 3 minutes.
- Use Cases / ユースケース: pick a practical workflow such as issue triage, PR review, release prep, or feature discovery.
curl -fsSL https://raw.githubusercontent.com/goonobu-dot/claude-code-workbench/main/scripts/install.sh | bash
cd "$HOME/ClaudeCodeWorkbench/claude-code-workbench"
make first-runFull setup notes are in docs/install.md.
git clone https://github.com/goonobu-dot/claude-code-workbench.git
cd claude-code-workbench
./scripts/doctor.sh
make demoThe fastest no-risk preview is make first-run: it checks your machine, creates
a temporary demo workflow, closes it into a handoff summary, and lists available
workflow templates.
Read docs/demo-transcript.md to see the expected output shape before running anything locally.
If you are unsure where to start, run:
./scripts/recommend_workflow.sh issue
./scripts/recommend_workflow.sh security- OSS maintainers who need faster issue triage, pull request review, release preparation, or security screening.
- Developers who want several independent Claude Code angles on one local folder without building a hosted system.
- Researchers and builders who want reusable markdown outputs instead of scattered chat transcripts.
- a local 4, 6, or 9 pane tmux workbench
- workflow templates for issue triage, PR review, release prep, and feature discovery
- one shared folder containing role prompts, pane notes, and a final handoff summary
- a doctor report and quality gates so setup problems are easier to diagnose
- issue triage result
- pull request review verdict
- release checklist
- feature decision memo
- security triage
- documentation improvement plan
- dependency update review
If the workbench helps you make a real maintenance decision, open a usage report. Short reports are useful: the workflow used, what it produced, and where the setup was confusing.
One AI-agent chat is useful. Several panes are better when you want independent angles on the same problem.
Use this workbench for:
- parallel research
- competing solution ideas
- feature planning
- review and risk checks
- collecting outputs into one shared folder
- keeping a repeatable Claude Code multi-pane setup
- macOS
tmux- Claude Code CLI installed as
claudeor configured withCLAUDE_WORKBENCH_COMMAND - Python 3 and Pillow only if you regenerate the icon
Install tmux with Homebrew:
brew install tmuxOne-command install:
curl -fsSL https://raw.githubusercontent.com/goonobu-dot/claude-code-workbench/main/scripts/install.sh | bashThen launch:
cd "$HOME/ClaudeCodeWorkbench/claude-code-workbench"
make demo
./scripts/launch_claude_tmux.shCheck your local setup without starting a workbench session:
./scripts/doctor.shRun the local validation suite:
make testCreate a reusable maintainer workflow folder before launching panes:
./scripts/new_workflow.sh issue-triage
CLAUDE_WORKBENCH_IDEA_DIR="$HOME/ClaudeCodeWorkbench/Idea" ./scripts/launch_claude_tmux.shStart directly from a public GitHub issue or pull request URL:
./scripts/create_workflow_from_url.sh https://github.com/owner/repo/issues/123
./scripts/create_workflow_from_url.sh https://github.com/owner/repo/pull/123Launch with role-specific prompts generated from pane-roles.md:
CLAUDE_WORKBENCH_IDEA_DIR="$HOME/ClaudeCodeWorkbench/Idea" \
CLAUDE_WORKBENCH_USE_ROLE_PROMPTS=1 \
./scripts/launch_claude_tmux.shAfter the panes write their notes, create a handoff summary:
./scripts/close_workflow.sh "$HOME/ClaudeCodeWorkbench/Idea"Export a workflow folder for sharing:
./scripts/export_workflow.sh "$HOME/ClaudeCodeWorkbench/Idea"Import a shared workflow archive:
./scripts/import_workflow.sh ./Idea-workflow-export.tar.gzAll panes use one shared idea folder by default:
~/ClaudeCodeWorkbench/IdeaManual clone instead of the installer:
mkdir -p "$HOME/ClaudeCodeWorkbench"
git clone https://github.com/goonobu-dot/claude-code-workbench.git "$HOME/ClaudeCodeWorkbench/claude-code-workbench"
cd "$HOME/ClaudeCodeWorkbench/claude-code-workbench"
./scripts/doctor.shThe workbench uses tmux. The prefix is usually control-b.
control-b z: zoom or unzoom the active pane- mouse support is enabled
- each pane starts a separate Claude Code session
CLAUDE_WORKBENCH_PANE_COUNT=4 ./scripts/launch_claude_tmux.sh
CLAUDE_WORKBENCH_BASE="$HOME/ClaudeCodeWorkbench" ./scripts/launch_claude_tmux.sh
CLAUDE_WORKBENCH_IDEA_DIR="$HOME/ClaudeCodeWorkbench/Research" ./scripts/launch_claude_tmux.sh
CLAUDE_WORKBENCH_COMMAND="/opt/homebrew/bin/claude" ./scripts/launch_claude_tmux.sh
CLAUDE_WORKBENCH_MODEL="sonnet" ./scripts/launch_claude_tmux.sh
CLAUDE_WORKBENCH_AUTO_SUBMIT=0 ./scripts/launch_claude_tmux.shDefaults:
| Setting | Default |
|---|---|
CLAUDE_WORKBENCH_PANE_COUNT |
9 |
CLAUDE_WORKBENCH_SESSION |
claude-code-9 |
CLAUDE_WORKBENCH_BASE |
~/ClaudeCodeWorkbench |
CLAUDE_WORKBENCH_IDEA_DIR |
~/ClaudeCodeWorkbench/Idea |
CLAUDE_WORKBENCH_MODEL |
sonnet |
CLAUDE_WORKBENCH_EFFORT |
low |
CLAUDE_WORKBENCH_PERMISSION_MODE |
auto |
CLAUDE_WORKBENCH_AUTO_SUBMIT |
1 |
./scripts/build_claude_app.sh
open "$HOME/Applications/Claude Code Workbench.app"The generated app opens Terminal and launches the tmux workbench. The checked-in AppleScript does not contain a personal path. By default, it expects this repository at:
~/ClaudeCodeWorkbench/claude-code-workbenchSee docs/workflows.md for practical ways to use the panes without creating noise.
See also:
- docs/oss-maintainer-use-cases.md
- docs/showcase.md
- docs/why.md
- docs/one-minute-demo.md
- docs/evaluation-guide.md
- docs/install.md
- docs/demo-transcript.md
- docs/adoption-scorecard.md
- docs/continuous-improvement-loops.md
- docs/commands.md
- docs/architecture.md
- docs/quality-gates.md
- docs/workflow-templates.md
- docs/workflow-sharing.md
- docs/troubleshooting.md
- docs/faq.md
- SUPPORT.md
- docs/publication-checklist.md
- docs/openai-codex-for-oss.md
- docs/adoption-plan.md
Example:
- examples/issue-triage-demo
- examples/pr-review-demo
- examples/release-prep-demo
- examples/feature-discovery-demo
- examples/security-triage-demo
- examples/docs-improvement-demo
- examples/dependency-update-demo
Project operations:
If you try it on a real or fictional maintainer task, share the result with the usage report issue template. Reports about confusing setup steps are as useful as reports about successful workflows.
This repository intentionally does not include local logs, .env files, prompt histories, Obsidian vaults, generated agent output, or app bundles.
Before publishing your own fork, run:
make testThis is an early public release. It is intentionally small: shell scripts, AppleScript launchers, generated icon assets, tests, and CI.