[DOCS] Document support for "ask" in deprecated PreToolUse decision field

Resolved 💬 3 comments Opened Dec 27, 2025 by coygeek Closed Mar 1, 2026

Documentation Type

Missing documentation (feature not documented)

Documentation Location

https://code.claude.com/docs/en/hooks#pretooluse-decision-control

Section/Topic

PreToolUse Decision Control / Deprecated fields

Current Documentation

The documentation currently includes a note about deprecated fields:

"The decision and reason fields are deprecated for PreToolUse hooks. Use hookSpecificOutput.permissionDecision and hookSpecificOutput.permissionDecisionReason instead. The deprecated fields "approve" and "block" map to "allow" and "deny" respectively."

It lists mappings for "approve" and "block", but does not mention "ask".

What's Wrong or Missing?

The documentation implies that only "approve" and "block" are valid values for the deprecated decision field. However, empirical testing on Claude Code v2.0.76 confirms that {"decision": "ask"} is accepted by the application without error.

By omitting "ask" from the documentation, schema maintainers and users with legacy hooks may incorrectly assume this value is unsupported or invalid, leading to overly restrictive validation schemas.

Suggested Improvement

Update the deprecation note to explicitly state that "ask" is a supported value for the deprecated decision field.

Suggested text change:

"The deprecated fields "approve", "block", and "ask" map to "allow", "deny", and "ask" respectively."

Impact

High - Prevents users from using a feature

Additional Context

Verification Test:
I executed a PreToolUse hook returning the legacy format:
{"decision": "ask"}

Result:
Claude Code v2.0.76 accepted this output without throwing a validation error. While the new hookSpecificOutput format is preferred, the legacy field still technically supports the "ask" state.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗