{"record":{"id":"054e6c04589564ec","repo":"mastra-ai/mastra","slug":"editor-is-not-configured","errorCode":null,"errorMessage":"Editor is not configured","messagePattern":"Editor is not configured","errorType":"http","errorClass":"HTTPException","httpStatus":500,"severity":"error","filePath":"packages/server/src/server/handlers/processor-providers.ts","lineNumber":34,"sourceCode":"\n/**\n * GET /processor-providers - List all registered processor providers\n */\nexport const LIST_PROCESSOR_PROVIDERS_ROUTE = createRoute({\n  method: 'GET',\n  path: '/processor-providers',\n  responseType: 'json',\n  responseSchema: getProcessorProvidersResponseSchema,\n  summary: 'List processor providers',\n  description: 'Returns a list of all registered processor providers with their info and available phases',\n  tags: ['Processor Providers'],\n  requiresAuth: true,\n  handler: async ({ mastra }) => {\n    try {\n      const editor = mastra.getEditor();\n\n      if (!editor) {\n        throw new HTTPException(500, { message: 'Editor is not configured' });\n      }\n\n      const providers = editor.getProcessorProviders();\n\n      return {\n        providers: Object.values(providers).map(provider => ({\n          ...provider.info,\n          availablePhases: provider.availablePhases,\n        })),\n      };\n    } catch (error) {\n      return handleError(error, 'Error listing processor providers');\n    }\n  },\n});\n\n/**\n * GET /processor-providers/:providerId - Get a specific processor provider with config schema","sourceCodeStart":16,"sourceCodeEnd":52,"githubUrl":"https://github.com/mastra-ai/mastra/blob/75dd419e613fe9c39f846ffc500716141b74fda6/packages/server/src/server/handlers/processor-providers.ts#L16-L52","documentation":"The processor-providers handler calls `mastra.getEditor()`; when the Mastra instance was constructed without an editor configuration it throws a 500 'Editor is not configured'. The editor (which supplies processor providers) is an optional server capability, so its absence is a server configuration issue rather than a client error.","triggerScenarios":"Calling GET /api/processor-providers (or related editor endpoints) against a Mastra server whose `new Mastra({ ... })` config omitted the editor option, or where getEditor() returns undefined because editor dependencies weren't installed/configured.","commonSituations":"Deploying a minimal Mastra config and the Studio UI still requests editor endpoints; editor package not installed in production builds; editor config removed during a refactor; environment where the editor is intentionally disabled but UI probes it anyway.","solutions":["Configure an editor on the Mastra instance (pass the editor option in `new Mastra({ ... })`).","Install the editor/processor-provider package if it was omitted from production dependencies.","Hide/disable the processor-providers UI when the server reports the editor is unconfigured.","Check getEditor() availability at startup and surface a clear config error early."],"exampleFix":"// before\nnew Mastra({ agents: {...} }); // no editor\n// after\nimport { myEditor } from './editor';\nnew Mastra({ agents: {...}, editor: myEditor });","handlingStrategy":"fallback","validationCode":"const health = await fetch('/api/processor-providers');\nif (health.status === 500) console.warn('Editor not configured on this Mastra server');","typeGuard":"function hasEditor(mastra: unknown): mastra is { getEditor(): object } {\n  const m = mastra as any;\n  return !!m && typeof m.getEditor === 'function' && !!m.getEditor();\n}","tryCatchPattern":"try {\n  return await getProcessorProviders();\n} catch (e) {\n  if (e.status === 500 && e.message.includes('Editor is not configured')) {\n    return { providers: [], editorEnabled: false }; // degrade gracefully\n  }\n  throw e;\n}","preventionTips":["Configure the editor option on Mastra in every deployment that serves Studio.","Ensure editor packages are regular (not dev-only) dependencies.","Hide processor-provider UI when the server lacks an editor."],"tags":["http-500","configuration","editor","processor-providers"],"backgroundTag":"editor-not-configured","analyzedSha":"75dd419e613fe9c39f846ffc500716141b74fda6","analyzedAt":"2026-08-30T00:15:31.844Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}