{"record":{"id":"5f4daefe7f8f1898","repo":"SeleniumHQ/selenium","slug":"unable-to-obtain-selenium-manager-at-filepath","errorCode":null,"errorMessage":"Unable to obtain Selenium Manager at ${filePath}","messagePattern":"Unable to obtain Selenium Manager at (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"critical","filePath":"javascript/selenium-webdriver/common/seleniumManager.js","lineNumber":52,"sourceCode":" * Determines the path of the correct Selenium Manager binary\n * @returns {string}\n */\nfunction getBinary() {\n  const directory = {\n    darwin: 'macos',\n    win32: 'windows',\n    cygwin: 'windows',\n    linux: 'linux',\n  }[platform]\n\n  const file = directory === 'windows' ? 'selenium-manager.exe' : 'selenium-manager'\n\n  let seleniumManagerBasePath = path.join(__dirname, '..', '/bin')\n\n  const filePath = process.env.SE_MANAGER_PATH || path.join(seleniumManagerBasePath, directory, file)\n\n  if (!fs.existsSync(filePath)) {\n    throw new Error(`Unable to obtain Selenium Manager at ${filePath}`)\n  }\n\n  if (!debugMessagePrinted) {\n    log_.debug(`Selenium Manager binary found at ${filePath}`)\n    debugMessagePrinted = true // Set the flag to true after printing the debug message\n  }\n\n  return filePath\n}\n\n/**\n * Determines the path of the correct driver\n * @param {string[]} args arguments to invoke Selenium Manager\n * @returns {{browserPath: string, driverPath: string}} path of the driver and\n * browser location\n */\n\nfunction binaryPaths(args) {","sourceCodeStart":34,"sourceCodeEnd":70,"githubUrl":"https://github.com/SeleniumHQ/selenium/blob/aa36b38e696a0909e973bdf5e2f9031ffe842c4b/javascript/selenium-webdriver/common/seleniumManager.js#L34-L70","documentation":"Thrown by getBinary() in seleniumManager.js when the selenium-manager executable file does not exist at the resolved path. The path comes from the SE_MANAGER_PATH env var, or from the bundled bin/<platform>/selenium-manager[.exe] directory. fs.existsSync returns false.","triggerScenarios":"SE_MANAGER_PATH set to a non-existent file. The bundled binary missing due to a corrupt or incomplete package install. Running on a platform not in the darwin/win32/cygwin/linux map. A git checkout without the built binaries.","commonSituations":"Corrupted npm install; partial clone of the repo without built artifacts; CI caching a broken node_modules; custom build that omits the binary bundling step; SE_MANAGER_PATH typo.","solutions":["Set SE_MANAGER_PATH to a valid, executable selenium-manager binary.","Reinstall the package cleanly: rm -rf node_modules && npm install selenium-webdriver.","Verify the platform directory exists under the package's bin/ folder.","Download the matching selenium-manager binary from the Selenium release."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"const fs = require('node:fs')\nconst smPath = process.env.SE_MANAGER_PATH || defaultPath\nif (!fs.existsSync(smPath)) {\n  throw new Error(`Selenium Manager not found at ${smPath}. Reinstall selenium-webdriver or set SE_MANAGER_PATH.`)\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Reinstall selenium-webdriver cleanly if the bundled binary is missing.","Set SE_MANAGER_PATH to a verified binary path in CI.","Verify the platform directory under bin/ matches your OS after install.","Avoid partial git checkouts without built artifacts."],"tags":["selenium-manager","binary","environment","installation"],"backgroundTag":null,"analyzedSha":"aa36b38e696a0909e973bdf5e2f9031ffe842c4b","analyzedAt":"2026-08-14T02:32:32.244Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}