{"record":{"id":"2f29a89ef542d694","repo":"SubtitleEdit/subtitleedit","slug":"crispasr-executable-not-found-please-use-the-do","errorCode":null,"errorMessage":"CrispASR executable not found - please use the 'Download' button to install it. Path: {_executablePath}","messagePattern":"CrispASR executable not found - please use the 'Download' button to install it\\. Path: (.+?)","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"src/libuilogic/AutoTranslate/CrispAsrMadladTranslate.cs","lineNumber":50,"sourceCode":"            _modelPath = Configuration.Settings.Tools.AutoTranslateCrispAsrModel;\n        }\n\n        public List<TranslationPair> GetSupportedSourceLanguages()\n        {\n            return ListLanguages();\n        }\n\n        public List<TranslationPair> GetSupportedTargetLanguages()\n        {\n            return ListLanguages();\n        }\n\n        public async Task<string> Translate(string text, string sourceLanguageCode, string targetLanguageCode, CancellationToken cancellationToken)\n        {\n            if (string.IsNullOrEmpty(_executablePath) || !File.Exists(_executablePath))\n            {\n                Error = \"CrispASR executable not found - please use the 'Download' button to install it. Path: \" + _executablePath;\n                throw new Exception(Error);\n            }\n\n            if (string.IsNullOrEmpty(_modelPath) || !File.Exists(_modelPath))\n            {\n                Error = \"CrispASR MADLAD model not found - please use the 'Download' button to install it. Path: \" + _modelPath;\n                throw new Exception(Error);\n            }\n\n            var startInfo = new ProcessStartInfo\n            {\n                FileName = _executablePath,\n                UseShellExecute = false,\n                RedirectStandardOutput = true,\n                RedirectStandardError = true,\n                CreateNoWindow = true,\n                StandardOutputEncoding = Encoding.UTF8,\n                StandardErrorEncoding = Encoding.UTF8,\n                WorkingDirectory = Path.GetDirectoryName(_executablePath) ?? string.Empty,","sourceCodeStart":32,"sourceCodeEnd":68,"githubUrl":"https://github.com/SubtitleEdit/subtitleedit/blob/17a9f0748781032255db3526b7215d2fb891e3af/src/libuilogic/AutoTranslate/CrispAsrMadladTranslate.cs#L32-L68","documentation":"Thrown by CrispAsrMadladTranslate.Translate when the local CrispASR executable path (_executablePath) is empty or the file does not exist on disk. The path comes from Configuration.Settings.Tools.AutoTranslateCrispAsrExe. CrispASR is a locally-installed command-line translator; without the binary, translation cannot run.","triggerScenarios":"Calling Translate before installing CrispASR, after the executable was moved/deleted, or with an empty AutoTranslateCrispAsrExe setting. The Download button in the UI is the intended install route.","commonSituations":"First-time use without downloading the tool; portable/SubtitleEdit install on a different machine where the path no longer resolves; antivirus quarantine of the binary; settings pointing to a stale path.","solutions":["Use the 'Download' button in the CrispASR Auto-Translate provider to install the executable.","Verify AutoTranslateCrispAsrExe points to the actual binary location and the file exists.","Re-download from https://github.com/CrispStrobe/CrispASR if the binary is missing.","Check antivirus/quarantine did not remove the file."],"exampleFix":"// before\nConfiguration.Settings.Tools.AutoTranslateCrispAsrExe = \"\";\n// after\nConfiguration.Settings.Tools.AutoTranslateCrispAsrExe = @\"C:\\Tools\\CrispASR\\crispasr.exe\";","handlingStrategy":"validation","validationCode":"// Verify the CrispASR executable exists before calling Translate\nvar exe = Configuration.Settings.Tools.AutoTranslateCrispAsrExe;\nif (string.IsNullOrEmpty(exe) || !File.Exists(exe))\n{\n    Console.WriteLine(\"CrispASR executable missing. Use the Download button or set AutoTranslateCrispAsrExe.\");\n    return;\n}","typeGuard":null,"tryCatchPattern":"try\n{\n    var result = await translator.Translate(text, src, tgt, ct);\n}\ncatch (Exception ex) when (ex.Message.Contains(\"CrispASR executable not found\"))\n{\n    // prompt user to install via Download button\n    logger.Error(ex.Message);\n}","preventionTips":["Install CrispASR via the Download button before first use.","Store the executable in a stable, non-temp path.","Check antivirus did not quarantine the binary.","Validate File.Exists(exe) before enabling the provider."],"tags":["auto-translate","crispasr","missing-file","configuration","local-tool"],"backgroundTag":null,"analyzedSha":"17a9f0748781032255db3526b7215d2fb891e3af","analyzedAt":"2026-08-13T18:11:43.374Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}