{"record":{"id":"27410167b05e5a1b","repo":"continuedev/continue","slug":"config-not-loaded","errorCode":null,"errorMessage":"Config not loaded","messagePattern":"Config not loaded","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"core/core.ts","lineNumber":1056,"sourceCode":"      if (msg.data.id) {\n        await this.configHandler.setSelectedProfileId(msg.data.id);\n      }\n    });\n\n    on(\"auth/getAuthUrl\", async (_msg) => {\n      return { url: \"\" };\n    });\n\n    on(\"tools/call\", async ({ data: { toolCall } }) =>\n      this.handleToolCall(toolCall),\n    );\n\n    on(\n      \"tools/evaluatePolicy\",\n      async ({ data: { toolName, basePolicy, parsedArgs, processedArgs } }) => {\n        const { config } = await this.configHandler.loadConfig();\n        if (!config) {\n          throw new Error(\"Config not loaded\");\n        }\n\n        const tool = config.tools.find((t) => t.function.name === toolName);\n        if (!tool) {\n          return { policy: basePolicy };\n        }\n\n        // Extract display value for specific tools\n        let displayValue: string | undefined;\n        if (toolName === \"runTerminalCommand\" && parsedArgs.command) {\n          displayValue = parsedArgs.command as string;\n        }\n\n        if (tool.evaluateToolCallPolicy) {\n          const evaluatedPolicy = tool.evaluateToolCallPolicy(\n            basePolicy,\n            parsedArgs,\n            processedArgs,","sourceCodeStart":1038,"sourceCodeEnd":1074,"githubUrl":"https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/core/core.ts#L1038-L1074","documentation":"The tools/evaluatePolicy handler loads config to look up a tool's policy; if loadConfig yields no config object it cannot evaluate and throws 'Config not loaded'.","triggerScenarios":"A tool call triggers evaluatePolicy while config.json is missing, corrupt, or still loading.","commonSituations":"Startup races where a tool call arrives before config load finishes; corrupted config after manual edit; fresh environment without config.","solutions":["Ensure config.json exists and parses before tool use","Retry after initialization completes","Regenerate a valid config"],"exampleFix":null,"handlingStrategy":"retry","validationCode":"const { config } = await configHandler.loadConfig();\nif (!config) await waitForConfigReady();","typeGuard":null,"tryCatchPattern":"catch (e) { if (e.message === 'Config not loaded') { await delay(200); retryEvaluatePolicy(); } }","preventionTips":["Gate tool execution on a config-ready signal"],"tags":["config","tools","policy"],"backgroundTag":"config-load-failed","analyzedSha":"5522c6f44ca0ac3528b37244818fbfa39b5af470","analyzedAt":"2026-08-27T11:28:54.683Z","schemaVersion":2},"datasetVersion":"2026-08-27T13:17:12.746Z"}