You can add a thinking budget thats not much effort in llamacpp. You can align the cut off message with your agent instructions.

What you describe is a engineering harness problem.

If you, and i mean the royal you, actually read tge thinking traces you can see and figure out where its stuck

This means an effective harness would observe when the model is overthinking and step in with reasonable redirection, like increasing logging.

Llamacpp can set reasoning budget and message per reauest, so it can be dynamic.

Your complaint is "skill issue" based and will be resolved by people who do something ither than vibe code react demos.