From session-tools
Detect stuck states in a Claude Code tmux session and resolve them
How this skill is triggered — by the user, by Claude, or both
Slash command
/session-tools:unstick-sessionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Detect what's blocking a session and suggest or apply a resolution.
Detect what's blocking a session and suggest or apply a resolution.
$ARGUMENTS format: <session-name> [auto]
Parse arguments:
auto flagCapture session output:
"$PLUGIN_DIR/bin/capture-session" "<session_name>" 40
Analyze the output and determine:
✢, ⏺, Thinking…)Stuck types:
| Type | Signs | Fix |
|---|---|---|
yes_no | (y/n), [Y/n], Continue? | Send y or n |
multi_choice | ❯ 1., numbered options | Send number |
text_input | Enter:, Type:, waiting for input | Send text or Escape |
permission | Bash command, Allow, permission dialog | Send y or n |
interactive_editor | : alone (vim), (END), --More-- | :q! or q |
hanging_command | No output, no prompt | Ctrl-C |
worker_idle | ❯ prompt, no task | Needs new task |
Report findings:
## Session: <name>
**Status:** <working/stuck>
**Stuck Type:** <type or N/A>
**Details:** <what you see>
**Suggested Fix:** <what to do>
If auto mode and stuck:
Execute the fix using tmux send-keys:
# For yes_no:
tmux send-keys -t "<session>" "y" && tmux send-keys -t "<session>" Enter
# For multi_choice:
tmux send-keys -t "<session>" "1" && tmux send-keys -t "<session>" Enter
# For text_input (cancel):
tmux send-keys -t "<session>" Escape
# For permission:
tmux send-keys -t "<session>" "y" && tmux send-keys -t "<session>" Enter
# For interactive_editor (vim):
tmux send-keys -t "<session>" Escape && tmux send-keys -l -t "<session>" ":q!" && tmux send-keys -t "<session>" Enter
# For interactive_editor (pager):
tmux send-keys -t "<session>" "q"
# For hanging_command:
tmux send-keys -t "<session>" C-c
Then re-capture and verify the fix worked.
/session-tools:unstick-session ai-worker-001
## Session: ai-worker-001
**Status:** stuck
**Stuck Type:** permission
**Details:** Waiting for approval: "Bash command: npm install"
**Suggested Fix:** Send 'y' Enter to approve, or 'n' Enter to deny
npx claudepluginhub shsym/claude-session-tools --plugin session-toolsGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.