Skip to content

[Bug]: Droid AskUser questions render twice with no options, and answers come back cancelled #22479

Closed as not planned

Description

@rpfrederice

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:

  1. Every question appears twice. A questionnaire with 4 questions shows as 8 steps (7/8 in the card header).
  2. No options are shown. Each step shows only the free-text input; the suggested options (single-select and multi-select) never appear.
  3. The answer does not reach the agent. Droid's log records the ask-user response as cancelled: true, count: 0, and the tool fails with Tool execution cancelled by user.

Steps to reproduce

  1. On Windows, start a thread with the Factory Droid ACP agent (acpRegistry provider).
  2. Ask the agent to call AskUser with a few questions, including one single-select and one multi-select question, each with 2-4 options.
  3. 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:

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

Image

(attached: card header shows 7/8 for a 4-question form, free-text input only, no options)

Activity

  1. juliusmarminge commented on Oct 20, 2026

    @juliusmarminge
    Member

    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>_other companion field into its question, keeps the option_N choice IDs, and sends custom text back as other plus 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.3401 onward 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions