Launch
Spin up parallel worktrees with tmux + Claude sessions for one or more GitHub issues.
Arguments
$ARGUMENTS is a space-separated list of issue numbers (with or without # ). Example: /launch #1766 #1768 1769
Steps
- Parse issue numbers
Extract all numeric issue IDs from $ARGUMENTS . Strip # prefixes.
- For each issue, create a worktree
Use the repo's scripts/worktree.sh logic (but don't exec into a shell):
-
git fetch origin
-
Fetch issue title: gh issue view <N> --repo langwatch/langwatch --json title --jq '.title'
-
Generate slug: lowercase, replace non-alphanumeric with hyphens, collapse, trim, max 50 chars at word boundary
-
Branch: issue<N>/<slug>
-
Directory: .worktrees/issue<N>-<slug>
-
Skip if directory already exists (report it, don't error)
-
Create worktree:
-
If branch exists on remote: git worktree add "$DIR" "$BRANCH"
-
Otherwise: git worktree add -b "$BRANCH" "$DIR" origin/main
-
Copy .env* files from . , langwatch/ , and langwatch_nlp/ into the worktree
- Create tmux sessions
For each worktree:
-
Session name = directory basename (e.g., issue1766-multi-select-scenarios-should-show-hover-menu )
-
tmux new-session -d -s "$SESSION" -c "$WORKTREE_PATH"
-
Skip if session already exists
- Launch Claude in each session
For each session, use this exact sequence (the sleep + double-Enter pattern is critical — Claude's TUI swallows the first Enter during startup):
Start Claude
tmux send-keys -t "$SESSION" "claude --dangerously-skip-permissions" Enter
Wait for Claude to fully load
sleep 10
Send the command text WITHOUT Enter
tmux send-keys -t "$SESSION" "/implement #<N>" sleep 1
Send Enter separately — twice, because the first may be swallowed
tmux send-keys -t "$SESSION" Enter sleep 1 tmux send-keys -t "$SESSION" Enter
Do NOT combine the message and Enter in one send-keys call (e.g., send-keys "text" Enter ). Send them separately with sleeps.
- Report summary
Print a table of all sessions created:
| Session | Branch | Issue |
|---|---|---|
| <session-name> | <branch> | <issue-title> |
And remind the user they can:
-
tmux attach -t <session> to check on a session
-
orchard to see all worktrees in the TUI