From: Nico Date: Sat, 1 Aug 2026 16:03:32 +0000 (-0400) Subject: cli : persist reasoning_content in chat history (#26362) X-Git-Tag: upstream/0.0.10438~219 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=c629da565c80b0b17fac6262acdca4d772e745d8;p=pkg%2Fggml%2Fsources%2Fllama.cpp cli : persist reasoning_content in chat history (#26362) * cli : persist reasoning_content in chat history llama-cli collected reasoning from the stream for display but only stored assistant content in messages, so --reasoning-preserve could not re-inject prior thoughts on later turns. --- diff --git a/tools/cli/cli-context.cpp b/tools/cli/cli-context.cpp index 0de8f6902..3d801b73d 100644 --- a/tools/cli/cli-context.cpp +++ b/tools/cli/cli-context.cpp @@ -624,10 +624,14 @@ int cli_context::run() { generated_content content; generate_completion(content, timings); - impl->messages.push_back({ + json assistant_msg = { {"role", "assistant"}, {"content", content.content} - }); + }; + if (!content.reasoning.empty()) { + assistant_msg["reasoning_content"] = content.reasoning; + } + impl->messages.push_back(std::move(assistant_msg)); if (output_file) { std::string out_content = "Assistant:\n";