[DOCS] Hooks reference still says `Stop`/`SubagentStop` cannot return `hookSpecificOutput.additionalContext`

Resolved 💬 1 comment Opened Jun 4, 2026 by coygeek Closed Jun 27, 2026

Documentation Type

Incorrect/outdated documentation

Documentation Location

https://code.claude.com/docs/en/hooks

Section/Topic

Add context for Claude, SubagentStop, and Stop decision control

Current Documentation

The hooks reference currently says:

Where the reminder appears depends on the event: [SessionStart](#sessionstart), [Setup](#setup), and [SubagentStart](#subagentstart): at the start of the conversation, before the first prompt [UserPromptSubmit](#userpromptsubmit) and [UserPromptExpansion](#userpromptexpansion): alongside the submitted prompt * [PreToolUse](#pretooluse), [PostToolUse](#posttooluse), [PostToolUseFailure](#posttoolusefailure), and [PostToolBatch](#posttoolbatch): next to the tool result

And later in the SubagentStop section:

SubagentStop hooks use the same decision control format as [Stop hooks](#stop-decision-control). They do not support additionalContext. Returning decision: "block" with a reason keeps the subagent running and delivers reason to the subagent as its next instruction. To inject context into the parent session after a subagent returns, use a [PostToolUse](#posttooluse) hook on the Agent tool instead.

The Stop decision control table then lists only:

| decision | "block" prevents Claude from stopping. Omit to allow Claude to stop | | reason | Required when decision is "block". Tells Claude why it should continue |

What's Wrong or Missing?

The hooks page is outdated for the behavior shipped in v2.1.163.

The changelog for v2.1.163 says:

Hooks: Stop and SubagentStop hooks can now return hookSpecificOutput.additionalContext to give Claude feedback and keep the turn going without being labeled a hook error

That leaves two documentation problems on the live hooks page:

A. SubagentStop is documented with the opposite behavior

The page explicitly says SubagentStop does not support additionalContext and tells readers to use an Agent PostToolUse hook instead. After v2.1.163, that statement is no longer correct.

B. Stop/SubagentStop are missing from the additionalContext guidance

The generic Add context for Claude section explains where additionalContext appears for several events, but it omits Stop and SubagentStop. The event-specific Stop decision control section also documents only decision and reason, so readers are not shown how to return feedback context while continuing the turn.

This combination makes the reference internally misleading: one section omits the feature, and another section still says part of it is unsupported.

Suggested Improvement

Update https://code.claude.com/docs/en/hooks to reflect the v2.1.163 behavior.

Minimum fix:

  • In Add context for Claude, add Stop and SubagentStop to the list of events that accept hookSpecificOutput.additionalContext, and explain where that feedback is delivered.
  • In SubagentStop, remove the sentence that says the event does not support additionalContext.
  • In Stop decision control, document that decision/reason can be combined with hookSpecificOutput.additionalContext so a hook can keep the turn going and give Claude feedback without surfacing as a hook error.

Helpful addition:

Add one JSON example for Stop or SubagentStop, for example:

{
"decision": "block",
"reason": "Run one more verification pass.",
"hookSpecificOutput": {
"hookEventName": "Stop",
"additionalContext": "The lint command already passed; focus on the failing integration test."
}
}

Impact

Medium - Makes feature difficult to understand

Additional Context

Affected Pages:

| Page | Context |
|------|---------|
| https://code.claude.com/docs/en/hooks | Add context for Claude omits Stop/SubagentStop; SubagentStop still says additionalContext is unsupported; Stop decision control does not explain the new v2.1.163 behavior |

Total scope: 1 page affected

Version context: behavior changed in v2.1.163.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗