[Bugfix][Parser] Pass token IDs to parser.parse() in Responses API and batch serving (#46843)

Signed-off-by: Ben Browning <bbrownin@redhat.com>

Ben Browning committed Jun 26, 2026 at 15:29 UTC dccb412e2c72a0c147166c14b25c01f045a74163
3 files changed +3
vllm/entrypoints/openai/chat_completion/batch_serving.py
+1
@@ -267,6 +267,7 @@ class OpenAIServingChatBatch(OpenAIServingChat):
267 reasoning, content, _ = parser.parse(
268 output.text,
269 request=request, # type: ignore[arg-type]
270 + model_output_token_ids=output.token_ids,
271 )
272 if not request.include_reasoning:
273 reasoning = None
vllm/entrypoints/openai/responses/context.py
+1
@@ -346,6 +346,7 @@ class ParsableContext(ConversationContext):
346 completion.text,
347 self.request,
348 enable_auto_tools=self.enable_auto_tools,
349 + model_output_token_ids=completion.token_ids,
350 )
351 self.response_messages.extend(
352 build_response_output_items(
vllm/entrypoints/openai/responses/serving.py
+1
@@ -1063,6 +1063,7 @@ class OpenAIServingResponses(OpenAIServing):
1063 final_output.text,
1064 request,
1065 enable_auto_tools=self.enable_auto_tools,
1066 + model_output_token_ids=final_output.token_ids,
1067 )
1068 return build_response_output_items(
1069 reasoning=reasoning,