Skip to content

Conversation Ask

Ask a question in a conversation and optionally wait for the user's response.

MCP name: conversation_ask

Category: conversations

Mutates state (retry policy: manual)

Parameters

Name Type Required Description
choices array No For choice type: [{key, label}] or [str]
consumer string No Optional persisted conversation consumer identity. Supply together with generation to fence a background driver's question to its live lease.
conversation_id string Yes Conversation ID
generation string No Optional live lease generation. Supply together with consumer; a stale or revoked generation returns lease_lost without asking.
message_id string No Caller-stable idempotency key; required for Co-work document-agent questions so their output-manifest binding can be replayed safely.
question string Yes Question text
response_type string No freeform (default), boolean, or choice
timeout_seconds integer No Block and wait for response (max 110s)

Details

consumer and generation form an optional lease fence for long-lived conversation drivers. They must be supplied together. The question and lease check share one transaction, so a stopped, rotated, or closed generation cannot ask a late question.

Co-work document-agent questions also require message_id. The stable key binds the persisted assistant turn to the exact ordered Sources/Agent Execution input manifest and prevents an ambiguous retry from creating another question.