[FEATURE] Make the native /goal evaluator timeout configurable
Prior request
I searched existing issues and found #66448.
It was closed by the stale bot with an invitation to open a new issue if the request remained relevant.
The request remains relevant in Claude Code 2.1.281.
Problem Statement
The native /goal command registers a session-scoped prompt-based Stop hook without a timeout value.
The prompt-hook evaluator uses its 30-second default when that value is absent.
Users can set timeout for hooks they define, but cannot set it for the hook created by /goal.
Inspection of the installed 2.1.281 binary shows the registration shape sessionHooksRegistry.add(r,"Stop","",{type:"prompt",prompt:t}) and the evaluator fallback e.timeout ? e.timeout * 1000 : 30000.
This establishes the configuration gap, not a reproducible timeout failure in every session.
Proposed Solution
Expose a documented timeout override for the native /goal evaluator through a setting or environment variable.
Keep the current 30-second default when no override is set.
Apply the override to the session-scoped prompt Stop hook created by /goal.
This should control evaluator execution, not the background check-in interval controlled by CLAUDE_CODE_GOAL_CHECKIN_MINUTES.
Alternative Solutions
A /goal command option could work, but a persistent setting would avoid repeating it for each goal.
Manually defining a prompt Stop hook supports a timeout, but does not provide the native /goal experience.
Priority
Medium - Would be very helpful
Feature Category
Configuration and settings
Use Case Example
For a multi-part goal in a long session, a user could set the evaluator timeout to 120 seconds without changing the goal text or other Stop hooks.