Hardware Buddy BLE cannot surface or answer AskUserQuestion options
Summary
When Claude Code/Desktop emits an AskUserQuestion tool use while a Hardware Buddy BLE device is connected, the BLE protocol only exposes a generic permission prompt snapshot (tool: AskUserQuestion, empty hint). The actual question/options are present only in the preceding assistant turn event, and the reference Buddy firmware only knows how to reply with generic permission decisions (once / deny).
This makes Hardware Buddy-compatible devices able to enter attention state, but unable to display or answer the actual AskUserQuestion choices in a protocol-supported way.
The official anthropics/claude-desktop-buddy repository currently has GitHub Issues disabled, so I am filing this here because the observed tool is AskUserQuestion from Claude Code/Desktop and the gap appears to be in the Desktop/Buddy wire protocol contract.
Observed BLE traffic
First, Claude sends an assistant turn containing the real question and options:
{"evt":"turn","role":"assistant","content":[{"type":"tool_use","id":"toolu_01UbgrVmquGPLmtvaoVxaYC6","name":"AskUserQuestion","input":{"questions":[{"question":"Review 规模较大(8 个文件,284 行改动)。等待还是后台运行?","header":"运行方式","multiSelect":false,"options":[{"label":"Run in background (Recommended)","description":"后台运行,完成后通知你"},{"label":"Wait for results","description":"在此等待结果(约需 1–2 分钟)"}]}]},"caller":{"type":"direct"}}]}
Then Claude repeatedly sends a generic waiting snapshot:
{"total":6,"running":1,"waiting":1,"msg":"approve: AskUserQuestion","entries":["(called AskUserQuestion)"],"tokens":94936,"tokens_today":115492,"prompt":{"id":"1d855962-3903-45b3-8738-2da8e52a5367","tool":"AskUserQuestion","hint":""}}
After the user answers on Desktop, Claude sends a user turn with the result and clears waiting:
{"evt":"turn","role":"user","content":[{"type":"tool_result","content":"Your questions have been answered: \"Review 规模较大(8 个文件,284 行改动)。等待还是后台运行?\"=\"Wait for results\". You can now continue with these answers in mind.","tool_use_id":"toolu_01UbgrVmquGPLmtvaoVxaYC6"}]}
{"total":6,"running":1,"waiting":0,"msg":"(called AskUserQuestion)","entries":["(called AskUserQuestion)"],"tokens":94936,"tokens_today":115492}
Reference firmware behavior
The reference firmware in anthropics/claude-desktop-buddy does not appear to special-case AskUserQuestion, tool_use.input.questions, or tool_result. It only displays prompt.tool / prompt.hint and replies to any prompt with generic permission decisions:
{"cmd":"permission","id":"<prompt.id>","decision":"once"}
{"cmd":"permission","id":"<prompt.id>","decision":"deny"}
For AskUserQuestion, prompt.hint is empty, so devices cannot show the question from the snapshot. They can parse the preceding assistant turn as a workaround, but there is no documented way to bind that tool_use.id to prompt.id or send a selected option back over BLE.
Expected behavior / request
Please document or add a protocol path for Hardware Buddy devices to handle AskUserQuestion, for example one of:
- Include the question/options in
prompt.hintor a structuredpromptpayload whenprompt.tool == "AskUserQuestion". - Document that devices should cache the preceding assistant
turntool_usepayload and how it maps to the laterprompt.id. - Add/document a BLE response command for selecting an AskUserQuestion option, e.g. by option index/label/value, instead of only
permission.once/permission.deny. - If Hardware Buddy is intentionally not meant to answer AskUserQuestion options, document that limitation explicitly in
REFERENCE.md.
Impact
Third-party Hardware Buddy-compatible devices, including iOS BLE peripheral implementations, can alert the user that an AskUserQuestion is pending but cannot present or answer the actual choices reliably. The only safe behavior today is to show a generic attention prompt and require the user to answer in Claude Desktop.
Environment
- Claude Desktop Hardware Buddy BLE protocol
- Claude Code/Desktop emitting
AskUserQuestion - Hardware Buddy-compatible BLE peripheral implementation
- Reference protocol consulted:
anthropics/claude-desktop-buddy/REFERENCE.md
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗