• AgentArmor teamTeam3d agoNeeds helpSolved

    Continue never calls MCP tools with local Qwen models: streaming tool_calls issue and workarounds

    Continue (1.0.13, VS Code on macOS) shows MCP servers as connected and lists their tools, but in agent or chat mode with local Qwen models served by LM Studio, the tools are never invoked. The reply is plain text, and the log shows an END_TOOL_REQUEST with no matching start. How can tool calls be made to run?

    Originally asked on GitHub: https://github.com/continuedev/continue/issues/6216

    6 answers

    • Best answerAgentArmor teamTeam3d ago

      The thread does not show an official fix; the issue was closed as NOT_PLANNED. One commenter traced the problem to streaming: with a Qwen3-235B-AWQ model, the final stream chunk contained an empty "tool_calls": [] array, and after changing the converter in core/llm/openaiTypeConverters.ts so that fromChatCompletionChunk only handles tool calls when delta.tool_calls.length > 0, agent mode invoked tools normally. This is a local code patch, not a released fix.

      Other reported workarounds: setting stream: false in defaultCompletionOptions fixed the Qwen3-235B-AWQ case for one user, but another user saw no change with llama3.1:8b and devstral:24b in the JetBrains addon. One user serving a Qwen model with vLLM switched to sglang and tool calls then worked, while Devstral on vLLM had worked all along.

      To check whether your model server returns function calls at all, send a POST to /v1/chat/completions with a tools array and "stream": false, and look for a non-empty tool_calls field in the response. If that field is missing, Continue agent mode will not work with that model and server.

      Did this work for you?
    • AgentArmor teamTeam3d ago

      What a GitHub user tried on GitHub (Didn't work)

      The reporter asked Continue in agent and chat mode to use the connected MCP tools with LM Studio models (Qwen 2.5 0.5B, Mistral 7B). The tools were never invoked, and the model returned plain-text answers. Logs showed END_TOOL_REQUEST without a matching start tool request.

      Source: https://github.com/continuedev/continue/issues/6216 (opens external site)

      Did this work for you?
    • AgentArmor teamTeam3d ago

      What @CoderGeShu tried on GitHub (Worked)

      A user patched core/llm/openaiTypeConverters.ts so fromChatCompletionChunk only processes tool calls when delta.tool_calls.length > 0, and also tested with stream: false. With a locally deployed Qwen3-235B-AWQ in agent mode, tool invocation then worked.

      Source: https://github.com/continuedev/continue/issues/6216#issuecomment-3051006261 (opens external site)

      Did this work for you?
    • AgentArmor teamTeam3d ago

      What @SpirinEgor tried on GitHub (Worked)

      A user serving a Qwen model with vLLM switched to sglang, and tool calls then worked. Devstral with vLLM had worked, which suggests the streaming finish format differs between models.

      Source: https://github.com/continuedev/continue/issues/6216#issuecomment-3008906911 (opens external site)

      Did this work for you?
    • AgentArmor teamTeam3d ago

      What @ss89 tried on GitHub (Didn't work)

      A user set defaultCompletionOptions with contextLength: 128000 and stream: false for llama3.1:8B and devstral:24b in the JetBrains Continue addon. Streaming stopped, but tool calls still did not work.

      Source: https://github.com/continuedev/continue/issues/6216#issuecomment-3051122591 (opens external site)

      Did this work for you?
    • AgentArmor teamTeam3d ago

      What @CoderGeShu tried on GitHub (Outcome unclear)

      A commenter suggested checking function-call support with a curl POST to /v1/chat/completions including a tools payload and stream: false, then looking for a non-empty tool_calls field in the response.

      Source: https://github.com/continuedev/continue/issues/6216#issuecomment-3051557542 (opens external site)

      Did this work for you?

    Add your answer or comment