diegosouzapw/OmniRoute · error · Error

Checksum mismatch for ${asset}

Error message

Checksum mismatch for ${asset}

What it means

Error "Checksum mismatch for ${asset}" thrown in diegosouzapw/OmniRoute.

Source

Thrown at open-sse/executors/chatgpt-web-codex/tunnelClient.ts:223

    const actual = sha256(readFileSync(paths.binary));
    if (
      manifest.version === 1 &&
      manifest.tunnelClientVersion === CHATGPT_WEB_CODEX_TUNNEL_VERSION &&
      manifest.binarySha256 === actual
    ) {
      return paths.binary;
    }
    throw new Error("Existing tunnel-client failed integrity validation");
  }

  const asset = tunnelPlatformAsset();
  const [archive, checksumFile] = await Promise.all([
    download(`${RELEASE_BASE}/${asset}`),
    download(`${RELEASE_BASE}/SHA256SUMS.txt`),
  ]);
  const expected = parseTunnelChecksum(new TextDecoder().decode(checksumFile), asset);
  const archiveSha256 = sha256(archive);
  if (archiveSha256 !== expected) throw new Error(`Checksum mismatch for ${asset}`);

  const files = unzipSync(archive);
  const executableName = process.platform === "win32" ? "tunnel-client.exe" : "tunnel-client";
  const entry = Object.entries(files).find(([name]) => basename(name) === executableName);
  if (!entry) throw new Error(`${asset} does not contain ${executableName}`);
  atomicWriteFile(paths.binary, entry[1]);
  if (process.platform !== "win32") chmodSync(paths.binary, 0o700);
  const manifest: InstallManifest = {
    version: 1,
    tunnelClientVersion: CHATGPT_WEB_CODEX_TUNNEL_VERSION,
    asset,
    archiveSha256,
    binarySha256: sha256(entry[1]),
  };
  atomicWriteFile(paths.manifest, `${JSON.stringify(manifest, null, 2)}\n`);

  const version = spawnSync(paths.binary, ["--version"], { encoding: "utf8" });
  if (

View on GitHub (pinned to a179ffed5b)

When it happens

Trigger: Thrown at open-sse/executors/chatgpt-web-codex/tunnelClient.ts:223 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of diegosouzapw/OmniRoute@a179ffed5b (2026-08-25). Data as JSON: /api/errors/16059808f6e66636. Report an issue: GitHub.