II.
InteractionPrimitive JSON
Structured · liveinteraction-primitive:ask-user-question
AskUserQuestion json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "interaction-primitive:ask-user-question",
"_kind": "InteractionPrimitive",
"_file": "agent-stack/interaction-primitives/canonical-interaction-primitives.yaml",
"_cluster": "agent-stack",
"attributes": {
"displayName": "AskUserQuestion",
"description": "Tool the agent emits to ask the user a question with multiple-choice\noptions. Used by claude-code (`AskUserQuestion`) and re-exposed by\nother agents over MCP.\n",
"kind": "prompt-ui",
"surface": "prompt-ui",
"category": "interaction-primitive-category:human-in-loop",
"availableInModes": [
"chat",
"plan",
"composer",
"edit"
],
"requiresPermission": false
},
"outgoingEdges": [
{
"from": "interaction-primitive:ask-user-question",
"to": "layer:10-interaction",
"kind": "realizes",
"attributes": {}
}
],
"incomingEdges": [
{
"from": "agent-ui-impl:claude-code.ui@current",
"to": "interaction-primitive:ask-user-question",
"kind": "supports_interaction_primitive",
"attributes": {
"attributes": {
"mechanism": "tool-call",
"toolCallName": "AskUserQuestion"
}
}
}
]
}