Skip to content

v3.10.54 — No more 'suddenly stops' on reasoning models

Choose a tag to compare

@KevRojo KevRojo released this 28 Jul 21:03

🛑→▶️ The agent no longer stops mid-task after a reasoning model thinks without acting.

Reasoning models (Grok, Kimi k3, DeepSeek) sometimes emit only their <thinking> and end the stream — usually truncated on finish_reason="length"before producing an answer or a tool call. The agent loop treated "no tool calls" as a finished turn and broke silently, so the agent looked like it just… stopped, mid-task, after thinking out loud.

Now a turn with no text AND no tool call is recognized as a stall (not a completion): Dulus nudges the model to continue — call the next tool or give its answer — bounded by a small retry cap so a persistently-empty model can't loop. A turn with real text is still a normal final answer; a token-limit truncation tells the model to wrap up.

pip install -U dulus · PyPI