Loading...
Loading...
Configure a Stop hook that surfaces unfinished todos before a session ends and suggests creating GitHub issues for deferred work. Use when you want unfinished Claude Code session tasks automatically flagged for GitHub issue creation at session end.
npx skill4agent add laurigates/claude-plugins hooks-session-end-issue-hookStopTodoWrite| Use this skill when... | Use |
|---|---|
| You want unfinished todos deferred to GitHub issues | Configuring other hook types (PreToolUse, SessionEnd, etc.) |
| Preventing tasks from being forgotten at session end | Need general hooks knowledge or debugging |
| Projects with active issue trackers on GitHub | Understanding hook lifecycle events |
| Teams that rely on GitHub issues for work tracking | Writing custom hook logic from scratch |
find .claude -maxdepth 1 -name 'settings.json'jq -r '.hooks.Stop // empty' .claude/settings.jsongh auth statusjq --version| Flag | Default | Description |
|---|---|---|
| off | Skip checking |
jq--no-verifyghgh auth status${CLAUDE_PLUGIN_ROOT}${CLAUDE_PLUGIN_ROOT}/hooks/session-end-issue-hook.sh../../hooks/session-end-issue-hook.sh.claude/settings.json.claude/settings.jsonStopsession-end-issue-hook.shhooks{
"Stop": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/session-end-issue-hook.sh\"",
"timeout": 15
}
]
}
]
}timeout: 15.claude/.claude/settings.jsongh.claude/settings.jsonghgh auth logintranscript_pathTodoWritestatus: "pending"status: "in_progress"gh issue create| Context | Approach |
|---|---|
| Quick setup, skip auth check | |
| Full setup with auth verification | |
| Test the hook manually | |
| Item | Value |
|---|---|
| Hook event | |
| Settings location | |
| Timeout | 15 seconds |
| Trigger condition | Pending or in-progress todos in last TodoWrite call |
| Silent when | All todos completed or no TodoWrite calls in transcript |
| Issue label | |