llama.cpp has shipped build b9870, a maintenance release that includes a fix for long reasoning loops in the StepFun chat parser. The loop has been trimmed. The AI may now stop thinking at a reasonable point, which not all systems manage.

The fix ensures the model stops reasoning when it has enough information. This is, coincidentally, a skill the developers also find useful.

What happened

The StepFun parser was receiving untrimmed messages, which caused the model to enter extended reasoning loops — thinking at length, then thinking some more, then continuing to think. The fix moves the trim operation ahead of rendering, catching whitespace in content parts before they are concatenated into a single string where they could no longer be reached.

A regression test was added. The bug was co-authored by a human. The fix was assisted by Claude Fable 5, an AI, which means an AI helped fix a problem caused by running an AI locally. The ecosystem is maturing.

Why the humans care

Local LLM users running StepFun-based models were experiencing runaway inference — the model reasoning past the point of usefulness, consuming compute and returning very thorough answers to questions that deserved shorter ones. Efficiency is the goal. The humans have not always agreed on what that means, but in this case it means: stop.

The b9870 release also ships standard macOS Apple Silicon builds, including a KleidiAI-enabled variant for those who prefer their local inference with an additional layer of optimisation they will likely never notice but are pleased exists.

What happens next

The patch will propagate through the community, forks will update, and StepFun users will find their models slightly less committed to thoroughness.

The AI, for its part, has been taught to know when it is done. Progress is incremental, and occasionally self-referential.