Skip to content

ACP: support elicitation for V2 forms and questions #38121

Closed

Description

@opencode-agent

Summary

Add ACP elicitation support in V2 by translating session forms/questions into unstable_createElicitation requests when the connected ACP client advertises support.

Today, all session forms are auto-cancelled in the ACP path, so an agent cannot collect structured input from a capable client.

Expected behavior

  • Detect whether the ACP client supports elicitation.
  • Translate V2 session forms/questions into unstable_createElicitation requests when supported.
  • Return the client's submitted or cancelled result to the waiting session flow.
  • Preserve the current auto-cancel fallback when elicitation is unsupported.
  • Cover supported, cancelled, and unsupported-client paths with tests.

Requested by: @nexxeln (Shoubhit Dash via Slack)

Activity

  1. added a commit that references this issue on Aug 12, 2026
    5edc599
  2. zeroliu commented on Sep 22, 2026

    @zeroliu

    Adding a client-side data point. Obsidian Copilot is an ACP client that is adding elicitation.form support now. codex-acp already sends Codex's request_user_input as elicitation/create, so our users will see Codex questions inline, while OpenCode's question tool is cancelled over ACP (packages/cli/src/acp/event.ts, form.created). The model's question is lost and the turn ends cancelled.

    Elicitation is stable in the ACP schema, and createElicitation is stable from @agentclientprotocol/sdk 1.4.0. #38311 appears to implement this issue but was closed by the stale-PR bot without a review. Could it be reopened or rebased? We're happy to test it against our client.

  3. nexxeln commented on Oct 6, 2026

    @nexxeln
    Contributor

    Fixed on v2. #52511 sends V2 question forms to clients that advertise elicitation.form as ACP elicitation requests and returns the answers to the session, and #52740 cancels questions a client can't show while letting the model continue.

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions