From tabz
Spawns and manages terminal tabs via TabzChrome REST API for workers, git worktrees, parallel Claude sessions, and tmux orchestration.
npx claudepluginhub ggprompts/tabzchrome --plugin tabzThis skill uses the workspace's default tool permissions.
Spawn terminals, manage workers, and orchestrate parallel Claude sessions.
Orchestrates multiple Claude Code workers in iTerm2 panes using git worktrees to assign beads issues, monitor progress, and enable parallel development.
Launches and manages Claude Code worker sessions in tmux: delegate tasks via prompts, monitor lifecycle events, approve tool calls, enable multi-turn conversations, and collect results. For orchestrating parallel workflows.
Guides integration of projects with TabzChrome terminals via Markdown links, HTML attributes, WebSocket, JS API, or Spawn API for dashboards, buttons, and CLI tools.
Share bugs, ideas, or general feedback.
Spawn terminals, manage workers, and orchestrate parallel Claude sessions.
TOKEN=$(cat /tmp/tabz-auth-token)
curl -X POST http://localhost:8129/api/spawn \
-H "Content-Type: application/json" \
-H "X-Auth-Token: $TOKEN" \
-d '{"name": "Worker", "workingDir": "~/projects", "command": "claude"}'
Response:
{
"success": true,
"terminalId": "ctt-default-abc123",
"tmuxSession": "ctt-default-abc123"
}
| Field | Type | Default | Description |
|---|---|---|---|
name | string | "Claude Terminal" | Tab display name |
workingDir | string | $HOME | Starting directory |
command | string | - | Command to run after spawn |
profileId | string | default | Profile for appearance |
# Create isolated worktree (bd handles beads redirect automatically)
bd worktree create feature-branch
# Spawn worker there with BEADS_WORKING_DIR for MCP tools
PROJECT_DIR=$(pwd)
curl -X POST http://localhost:8129/api/spawn \
-H "Content-Type: application/json" \
-H "X-Auth-Token: $TOKEN" \
-d "{\"name\": \"Feature Worker\", \"workingDir\": \"../feature-branch\", \"command\": \"BEADS_WORKING_DIR=$PROJECT_DIR claude\"}"
Key: BEADS_WORKING_DIR tells the beads MCP server where to find the database. Point it to the main repo, not the worktree.
Keep prompts simple - workers are vanilla Claude:
Fix the pagination bug in useTerminalSessions.ts around line 200.
Run tests when done: npm test
Close the issue: bd close TabzChrome-abc --reason="done"
Avoid prescriptive step-by-step pipelines. Let Claude work naturally.
curl -s http://localhost:8129/api/agents | jq '.data[]'
curl -s http://localhost:8129/api/agents | jq -r '.data[] | select(.name == "V4V-ct9")'
SESSION=$(curl -s http://localhost:8129/api/agents | jq -r '.data[] | select(.name == "V4V-ct9") | .id')
curl -s -X DELETE "http://localhost:8129/api/agents/$SESSION" \
-H "X-Auth-Token: $TOKEN"
tmux send-keys -t "$SESSION" -l "Your prompt here"
sleep 0.5
tmux send-keys -t "$SESSION" Enter
See references/ for details:
spawn-api.md - Full API referenceworktree-setup.md - Git worktree patternsworker-prompts.md - Prompt crafting guidelines