{"record":{"id":"c061c4a45cb5d618","repo":"windmill-labs/windmill","slug":"debug-signing-is-not-configured-on-the-server-ple","errorCode":null,"errorMessage":"Debug signing is not configured on the server. Please contact your administrator.","messagePattern":"Debug signing is not configured on the server\\. Please contact your administrator\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"frontend/src/lib/components/debug/debugUtils.ts","lineNumber":68,"sourceCode":"export async function signDebugRequest(\n\tworkspace: string,\n\tcode: string,\n\tlanguage: string\n): Promise<{ token: string; code: string; job_id: string }> {\n\tif (!workspace) {\n\t\tthrow new Error('No workspace selected')\n\t}\n\n\tconst response = await fetch(`/api/w/${workspace}/debug/sign`, {\n\t\tmethod: 'POST',\n\t\theaders: { 'Content-Type': 'application/json' },\n\t\tbody: JSON.stringify({ code, language })\n\t})\n\n\tif (!response.ok) {\n\t\tconst errorText = await response.text()\n\t\tif (errorText.includes('not initialized')) {\n\t\t\tthrow new Error(\n\t\t\t\t'Debug signing is not configured on the server. Please contact your administrator.'\n\t\t\t)\n\t\t}\n\t\tthrow new Error(errorText || 'Failed to authorize debug session')\n\t}\n\n\treturn await response.json()\n}\n\n/**\n * Sign a multiplayer session request. Returns a JWT token that the\n * multiplayer server will verify before accepting the WebSocket connection.\n */\nexport async function signMultiplayerRequest(workspace: string): Promise<string> {\n\tif (!workspace) {\n\t\tthrow new Error('No workspace selected')\n\t}\n","sourceCodeStart":50,"sourceCodeEnd":86,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/frontend/src/lib/components/debug/debugUtils.ts#L50-L86","documentation":"signDebugRequest treats any non-OK response from POST /api/w/{workspace}/debug/sign as a failure. When the server's error body contains the substring 'not initialized', the function rewrites it into this user-friendly message. It means the server-side debug signing (token signing key / debug subsystem) has not been configured, so no debug session can be authorized.","triggerScenarios":"The backend responds non-OK to /debug/sign and the response text includes 'not initialized' — i.e. the instance has no debug signing secret configured (fresh/unconfigured instance or EE debug feature disabled).","commonSituations":"Self-hosted instance without the signing key set via instance settings/env; administrator never enabled the debug/session signing feature; running a CE build against an EE-only debug endpoint; config lost after an upgrade or environment variable rename.","solutions":["Ask the instance administrator to configure the debug/token signing secret (instance settings or the corresponding backend env variable) and restart the backend.","Check backend logs for the exact 'not initialized' error to identify which setting is missing.","If self-hosting, verify the deployment includes the component/feature that initializes debug signing (not a stripped CE image).","As a stopgap, disable the debugger UI feature flag until signing is configured."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try { await signDebugRequest(ws, code, lang) } catch (e) { const m = (e as Error).message; if (m.includes('not configured on the server')) showAdminConfigNotice(m); else throw e }","preventionTips":["Check instance/debug-signing configuration during deployment health checks.","Hide debugger features until a successful sign succeeds once (feature probe)."],"tags":["debugging","server-configuration","network","authorization"],"backgroundTag":"debug-signing-not-configured","analyzedSha":"e474e8803ce2ff5c2df09a58dab51d45f5c922ca","analyzedAt":"2026-09-03T12:38:19.024Z","contentChangedAt":"2026-09-03T12:38:19.024Z","schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}