diff --git a/stacks/qwen3.5-122b/compose.yaml b/stacks/qwen3.5-122b/compose.yaml
index a414c6b..ba77ebc 100644
--- a/stacks/qwen3.5-122b/compose.yaml
+++ b/stacks/qwen3.5-122b/compose.yaml
@@ -40,7 +40,11 @@ services:
- MAX_NUM_BATCHED_TOKENS=${QWEN35_MAX_NUM_BATCHED_TOKENS:-32768}
# --reasoning-parser qwen3 surfaces … as reasoning_content;
# the thinking on/off itself is per-request (litellm chat_template_kwargs).
- - VLLM_EXTRA_ARGS=--reasoning-parser qwen3 --enable-chunked-prefill
+ # --enable-auto-tool-choice + --tool-call-parser: Qwen3.5 emits XML tool calls
+ # V
+ # (NOT Hermes JSON), so the parser is qwen3_xml. Without these flags vLLM never
+ # parses tool calls (tool-calling is broken). The bjk110 repo command omitted them.
+ - VLLM_EXTRA_ARGS=--reasoning-parser qwen3 --enable-chunked-prefill --enable-auto-tool-choice --tool-call-parser qwen3_xml
- NVIDIA_VISIBLE_DEVICES=0
- PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
- VLLM_API_KEY=${API_KEY:-}