{"record":{"id":"a36d6d37382c384d","repo":"heygen-com/hyperframes","slug":"cached-chrome-binary-was-missing-at-fromcache-st","errorCode":null,"errorMessage":"Cached Chrome binary was missing at ${fromCache.staleHyperframesCachePath}, and re-download failed: ${cause}\\nRun `hyperframes browser ensure --force` to re-download.","messagePattern":"Cached Chrome binary was missing at (.+?), and re-download failed: (.+?)\\\\nRun `hyperframes browser ensure --force` to re-download\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/cli/src/browser/manager.ts","lineNumber":511,"sourceCode":" */\nexport async function findBrowser(): Promise<BrowserResult | undefined> {\n  const fromEnv = findFromEnv();\n  if (fromEnv) return fromEnv;\n\n  const fromCache = await findFromCache();\n  if (fromCache.result) return fromCache.result;\n  if (fromCache.staleHyperframesCachePath) {\n    console.warn(\n      `[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} — re-downloading...`,\n    );\n    try {\n      return await withInstallLock(async () => {\n        if (fromCache.staleInstallPath) purgeStaleInstall(fromCache.staleInstallPath);\n        return downloadBrowser();\n      });\n    } catch (err) {\n      const cause = normalizeErrorMessage(err);\n      throw new Error(\n        `Cached Chrome binary was missing at ${fromCache.staleHyperframesCachePath}, and re-download failed: ${cause}\\n` +\n          `Run \\`hyperframes browser ensure --force\\` to re-download.`,\n      );\n    }\n  }\n\n  const fromSystem = findFromSystem();\n  if (fromSystem) {\n    warnSystemFallbackOnce(fromSystem.executablePath);\n  }\n  return fromSystem;\n}\n\n/**\n * On Linux ARM64, attempt to auto-install system Chromium if not found.\n * This makes `hyperframes render` work out-of-the-box on DGX Spark / GB10 / Jetson.\n */\nasync function ensureLinuxArmBrowser(options?: EnsureBrowserOptions): Promise<BrowserResult> {","sourceCodeStart":493,"sourceCodeEnd":529,"githubUrl":"https://github.com/heygen-com/hyperframes/blob/c2996c8626135db5253519359d8a063d3bafad8d/packages/cli/src/browser/manager.ts#L493-L529","documentation":"Thrown by findBrowser() when a cached chrome-headless-shell binary was expected at the hyperframes cache path but is missing (staleHyperframesCachePath set), AND the re-download attempt inside withInstallLock also failed. The message names the stale cache path and the download failure cause, and points the user to `hyperframes browser ensure --force` to re-download cleanly.","triggerScenarios":"findBrowser() → findFromCache() returns a stale path (cache metadata present, binary absent); withInstallLock(downloadBrowser) rejects due to network failure, disk full, or a corrupt archive; the combined error is raised.","commonSituations":"User manually deleted part of ~/.cache/hyperframes/chrome; a previous download was interrupted leaving partial state; network/proxy blocks the chrome-headless-shell CDN; disk full in the cache directory; a corrupt archive that the recovery logic couldn't fix.","solutions":["Run `hyperframes browser ensure --force` to purge and re-download the chrome-headless-shell binary.","Check the underlying cause in the message — fix network/proxy/disk issues that blocked the download.","If re-download keeps failing, point hyperframes at a system Chrome via HYPERFRAMES_BROWSER_PATH as a fallback."],"exampleFix":"# before — stale cache + download failed\n$ hyperframes render ...\n# force re-download\n$ hyperframes browser ensure --force\n$ hyperframes render ...\n# fallback: use system Chrome\n$ export HYPERFRAMES_BROWSER_PATH=$(which google-chrome)\n$ hyperframes render ...","handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n  await ensureBrowser();\n} catch (err) {\n  const msg = (err as Error).message;\n  if (/Cached Chrome binary was missing/.test(msg)) {\n    // fallback: point at system Chrome\n    process.env.HYPERFRAMES_BROWSER_PATH = '/usr/bin/google-chrome';\n    await ensureBrowser();\n  } else throw err;\n}","preventionTips":["Run `hyperframes browser ensure --force` after cache issues instead of retrying blindly.","Set HYPERFRAMES_BROWSER_PATH to a system Chrome as a reliable fallback in CI.","Avoid manually deleting parts of ~/.cache/hyperframes/chrome."],"tags":["browser","cache","download","chrome","environment"],"backgroundTag":null,"analyzedSha":"c2996c8626135db5253519359d8a063d3bafad8d","analyzedAt":"2026-08-12T22:18:56.877Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}