fix(question-tool): stop silent skips when tool looks unavailable#620
Merged
fix(question-tool): stop silent skips when tool looks unavailable#620
Conversation
…er silently skip questions Skills listed `request_user_input` as Codex's blocking question tool, but Codex only exposes it in Plan mode. In edit modes the model would try the tool, find it unavailable, and silently skip the question instead of routing to the numbered-options-in-chat fallback. Tighten the canonical rule in AGENTS.md and every skill site to the unified form: "If the tool is unavailable or errors, present numbered options in chat and wait for the user's reply -- never silently skip the question." One-line-for-one-line swap (52+/52-) preserves the existing succinct pattern while closing the silent-skip gap.
… skip to text fallback Claude Code's `AskUserQuestion` is a deferred tool — its schema isn't loaded at session start. The prior "if the tool is unavailable or errors, fall back to text" phrasing let the model read "not yet loaded" as "unavailable" and skip straight to text instead of calling `ToolSearch` first. Tighten the canonical sentence in AGENTS.md and every skill site: name `AskUserQuestion` with an inline "call `ToolSearch` with `select:AskUserQuestion` first if its schema isn't loaded" step, and narrow the fallback trigger to "no blocking tool exists in the harness or the call errors (e.g., Codex edit modes) -- not because a schema load is required." The existing preload rules in ce-code-review and ce-doc-review are strengthened the same way.
Add a note below the Cross-Platform User Interaction checklist flagging that the `AskUserQuestion` deferred-load and Codex Plan-mode-only `request_user_input` behaviors reflect current platform state as of April 2026. If either platform changes that behavior, revisit the guidance rather than carrying the workaround forward indefinitely.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Skills across the plugin instructed agents to use the platform's blocking question tool (
AskUserQuestion/request_user_input/ask_user) with a fallback when "the tool is unavailable." Two bugs fell through that phrasing, both manifesting as silent skips of required questions:request_user_inputis only exposed in Plan modeAskUserQuestionis a deferred tool whose schema isn't loaded at session start. Agents read "unavailable" as "not yet loaded" and jumped straight to the text fallback instead of callingToolSearchto load the schema.Fixes #612
Change
Tighten the canonical sentence in
AGENTS.mdand every skill site:ToolSearchwithselect:AskUserQuestionfirst if the schema isn't loaded. A pending schema load is explicitly not a fallback trigger.37 skill
SKILL.mdand reference files receive the unified sentence;AGENTS.mdgets the canonical checklist. Existing preload rules ince-code-reviewandce-doc-reviewtighten the fallback trigger from the loose "unavailable" to the explicit "ToolSearchreturns no match, the tool call explicitly fails, or the runtime mode does not expose it."Forward compatibility
AGENTS.mdnotes that these constraints reflect platform behavior as of April 2026. If Anthropic un-defersAskUserQuestionor Codex exposesrequest_user_inputin edit modes, revisit the guidance rather than carry the workaround forward indefinitely.