From 1430c35948db08a35ba07ff3c2709bd50d58f563 Mon Sep 17 00:00:00 2001 From: "Piotr Wilkin (ilintar)" Date: Fri, 13 Mar 2026 20:56:10 +0100 Subject: [PATCH] common/parser: gracefully handle undetected tool parser, print error message. (#20286) --- common/chat-auto-parser-generator.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/common/chat-auto-parser-generator.cpp b/common/chat-auto-parser-generator.cpp index b7cf513942..f19819494c 100644 --- a/common/chat-auto-parser-generator.cpp +++ b/common/chat-auto-parser-generator.cpp @@ -3,6 +3,7 @@ #include "chat.h" #include "common.h" #include "json-schema-to-grammar.h" +#include "log.h" #include "nlohmann/json.hpp" #include @@ -182,7 +183,10 @@ common_peg_parser analyze_tools::build_parser(parser_build_context & ctx) const case tool_format::TAG_WITH_TAGGED: return build_tool_parser_tag_tagged(ctx); default: - GGML_ABORT("Unable to create tool parser"); + LOG_ERR("[ERROR] Template seems to support tool calls, but failed to determine tool format. Tool calling will not work properly. " + "Check for a fixed template for your model in the models/templates directory of your llama.cpp installation or " + "report an issue at https://github.com/ggml-org/llama.cpp/issues\n"); + return ctx.p.eps(); } }