From c629da565c80b0b17fac6262acdca4d772e745d8 Mon Sep 17 00:00:00 2001 From: Nico Date: Sat, 1 Aug 2026 12:03:32 -0400 Subject: [PATCH] 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. --- tools/cli/cli-context.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/cli/cli-context.cpp b/tools/cli/cli-context.cpp index 0de8f69025..3d801b73d4 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";