{"record":{"id":"59b274090284345a","repo":"SubtitleEdit/subtitleedit","slug":"no-llama-cpp-translate-model-found-in-llamacppser","errorCode":null,"errorMessage":"No llama.cpp translate model found in {LlamaCppServerManager.GetAndCreateModelsFolder()}. Download one in Subtitle Edit (Auto-translate > llama.cpp), drop a .gguf into that folder, or pass --translate-model:<path.gguf>.","messagePattern":"No llama\\.cpp translate model found in (.+?)\\. Download one in Subtitle Edit \\(Auto-translate > llama\\.cpp\\), drop a \\.gguf into that folder, or pass --translate-model:<path\\.gguf>\\.","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":null,"severity":"error","filePath":"src/seconv/Core/AutoTranslateRunner.cs","lineNumber":248,"sourceCode":"            var model = all.FirstOrDefault(m => m.FileName.Equals(name, StringComparison.OrdinalIgnoreCase))\n                        ?? all.FirstOrDefault(m => m.FileName.Equals(name + \".gguf\", StringComparison.OrdinalIgnoreCase))\n                        ?? all.FirstOrDefault(m => m.DisplayName.Equals(name, StringComparison.OrdinalIgnoreCase));\n            if (model == null || !LlamaCppServerManager.IsModelInstalled(model))\n            {\n                throw new InvalidOperationException(\n                    $\"Translate model '{name}' not found in {LlamaCppServerManager.GetAndCreateModelsFolder()}. \" +\n                    \"Download one in Subtitle Edit (Auto-translate > llama.cpp), drop a .gguf into that folder, \" +\n                    \"or pass a full path via --translate-model.\");\n            }\n\n            return model;\n        }\n\n        // No model given: pick the first installed translate model (curated order, then custom).\n        var installed = LlamaCppServerManager.GetAllTranslateModels().FirstOrDefault(LlamaCppServerManager.IsModelInstalled);\n        if (installed == null)\n        {\n            throw new InvalidOperationException(\n                $\"No llama.cpp translate model found in {LlamaCppServerManager.GetAndCreateModelsFolder()}. \" +\n                \"Download one in Subtitle Edit (Auto-translate > llama.cpp), drop a .gguf into that folder, \" +\n                \"or pass --translate-model:<path.gguf>.\");\n        }\n\n        return installed;\n    }\n}\n","sourceCodeStart":230,"sourceCodeEnd":257,"githubUrl":"https://github.com/SubtitleEdit/subtitleedit/blob/17a9f0748781032255db3526b7215d2fb891e3af/src/seconv/Core/AutoTranslateRunner.cs#L230-L257","documentation":"InvalidOperationException from ResolveLlamaCppModel when NO --translate-model was given AND none of the curated/custom models in the models folder report IsModelInstalled. This is the 'pick a sensible default' fallback failing because nothing is installed.","triggerScenarios":"First-time use of llamacpp translate on a machine with no .gguf in GetAndCreateModelsFolder(). The default-selection logic (FirstOrDefault(IsModelInstalled)) returns null and throws.","commonSituations":"Fresh install of the seconv CLI with no prior SE GUI use; models folder cleaned/emptied; user switched machines without copying models.","solutions":["Pass --translate-model:<path.gguf> pointing at any installed model.","Open SE GUI > Auto-translate > llama.cpp and download a curated translate model (this populates the folder).","Manually place any chat-capable .gguf into the folder printed in the message."],"exampleFix":"// before\nvar installed = LlamaCppServerManager.GetAllTranslateModels().FirstOrDefault(LlamaCppServerManager.IsModelInstalled);\nif (installed == null) throw new InvalidOperationException(...);\n\n// after — same, but hint at a known-good default model name in the message\nthrow new InvalidOperationException($\"No llama.cpp translate model in {folder}. Try `--translate-model:gemma-9b-it` after downloading, or pass a path.\");","handlingStrategy":"validation","validationCode":"var installed = LlamaCppServerManager.GetAllTranslateModels().Where(LlamaCppServerManager.IsModelInstalled).ToList();\nif (installed.Count == 0 && string.IsNullOrWhiteSpace(requestedModel))\n    throw new InvalidOperationException(\"No translate model installed. Download one in SE GUI or pass --translate-model:<path>.\");","typeGuard":"static bool AnyTranslateModelInstalled() => LlamaCppServerManager.GetAllTranslateModels().Any(LlamaCppServerManager.IsModelInstalled);","tryCatchPattern":"null","preventionTips":["Ship a setup step that downloads a default curated model on first run.","Detect 'no model installed' early in CLI startup and print install guidance."],"tags":["translate","llama-cpp","model-loading","cli","setup"],"backgroundTag":null,"analyzedSha":"17a9f0748781032255db3526b7215d2fb891e3af","analyzedAt":"2026-08-13T18:11:43.374Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}