pub(crate) fn build_side_question_argv(
base_one_shot_args: &[String],
) -> Vec<String>Expand description
Build the argv for a /btw side-question one-shot turn
(server/agent_handlers/side_question.rs) from base_one_shot_args —
the same one-shot cli_args a normal turn on this block would use.
Deliberately does NOT touch resume/session-id handling: the caller
always passes SubprocessSpawnConfig::session_id: None for this turn
(a /btw never resumes a session — context comes from a text prefix in
the prompt instead, per the module’s design), so build_turn_argv’s own
session_id.is_none() branch already returns base unchanged with no
--resume appended — nothing here needs to duplicate that guarantee.
Appends two flags, confirmed against
code.claude.com/docs/en/cli-reference (checked 2026-09-19):
--disallowedTools "*"— the docs’ own words are “a bare tool name removes the matching tools…\"*\"removes every tool”, making this turn fully tool-less. The doc’s other caveat — “a rule namingEndConversationcan’t remove it while any other tool remains” — is about a rule that NAMESEndConversationspecifically; a wildcard that merely happens to cover it too is a different case and isn’t described as failing.--max-turns 1— print mode’s own hard cap on agentic turns, a backstop against looping that holds even if the no-tools flag were somehow bypassed.
--output-format stream-json is NOT added here — every subprocess-mode
provider’s base one-shot launch_args already carries it (see
providers.rs), so base_one_shot_args already has it.