From skills
Spawns a new Claude Code session in a separate terminal for parallel tasks, optionally sharing context like git branch, task summary, and key files. Use to multitask without losing current progress.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skills:sidequestThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Launch a new Claude Code session in a separate terminal to work on a different task while keeping your current session active.
Launch a new Claude Code session in a separate terminal to work on a different task while keeping your current session active.
/sidequest "Add a settings page with dark mode toggle"
/sidequest "Set up the database schema" --no-context
/sidequest # Interactive prompt for task description
Gathers context (unless --no-context):
Opens new terminal tab/window:
Starts Claude with context:
cd "<current_directory>" && claude -p "<context_prompt>"
Returns control to original session (user continues main task)
| Flag | Description |
|---|---|
--no-context | Start fresh without context from parent session |
--iterm | Force use of iTerm (auto-detected by default) |
--terminal | Force use of Terminal.app (auto-detected by default) |
When user invokes /sidequest, execute the following:
Check if the user provided:
--no-context flag (skip context entirely)If no task description provided, ask the user what they want to work on.
IMPORTANT: If --no-context was NOT specified, use the AskUserQuestion tool to ask:
Use AskUserQuestion with:
- question: "Include a summary of this chat in the sidequest?"
- header: "Context"
- options:
1. "Yes, include summary" - "Pass context about current work to help the new session understand what you're doing"
2. "No, start fresh" - "Start the sidequest with no context from this session"
If user selected "Yes, include summary":
git branch --show-currentIf user selected "No, start fresh":
Format the prompt for the new session:
With context:
SIDEQUEST from main task.
Main task context:
- Working directory: /path/to/project
- Git branch: feature/user-auth
- Was working on: <summary of current task>
- Key files: <recent files>
- Progress: <key progress and decisions made>
Your sidequest task: <user's task description>
This is separate from the main task. Focus only on this sidequest.
Without context:
SIDEQUEST MODE
Your task: <user's task description>
This is an independent task. Focus only on completing this sidequest.
# Detect terminal
if [[ -z "$TERMINAL_APP" ]]; then
if [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
TERMINAL_APP="iTerm"
else
TERMINAL_APP="Terminal"
fi
fi
# Escape the prompt for shell
ESCAPED_PROMPT=$(echo "$CONTEXT_PROMPT" | sed 's/"/\\"/g')
# Launch based on terminal
if [[ "$TERMINAL_APP" == "iTerm" ]]; then
osascript -e "tell application \"iTerm\"
tell current window
create tab with default profile
tell current session
write text \"cd '$PWD' && claude -p \\\"$ESCAPED_PROMPT\\\"\"
end tell
end tell
end tell"
else
osascript -e "tell application \"Terminal\"
activate
do script \"cd '$PWD' && claude -p \\\"$ESCAPED_PROMPT\\\"\"
end tell"
fi
After launching, inform the user:
Sidequest started in new terminal!
Task: <task description>
Continue your main quest here.
Main terminal (building user authentication):
You: Working on the login API endpoint...
You: /sidequest "Add a settings page with dark mode toggle"
Claude: [AskUserQuestion]
Include a summary of this chat in the sidequest?
> Yes, include summary
No, start fresh
You: (selects "Yes, include summary")
Claude: Sidequest started in new terminal!
Task: Add a settings page with dark mode toggle
Context: Included summary of current auth work
Continue your main quest here.
You: (continues auth work)
New terminal (opens automatically):
Claude: SIDEQUEST MODE
Task: Add a settings page with dark mode toggle
Context from main session:
- Working on: Building user authentication with JWT
- Branch: feature/user-auth
- Key files: auth.ts, login.tsx, middleware.ts
- Progress: Login endpoint complete, working on token refresh
Let me look at the existing pages structure...
Example without context:
You: /sidequest "Set up CI/CD pipeline" --no-context
Claude: Sidequest started in new terminal!
Task: Set up CI/CD pipeline
(No context passed - starting fresh)
The sidequest shell script is located at:
${CLAUDE_PLUGIN_ROOT}/skills/sidequest/scripts/sidequest.sh
To run a sidequest:
bash "${CLAUDE_PLUGIN_ROOT}/skills/sidequest/scripts/sidequest.sh" \
--task "Your task description" \
--context "Summary of current work" \
--branch "$(git branch --show-current 2>/dev/null || echo 'N/A')" \
--files "auth.ts,login.tsx"
Or without context:
bash "${CLAUDE_PLUGIN_ROOT}/skills/sidequest/scripts/sidequest.sh" \
--task "Your task description" \
--no-context
claude command available)git stash if you need to switch context between sessionsnpx claudepluginhub michaelboeding/skills --plugin skillsCreates, lists, and cleans up Git worktrees for parallel Claude Code sessions on separate branches, enabling conflict-free multi-feature development.
Run coding agents (Codex CLI, Claude Code, OpenCode, Pi) as background processes with PTY support for programmatic control and monitoring.
Launches git worktrees with tmux background sessions running Claude Code agents for non-blocking execution of large multi-step coding tasks like major refactors or new services.