{"record":{"id":"c67dc1054873e228","repo":"openclaw/openclaw","slug":"codex-restricted-tool-surface-cannot-override-conf","errorCode":null,"errorMessage":"Codex restricted tool surface cannot override config layer ${layer.name.type}","messagePattern":"Codex restricted tool surface cannot override config layer (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"extensions/codex/src/app-server/thread-requests.ts","lineNumber":488,"sourceCode":"      includeLayers: true,\n    },\n    { signal },\n  );\n  if (!isJsonObject(response) || !isJsonObject(response.config)) {\n    throw new Error(\"Codex config/read returned an invalid effective config\");\n  }\n  if (!Array.isArray(response.layers)) {\n    throw new Error(\"Codex config/read omitted effective config layers\");\n  }\n  for (const layer of response.layers) {\n    if (!isJsonObject(layer) || !isJsonObject(layer.name) || typeof layer.name.type !== \"string\") {\n      throw new Error(\"Codex config/read returned invalid effective config layers\");\n    }\n    if (\n      layer.name.type === \"legacyManagedConfigTomlFromFile\" ||\n      layer.name.type === \"legacyManagedConfigTomlFromMdm\"\n    ) {\n      throw new Error(\n        `Codex restricted tool surface cannot override config layer ${layer.name.type}`,\n      );\n    }\n    if (!CODEX_RING_ZERO_OVERRIDABLE_LAYER_TYPES.has(layer.name.type)) {\n      throw new Error(\n        `Codex restricted tool surface does not recognize config layer ${layer.name.type}`,\n      );\n    }\n  }\n  const configuredServers = response.config.mcp_servers;\n  if (configuredServers === undefined) {\n    return [];\n  }\n  if (!isJsonObject(configuredServers)) {\n    throw new Error(\"Codex config/read returned invalid mcp_servers\");\n  }\n  return Object.keys(configuredServers).toSorted();\n}","sourceCodeStart":470,"sourceCodeEnd":506,"githubUrl":"https://github.com/openclaw/openclaw/blob/01804a75319da4b69c9ab98ceaa30477e22b8c0b/extensions/codex/src/app-server/thread-requests.ts#L470-L506","documentation":"Error \"Codex restricted tool surface cannot override config layer ${layer.name.type}\" thrown in openclaw/openclaw.","triggerScenarios":"Thrown at extensions/codex/src/app-server/thread-requests.ts:488 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"}