From tabz
Spawns and manages terminal tabs via TabzChrome REST API for workers, git worktrees, parallel Claude sessions, and tmux orchestration.
How this skill is triggered — by the user, by Claude, or both
Slash command
/tabz:terminalsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Spawn terminals, manage workers, and orchestrate parallel Claude sessions.
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 guidelinesnpx claudepluginhub ggprompts/tabzchrome --plugin tabzGuides integration of projects with TabzChrome terminals via Markdown links, HTML attributes, WebSocket, JS API, or Spawn API for dashboards, buttons, and CLI tools.
Spawns and manages persistent tmux-based Claude Code CLI sessions with bidirectional communication. Subcommands: spawn, send, read, status, list, kill for parallel peer orchestration and multi-turn steering.
Manages git worktrees paired with tmux windows as isolated parallel development environments. Handles creation, listing, and merging of worktrees for parallel agent workflows.