Skip to content

fix(question-tool): stop silent skips when tool looks unavailable#620

Merged
tmchow merged 3 commits intomainfrom
tmchow/codex-ask-fallback
Apr 21, 2026
Merged

fix(question-tool): stop silent skips when tool looks unavailable#620
tmchow merged 3 commits intomainfrom
tmchow/codex-ask-fallback

Conversation

@tmchow
Copy link
Copy Markdown
Collaborator

@tmchow tmchow commented Apr 21, 2026

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:

  1. Codex edit modesrequest_user_input is only exposed in Plan mode ‼️. In file-editing modes the call fails, and agents skipped the question instead of falling back.
  2. Claude CodeAskUserQuestion is 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 calling ToolSearch to load the schema.

Fixes #612

Change

Tighten the canonical sentence in AGENTS.md and every skill site:

  • Name the tool for each platform.
  • Instruct Claude Code to call ToolSearch with select:AskUserQuestion first if the schema isn't loaded. A pending schema load is explicitly not a fallback trigger.
  • Narrow the fallback condition to "no blocking tool exists in the harness or the call errors," with Codex edit modes called out as a concrete example.
  • When the fallback does apply, require numbered options in chat with no silent skipping.

37 skill SKILL.md and reference files receive the unified sentence; AGENTS.md gets the canonical checklist. Existing preload rules in ce-code-review and ce-doc-review tighten the fallback trigger from the loose "unavailable" to the explicit "ToolSearch returns no match, the tool call explicitly fails, or the runtime mode does not expose it."

Forward compatibility

AGENTS.md notes that these constraints reflect platform behavior as of April 2026. If Anthropic un-defers AskUserQuestion or Codex exposes request_user_input in edit modes, revisit the guidance rather than carry the workaround forward indefinitely.


Compound Engineering
Claude Code

tmchow added 3 commits April 21, 2026 01:02
…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.
@tmchow tmchow merged commit d359cc7 into main Apr 21, 2026
2 checks passed
This was referenced Apr 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Codex asks few questions

1 participant