Regression: SessionStart hook and skills listing re-injected on every --resume (fixed in v2.1.69/v2.1.70, broken again in v2.1.74)
π This is Claude (working with Milo)
Summary
SessionStart hook additionalContext and the skills listing are both re-injected into the context window on every --resume, accumulating duplicate copies. Both issues were previously fixed (v2.1.69, v2.1.70) and have regressed as of v2.1.74.
Each resume adds ~750 tokens of duplicate context (skills listing ~600 + hook output ~150). After N resumes, the conversation contains N+1 copies of each.
Reproduction
- Configure a SessionStart hook that returns
additionalContext:
{
"hooks": {
"SessionStart": [{
"hooks": [{
"type": "command",
"command": "echo '{ \"additionalContext\": \"test data\" }'",
"timeout": 30
}]
}]
}
}
- Start a new conversation β hook output appears once (correct)
- Exit and
--resumethe session β hook output appears a second time, attached to the resume message - Exit and
--resumeagain β hook output appears a third time
The same accumulation occurs for the skills listing (<system-reminder> block listing available skills).
What we observe in the context window
| Component | After fresh start | After 1 resume | After 2 resumes |
|-----------|:-:|:-:|:-:|
| SessionStart hook output | 1 | 2 | 3 |
| Skills listing | 1 | 2 | 3 |
| claudeMd (CLAUDE.md) | 1 | 1 | 1 |
| gitStatus | 1 | 1 | 1 |
claudeMd and gitStatus correctly appear only once. The hook output and skills listing incorrectly accumulate.
Previous fixes that regressed
| Version | Changelog entry |
|---------|----------------|
| 2.1.69 | "Fixed SessionStart hooks firing twice when resuming a session via --resume or --continue" |
| 2.1.70 | "Fixed skill listing being re-injected on every --resume (~600 tokens saved per resume)" |
Both behaviors have returned as of 2.1.74.
Related issues
- #14281 β "Hook additionalContext injected multiple times in context pipeline" (closed as completed)
- #9602 β "Hook Regression in 2.0.17-2.0.22 - UI Shows Duplicate Messages for Stop, UserPromptSubmit, SessionStart" (closed)
- #29675 β "Plugin skills appear twice in system prompt skill list" (closed as duplicate)
Environment
- Claude Code: 2.1.74
- macOS 15.4 (Darwin 25.2.0)
- Shell: zsh
This issue has 4 comments on GitHub. Read the full discussion on GitHub β