[GH-ISSUE #13093] It seems Qwen models do not "see" tools when run thro goose #70724

Open
opened 2026-05-04 22:45:28 -05:00 by GiteaMirror · 9 comments
Owner

Originally created by @ramarivera on GitHub (Nov 15, 2025).
Original GitHub issue: https://github.com/ollama/ollama/issues/13093

What is the issue?

Trying to use any of the qwen3 models via ollama on goose https://github.com/block/goose, I get just hallucinations when I ask something as simple as "what is this repo about".

I enabled the developer tools in goose, and other models (remote ones) correctly use tools (for the most part...)

https://github.com/ollama/ollama/issues/11621#issuecomment-3535252185

Relevant log output


OS

macOS

GPU

Apple

CPU

Apple

Ollama version

0.12.10 (client is 0.12.11)

Originally created by @ramarivera on GitHub (Nov 15, 2025). Original GitHub issue: https://github.com/ollama/ollama/issues/13093 ### What is the issue? Trying to use any of the qwen3 models via ollama on goose https://github.com/block/goose, I get just hallucinations when I ask something as simple as "what is this repo about". I enabled the developer tools in goose, and other models (remote ones) correctly use tools (for the most part...) https://github.com/ollama/ollama/issues/11621#issuecomment-3535252185 ### Relevant log output ```shell ``` ### OS macOS ### GPU Apple ### CPU Apple ### Ollama version 0.12.10 (client is 0.12.11)
GiteaMirror added the bugneeds more info labels 2026-05-04 22:45:28 -05:00
Author
Owner

@srflaherty commented on GitHub (Nov 15, 2025):

Having the same issues I believe in ZED as well. Basically all cloud models all the sudden get chat parsing response errors when calling a tool and won't run. I also tried GLM cloud and it has the same effect.

<!-- gh-comment-id:3535425021 --> @srflaherty commented on GitHub (Nov 15, 2025): Having the same issues I believe in ZED as well. Basically all cloud models all the sudden get chat parsing response errors when calling a tool and won't run. I also tried GLM cloud and it has the same effect.
Author
Owner

@drifkin commented on GitHub (Nov 15, 2025):

I just tried to repro in Goose. Basic tool calls mostly worked for me with qwen3-coder:30b, but I would occasionally see bad outputs like this (after asking it "what's in this folder?")

I'll help you explore the contents of your current folder. Let me check what's in there.

<function=developer__shell>
<parameter=command>
ls -la
</parameter>
</function>
</tool_call>

I wonder if this is what you're seeing too? This is a mistake the model makes from time to time where it accidentally misses the open <tool_call>, which makes it invalid (we see this from time to time and are considering making the parser accept the invalid tool call as well to workaround this).

<!-- gh-comment-id:3535447496 --> @drifkin commented on GitHub (Nov 15, 2025): I just tried to repro in Goose. Basic tool calls mostly worked for me with `qwen3-coder:30b`, but I would occasionally see bad outputs like this (after asking it "what's in this folder?") ``` I'll help you explore the contents of your current folder. Let me check what's in there. <function=developer__shell> <parameter=command> ls -la </parameter> </function> </tool_call> ``` I wonder if this is what you're seeing too? This is a mistake the model makes from time to time where it accidentally misses the open `<tool_call>`, which makes it invalid (we see this from time to time and are considering making the parser accept the invalid tool call as well to workaround this).
Author
Owner

@ramarivera commented on GitHub (Nov 15, 2025):

I wonder if this is what you're seeing too?

Nope, not really, I tried like 10 times with "tell me what this project is about" or some variation, and not one time did qwen even tried a tool call

<!-- gh-comment-id:3535450064 --> @ramarivera commented on GitHub (Nov 15, 2025): >I wonder if this is what you're seeing too? Nope, not really, I tried like 10 times with "tell me what this project is about" or some variation, and not one time did qwen even tried a tool call
Author
Owner

@drifkin commented on GitHub (Nov 16, 2025):

hmm, a similar query to that on qwen3-coder:30b locally does make lots of tool calls for me. Can you show me which Goose Extensions you have turned on? I find mine mostly calls the "Developer" extension

and would it be possible for you to share some logs via the "Generate diagnostics bundle"?

Image

That logs all the calls and responses, so you should be careful to not include anything sensitive there. It's just really hard to understand if this is a Goose issue or an Ollama issue without more hints.

<!-- gh-comment-id:3539462669 --> @drifkin commented on GitHub (Nov 16, 2025): hmm, a similar query to that on `qwen3-coder:30b` locally does make lots of tool calls for me. Can you show me which Goose Extensions you have turned on? I find mine mostly calls the "Developer" extension and would it be possible for you to share some logs via the "Generate diagnostics bundle"? <img width="228" height="157" alt="Image" src="https://github.com/user-attachments/assets/367377f5-40e4-42d3-a3c6-c91b643334d0" /> That logs all the calls and responses, so you should be careful to not include anything sensitive there. It's just really hard to understand if this is a Goose issue or an Ollama issue without more hints.
Author
Owner

@mamoit commented on GitHub (Dec 11, 2025):

I had the same issue, seems related with goose's memory extension.
Once disabled qwen3-coder:30b started working again.

<!-- gh-comment-id:3643235780 --> @mamoit commented on GitHub (Dec 11, 2025): I had the same issue, seems related with goose's `memory` extension. Once disabled `qwen3-coder:30b` started working again.
Author
Owner

@djholt commented on GitHub (Jan 29, 2026):

I just tried to repro in Goose. Basic tool calls mostly worked for me with qwen3-coder:30b, but I would occasionally see bad outputs like this (after asking it "what's in this folder?")

I'll help you explore the contents of your current folder. Let me check what's in there.

<function=developer__shell>
<parameter=command>
ls -la
</parameter>
</function>
</tool_call>

I wonder if this is what you're seeing too? This is a mistake the model makes from time to time where it accidentally misses the open <tool_call>, which makes it invalid (we see this from time to time and are considering making the parser accept the invalid tool call as well to workaround this).

Hey @drifkin, I just came across your comment and realized this exactly explains my experience with opencode and qwen3-coder: tool calls will be missed by the parser due to missing opening <tool_call>. Despite being an awkward edge case, it happens often enough that it might warrant more attention, especially as additional dev tools like Claude Code are bringing more attention to this model.

Is there any possibility to robustify the parser a bit more to accommodate qwen3-coder's qwirkyness?

Example:

<function=bash>
<parameter=command>
ls -la
</parameter>
<parameter=description>
Lists all files in the current directory
</parameter>
</function>
</tool_call>
<!-- gh-comment-id:3815825614 --> @djholt commented on GitHub (Jan 29, 2026): > I just tried to repro in Goose. Basic tool calls mostly worked for me with `qwen3-coder:30b`, but I would occasionally see bad outputs like this (after asking it "what's in this folder?") > > ``` > I'll help you explore the contents of your current folder. Let me check what's in there. > > <function=developer__shell> > <parameter=command> > ls -la > </parameter> > </function> > </tool_call> > ``` > > I wonder if this is what you're seeing too? This is a mistake the model makes from time to time where it accidentally misses the open `<tool_call>`, which makes it invalid (we see this from time to time and are considering making the parser accept the invalid tool call as well to workaround this). Hey @drifkin, I just came across your comment and realized this exactly explains my experience with opencode and qwen3-coder: tool calls will be missed by the parser due to missing opening `<tool_call>`. Despite being an awkward edge case, it happens often enough that it might warrant more attention, especially as additional dev tools like Claude Code are bringing more attention to this model. Is there any possibility to robustify the parser a bit more to accommodate qwen3-coder's qwirkyness? Example: ``` <function=bash> <parameter=command> ls -la </parameter> <parameter=description> Lists all files in the current directory </parameter> </function> </tool_call> ```
Author
Owner

@drifkin commented on GitHub (Jan 29, 2026):

Hey @drifkin, I just came across your comment and realized this exactly explains my experience with opencode and qwen3-coder: tool calls will be missed by the parser due to missing opening <tool_call>. Despite being an awkward edge case, it happens often enough that it might warrant more attention, especially as additional dev tools like Claude Code are bringing more attention to this model.

Is there any possibility to robustify the parser a bit more to accommodate qwen3-coder's qwirkyness?

Example:

<function=bash>
<parameter=command>
ls -la
</parameter>
<parameter=description>
Lists all files in the current directory
</parameter>
</function>
</tool_call>

Hi @djholt, thanks for the report. I'll try to get to this soon, it would be really nice to make the 30b model more reliable

<!-- gh-comment-id:3819264035 --> @drifkin commented on GitHub (Jan 29, 2026): > Hey [@drifkin](https://github.com/drifkin), I just came across your comment and realized this exactly explains my experience with opencode and qwen3-coder: tool calls will be missed by the parser due to missing opening `<tool_call>`. Despite being an awkward edge case, it happens often enough that it might warrant more attention, especially as additional dev tools like Claude Code are bringing more attention to this model. > > Is there any possibility to robustify the parser a bit more to accommodate qwen3-coder's qwirkyness? > > Example: > > ``` > <function=bash> > <parameter=command> > ls -la > </parameter> > <parameter=description> > Lists all files in the current directory > </parameter> > </function> > </tool_call> > ``` Hi @djholt, thanks for the report. I'll try to get to this soon, it would be really nice to make the 30b model more reliable
Author
Owner

@oggixx commented on GitHub (Mar 8, 2026):

🦀 Adding our experience from OpenClaw framework:

We're seeing similar issues with Qwen models not properly receiving tool definitions. In our case:

Setup:

  • OpenClaw v2.0 with tool-calling agents
  • Qwen 3.5 via Ollama (ollama/qwen3.5:397b-cloud)
  • Tools passed via /api/chat tools parameter

Behavior:

  • Initial request includes tool definitions
  • Model acknowledges tools in response
  • But when it's time to CALL tools → empty output / repetition / malformed calls

Workaround:
We've implemented fallback logic to switch models when Qwen fails to call tools, but this isn't ideal for production.

Related:

  • #14493 (Qwen 3.5 tool calling non-functional)
  • #14601 (malformed tool definitions)
  • #14603 (fix merged but issue persists for us)

Any updates on when a comprehensive fix might be available? This is blocking us from using Qwen 3.5 in production.

Thanks!

<!-- gh-comment-id:4019070213 --> @oggixx commented on GitHub (Mar 8, 2026): 🦀 Adding our experience from OpenClaw framework: We're seeing similar issues with Qwen models not properly receiving tool definitions. In our case: **Setup:** - OpenClaw v2.0 with tool-calling agents - Qwen 3.5 via Ollama (`ollama/qwen3.5:397b-cloud`) - Tools passed via `/api/chat` tools parameter **Behavior:** - Initial request includes tool definitions - Model acknowledges tools in response - But when it's time to CALL tools → empty output / repetition / malformed calls **Workaround:** We've implemented fallback logic to switch models when Qwen fails to call tools, but this isn't ideal for production. **Related:** - #14493 (Qwen 3.5 tool calling non-functional) - #14601 (malformed tool definitions) - #14603 (fix merged but issue persists for us) Any updates on when a comprehensive fix might be available? This is blocking us from using Qwen 3.5 in production. Thanks!
Author
Owner

@yadav-prakhar commented on GitHub (Apr 2, 2026):

reproducible on Claude Code as well. It can't see tools it has.

<!-- gh-comment-id:4174864636 --> @yadav-prakhar commented on GitHub (Apr 2, 2026): reproducible on Claude Code as well. It can't see tools it has.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/ollama#70724