Skip to content

Agent Mode: Streamed tool_calls from vLLM ignored - no action performed #5508

Description

@halom651

Before submitting your bug report

Relevant environment info

- OS:macOS
- Continue version: continue dev
- IDE version: pycharm/ VScode
- Model: qwen3-32b with vLLM v0.8.5


### Description

Hi Continue team,
We're running qwen3-32b with vLLM v0.8.5 using the OpenAI-compatible API, and testing Agent Mode with tool_calls enabled.
The model returns a valid tool_calls response via streamed SSE, but Continue does not display any output or perform any action. There are no errors- the output is silently ignored.

Sample streamed response from vLLM:

data: {"id":"...","object":"chat.completion.chunk","choices":[{"delta":{"tool_calls":[{"function":{"name":"builtin_create_new_file"}}]}}]}
data: {"id":"...","object":"chat.completion.chunk","choices":[{"delta":{"tool_calls":[{"function":{"arguments":"{"filepath": ""}}]}}]}
data: {"id":"...","object":"chat.completion.chunk","choices":[{"delta":{"tool_calls":[{"function":{"arguments":"file"}}]}}]}
data: {"id":"...","object":"chat.completion.chunk","choices":[{"delta":{"tool_calls":[{"function":{"arguments":".txt"}}]}}]}
...
data: {"id":"...","object":"chat.completion.chunk","choices":[{"delta":{"tool_calls":[{"function":{"arguments":" , \"contents\": \"test\""}}]}}]}
data: {"id":"...","object":"chat.completion.chunk","choices":[{"delta":{"tool_calls":[{"function":{"arguments":"\"}"}}]}}]}
data: {"id":"...","object":"chat.completion.chunk","choices":[{"delta":{"content":""},"finish_reason":"tool_calls"}]}

This follows OpenAI's (vLLM) streaming format for tool calling, but it seems Continue doesn’t currently reconstruct or act on these chunks.

Launch flags used for vLLM:

python3 -m vllm.entrypoints.openai.api_server \
--served-model-name qwen3-32b \
--quantization bitsandbytes \
--dtype float16 \
--gpu-memory-utilization 0.9 \
--trust-remote-code \
--enable-auto-tool-choice \
--tool-call-parser hermes \
--chat-template examples/tool_chat_template_hermes.jinja \
--max-model-len 32768


It looks like the model is emitting a valid tool_calls stream, but Continue may not fully support:
streamed function/tool calling
or the hermes parser format
or partial assembly of arguments across chunks
Could you confirm whether this format is currently supported, or if there are specific constraints on the tool call structure for Continue to handle it?
Happy to share full logs or config if needed

### To reproduce

_No response_

### Log output

```Shell
date: Sun, 04 May 2025 13:03:12 GMT
server: uvicorn
content-type: text/event-stream; charset=utf-8
connection: close
transfer-encoding: chunked

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"content":"<think>"},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"content":"\n\n"},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"content":"</think>"},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"content":"\n\n"},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"tool_calls":[{"id":"chatcmpl-tool-3c3d359d32b34573a6ff324ca0951c42","type":"function","index":0,"function":{"name":"builtin_create_new_file"}}]},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\"filepath\": \""}}]},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"file"}}]},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":".txt"}}]},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\","}}]},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" \""}}]},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"contents"}}]},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":"}}]},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" \"\""}}]},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"}"}}]},"logprobs":null,"finish_reason":null}]}

data: {"id":"chatcmpl-c6581b7a2d4b4a108e90c20c3e5c2282","object":"chat.completion.chunk","created":1746363793,"model":"agent","choices":[{"index":0,"delta":{"content":""},"logprobs":null,"finish_reason":"tool_calls","stop_reason":null}]}

Metadata

Metadata

Assignees

Labels

kind:bugIndicates an unexpected problem or unintended behavioros:macHappening specifically on Macpriority:highIndicates high prioritystale

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions