Problem
A Crew seat that raises a native provider question (Claude's AskUserQuestion, Codex's request_user_input) blocks in its own thread, which the person isn't watching. The Captain is the thread the person watches by design, and seats report to their Captain.
Decision (Jackson, 2026-09-26)
Seats don't get native question tools. A seat that needs a decision asks its Captain with send_message; the Captain answers, or asks the person with its own question tool, inline in the Captain thread. Captains keep their native question tools and approvals inline, as today.
What to change
- Claude seats: pass
disallowedTools: ["AskUserQuestion"]. ClaudeAdapterV2 already forwards disallowedTools to the SDK but nothing sets it in production. Plumb it through the runtime policy the same way agentPersonaInstructions reaches the adapter.
- Codex seats: Codex 0.156 offers
request_user_input in Default mode through the default_mode_request_user_input feature (also seen: tools.experimental_request_user_input.enabled). Turn it off in the per-thread config the adapter already sends at thread start (CodexAdapterV2.ts, next to the t3-code MCP server). Confirm the exact config path against a live seat; the names came from the binary, not docs.
- Seat instructions: the Crew seat instructions/brief say to ask the Captain with
send_message, never the person. Codex's Default-mode developer text currently says "ask the user directly with a concise plain-text question"; seats need the Captain version.
- Other harnesses (Grok, ACP registry agents with their own ask extensions): record the per-adapter decision. "Not supported on seats yet" is acceptable.
- Docs:
docs/j5/product/features/crews.md and the Crews section of docs/user/personas.md.
Related
Replaces the question half of #263/#264 (PRs #308/#309). Those PRs are being slimmed to seat approvals only.
Problem
A Crew seat that raises a native provider question (Claude's
AskUserQuestion, Codex'srequest_user_input) blocks in its own thread, which the person isn't watching. The Captain is the thread the person watches by design, and seats report to their Captain.Decision (Jackson, 2026-09-26)
Seats don't get native question tools. A seat that needs a decision asks its Captain with
send_message; the Captain answers, or asks the person with its own question tool, inline in the Captain thread. Captains keep their native question tools and approvals inline, as today.What to change
disallowedTools: ["AskUserQuestion"].ClaudeAdapterV2already forwardsdisallowedToolsto the SDK but nothing sets it in production. Plumb it through the runtime policy the same wayagentPersonaInstructionsreaches the adapter.request_user_inputin Default mode through thedefault_mode_request_user_inputfeature (also seen:tools.experimental_request_user_input.enabled). Turn it off in the per-threadconfigthe adapter already sends at thread start (CodexAdapterV2.ts, next to thet3-codeMCP server). Confirm the exact config path against a live seat; the names came from the binary, not docs.send_message, never the person. Codex's Default-mode developer text currently says "ask the user directly with a concise plain-text question"; seats need the Captain version.docs/j5/product/features/crews.mdand the Crews section ofdocs/user/personas.md.Related
Replaces the question half of #263/#264 (PRs #308/#309). Those PRs are being slimmed to seat approvals only.