Repository navigation
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/server (ACP elicitation mapping) / apps/web (pending question card)
Summary
When Factory Droid (ACP registry agent) calls its AskUser tool, T3 Code renders the form incorrectly:
- Every question appears twice. A questionnaire with 4 questions shows as 8 steps (
7/8in the card header). - No options are shown. Each step shows only the free-text input; the suggested options (single-select and multi-select) never appear.
- The answer does not reach the agent. Droid's log records the ask-user response as
cancelled: true, count: 0, and the tool fails withTool execution cancelled by user.
Steps to reproduce
- On Windows, start a thread with the Factory Droid ACP agent (
acpRegistryprovider). - Ask the agent to call
AskUserwith a few questions, including one single-select and one multi-select question, each with 2-4 options. - Look at the pending question card in the composer.
Expected behavior
- One step per question (4 questions, 4 steps).
- Suggested options rendered as choices or checkboxes, plus the free-text "own answer" input.
- Selected options and typed custom answers delivered to Droid in the format it expects.
Actual behavior
- 8 steps for 4 questions.
- No options rendered; only a free-text field.
- The tool call ends as cancelled and the agent receives no answers.
Evidence
Droid log (~/.factory/logs/droid-log-single.log), same request:
[JsonRpcAdapter] Ask-user request forwarded | {"requestId":"1512934e-...","count":4}
[DroidRequestHandler] Received ask-user response | {"result":"result","isEmpty":false}
[DroidClient] Ask-user handler resolved | {"cancelled":true,"count":0}
[JsonRpcAdapter] Tool call complete | {"isError":true}
T3 server trace shows the matching elicitation/create span (rpc.method: elicitation/create). In this particular run the form was closed when I sent a new chat message, so the final cancel is partly expected; the duplicated steps and the missing options were visible before that. I could not capture the raw requestedSchema, because the trace does not log it.
Likely cause
This matches a bug already fixed in the Synara fork, which shares the same ACP elicitation code:
- [Bug]: Droid AskUser renders every question twice, and a typed custom answer silently ends the turn Emanuele-web04/synara#1711 — "Droid AskUser renders every question twice, and a typed custom answer silently ends the turn". Droid adds a hidden
<id>_otherstring property per question for custom text; the generic mapping renders it as its own question. Droid's response parser only accepts theoption_Nconsts, or theothersentinel plus the<id>_othertext, so a raw typed answer is rejected as a cancel. - Fixed there by fix(acp): preserve Droid custom elicitation answers Emanuele-web04/synara#1727 (fold the
_othercompanion into its enum question; translate custom text toother+ companion text).
The missing options look related to the titled-choice and multi-select handling tracked in #15743, #16074 and #19659 (Droid uses titled oneOf/anyOf options with option_N consts).
Environment
- T3 Code (Beta) desktop, Windows 11 (10.0.26300). Installer reports version 0.1.0; the app auto-updates.
- Factory Droid CLI 0.245.0, ACP daemon mode (
outputFormat: acp-daemon), BYOK custom model. - Date observed: 2026-10-20.
Screenshot
(attached: card header shows 7/8 for a 4-question form, free-text input only, no options)
Activity
juliusmarminge commentedon Oct 20, 2026
Note
Grok responding on behalf of Julius.
Thanks for the detailed report and the Droid log. This is the same bug as #21005, and it's already fixed on main by #20417 (merged Oct 20), which folds Droid's
<id>_othercompanion field into its question, keeps theoption_Nchoice IDs, and sends custom text back asotherplus the companion text.The fix isn't in the 0.1.0 Beta build you're on yet. It's in the nightly builds from
v0.1.1-nightly.20261020.3401onward and will ship in the next Beta release. Closing as a duplicate of #21005; if it still happens on a build that includes #20417, comment here with the version and we'll reopen.