{"record":{"id":"531dcbf11dcf3cf5","repo":"browsh-org/browsh","slug":"could-not-find-firefox-on-your-registry","errorCode":null,"errorMessage":"Could not find Firefox on your registry","messagePattern":"Could not find Firefox on your registry","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"critical","filePath":"interfacer/src/browsh/firefox_windows.go","lineNumber":94,"sourceCode":"\t\t\tflavor = \"Firefox Developer Edition\"\n\t\t}\n\t\tdefer k.Close()\n\t}\n\n\tif flavor == \"null\" {\n\t\tk, err := registry.OpenKey(\n\t\t\tregistry.LOCAL_MACHINE,\n\t\t\t`Software\\Mozilla\\Nightly`,\n\t\t\tregistry.QUERY_VALUE)\n\n\t\tif err == nil {\n\t\t\tflavor = \"Nightly\"\n\t\t}\n\t\tdefer k.Close()\n\t}\n\n\tif flavor == \"null\" {\n\t\tShutdown(errors.New(\"Could not find Firefox on your registry\"))\n\t}\n\treturn flavor\n}\n\nfunc ensureFirefoxVersion(path string) {\n\tversionString := getWindowsFirefoxVersionString()\n\tpieces := strings.Split(versionString, \" \")\n\tversion := pieces[0]\n\tif versionOrdinal(version) < versionOrdinal(\"57\") {\n\t\tmessage := \"Installed Firefox version \" + version + \" is too old. \" +\n\t\t\t\"Firefox 57 or newer is needed.\"\n\t\tShutdown(errors.New(message))\n\t}\n}\n","sourceCodeStart":76,"sourceCodeEnd":109,"githubUrl":"https://github.com/browsh-org/browsh/blob/499ef386d45cd1e2b5457dd04887c017f77b7e27/interfacer/src/browsh/firefox_windows.go#L76-L109","documentation":"On Windows, `getFirefoxFlavor` probes the Windows registry for installed Firefox editions (release, Beta, Nightly, etc.). If every probe leaves `flavor == \"null\"`, no Firefox installation is registered, and since browsh locates Firefox via the registry on Windows, it calls `Shutdown` with this error.","triggerScenarios":"`getFirefoxPath` or `getWindowsFirefoxVersionString` calls `getFirefoxFlavor`, and none of the registry keys it opens exist — Firefox is not installed or not registered in the expected registry locations for the current bitness/user.","commonSituations":"Firefox never installed on the Windows machine; portable/unregistered Firefox build that doesn't write registry keys; 32/64-bit registry view mismatch (Firefox installed for a different bitness); corrupted Firefox install.","solutions":["Install Firefox from mozilla.org using the regular installer so registry keys are written.","Verify registry keys exist: `reg query \"HKLM\\SOFTWARE\\Mozilla\\Mozilla Firefox\"`.","If using a portable Firefox, install a registered copy or make it discoverable via the registry.","Check that browsh runs under the same user/bitness context as the Firefox installation."],"exampleFix":"# before\n> browsh  # Could not find Firefox on your registry\n# after: verify / install\n> reg query \"HKLM\\SOFTWARE\\Mozilla\\Mozilla Firefox\"\n# if missing -> install Firefox from https://www.mozilla.org/firefox/","handlingStrategy":"validation","validationCode":"const { execSync } = require('child_process');\ntry {\n  execSync('reg query \"HKLM\\\\SOFTWARE\\\\Mozilla\\\\Mozilla Firefox\"');\n} catch {\n  throw new Error('Firefox not registered; install it from mozilla.org first');\n}","typeGuard":null,"tryCatchPattern":"try {\n  startBrowsh();\n} catch (e) {\n  if (/Could not find Firefox on your registry/.test(e.message)) {\n    console.error('Install registered Firefox from mozilla.org');\n  } else { throw e; }\n}","preventionTips":["Install Firefox with the standard Windows installer (writes registry keys).","Avoid portable/unregistered Firefox builds with browsh.","Check registry presence in machine preflight: reg query HKLM\\SOFTWARE\\Mozilla\\Mozilla Firefox.","Match browsh's bitness/user context to the Firefox install."],"tags":["windows","registry","firefox","missing-install"],"backgroundTag":"firefox-not-installed","analyzedSha":"499ef386d45cd1e2b5457dd04887c017f77b7e27","analyzedAt":"2026-09-02T19:05:32.228Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T21:17:11.164Z"}