{"record":{"id":"57e3ab6cadca97b5","repo":"openclaw/openclaw","slug":"codex-runtime-launcher-selection-changed","errorCode":null,"errorMessage":"Codex runtime launcher selection changed","messagePattern":"Codex runtime launcher selection changed","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"extensions/codex/src/app-server/runtime-artifact.ts","lineNumber":363,"sourceCode":"    }\n    if (!SAFE_NODE_OPTIONS_NUMERIC_FLAGS.has(flag)) {\n      return { ok: false, option: flag };\n    }\n    const numericValue = inlineValue ?? tokens[++index];\n    if (!numericValue || !/^\\d+$/u.test(numericValue)) {\n      return { ok: false, option: flag };\n    }\n  }\n  return { ok: true };\n}\n\nasync function hashSelectedArtifactFiles(\n  descriptor: CodexRuntimeFilesystemDescriptor,\n  signal?: AbortSignal,\n): Promise<string> {\n  throwIfAborted(signal);\n  if ((await fs.realpath(descriptor.commandPath)) !== descriptor.commandRealPath) {\n    throw new Error(\"Codex runtime launcher selection changed\");\n  }\n  const packageRoot = descriptor.packageRoot;\n  const resolvedPackageRoot = await resolvePackageRoot(descriptor.nativePath);\n  if (resolvedPackageRoot !== packageRoot) {\n    throw new Error(\"Codex runtime package selection changed\");\n  }\n  if (packageRoot && (await fs.realpath(packageRoot)) !== packageRoot) {\n    throw new Error(\"Codex runtime package root changed\");\n  }\n  const allFiles = [\n    descriptor.commandRealPath,\n    ...descriptor.invocationPaths,\n    descriptor.nativePath,\n    ...(descriptor.codeModeHostPath ? [descriptor.codeModeHostPath] : []),\n  ];\n  for (const filePath of allFiles) {\n    if ((await fs.realpath(filePath)) !== filePath) {\n      throw new Error(`Codex runtime artifact file selection changed: ${filePath}`);","sourceCodeStart":345,"sourceCodeEnd":381,"githubUrl":"https://github.com/openclaw/openclaw/blob/01804a75319da4b69c9ab98ceaa30477e22b8c0b/extensions/codex/src/app-server/runtime-artifact.ts#L345-L381","documentation":"Error \"Codex runtime launcher selection changed\" thrown in openclaw/openclaw.","triggerScenarios":"Thrown at extensions/codex/src/app-server/runtime-artifact.ts:363 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01804a75319da4b69c9ab98ceaa30477e22b8c0b","analyzedAt":"2026-08-12T04:37:58.197Z","schemaVersion":2},"datasetVersion":"2026-08-12T13:17:24.610Z"}