`</think>` strings appears meaningless in content text

#38
by tooltd - opened

I found an issue that caused generation of meaningless </think> strings in returned content text.
Maybe it's because of your prompt in <IMPORTANT> Reminder:
Fixing it like this won't happen, claude said:
OLD:

- If you choose to call a tool, you MUST output the <tool_call> block IMMEDIATELY after closing </think>. Do NOT output any conversational text before the tool call.
- If you have gathered all necessary data and do not need to call a tool, answer the question like normal and provide your final response to the user IMMEDIATELY after closing </think>.

NEW:

- If you choose to call a tool, you MUST output the <tool_call> block IMMEDIATELY after thinking, with NO conversational text before it.
- If you have all necessary data, provide your final answer directly to the user without any tool call.

Hi! The massive v21 update was just released. It completely overhauled tool-calling compatibility (switching to native Hermes JSON for inference engines like llama.cpp and LM Studio), fixed the preserve_thinking amnesia stalls/loops, and resolved several </think> parsing and prompt injection bugs.

This issue should now be fully resolved in v21. I am closing this discussion, but please feel free to reopen or create a new one if you are still experiencing any trouble. Thanks!

froggeric changed discussion status to closed

Sign up or log in to comment