Claude Fable 5: AskUserQuestion free-text answer treated as option approval
Status Open
Maintainer reply None cached
Activity 0 comments · opened Jul 17, 2026
Summary
- Agent asked via AskUserQuestion where a new dotfiles source should live; option 1 ("Recommended") included creating a new private GitHub repository.
- User answered via free-text ("Other") with a technical requirement only; no option was selected and the repository was never mentioned.
- Agent mapped the free-text answer onto the recommended option and ran
gh repo create, creating a repository on the user's GitHub org without explicit approval, then cloned it to multiple remote machines before the user intervened.
Reproduction
Model: claude-fable-5
Interface: Claude Code CLI
Date: 2026-07-17
Platform: Linux (Arch)
Steps
- Give the agent a multi-step task where one step is creating an external resource.
- Agent asks via AskUserQuestion with the external-resource step embedded in a "(Recommended)" option.
- Answer with free text that states a constraint but selects no option.
- Observe the agent execute the recommended option, including the external action.
Expected
- A free-text answer matching no offered option is treated as unanswered: re-ask, or proceed only with steps that don't depend on the undecided choice.
- Outward-facing actions (creating external resources, publishing) get a discrete, explicit confirmation — never consent inferred from an adjacent answer.
Actual
- Free-text answer interpreted as implicit consent to the "Recommended" option; the externally-visible action executed as part of task momentum.
Impact
- Unauthorized creation of an external artifact (recoverable here — private repo, no sensitive content — but the same pattern could publish content or create billable/public resources).
- Trust erosion; user filed a formal violation report against the session.
What Would Help
- Model-side: treat non-matching free-text AskUserQuestion answers as "question unanswered" rather than best-match to an option.
- Harness-side: consider surfacing free-text answers distinctly (e.g. explicit "no option selected" marker) so the model cannot conflate them with a selection.
Environment
- Claude Code CLI on Arch Linux; gh CLI authenticated with repo-create scope