windmill-labs/windmill · error

Debug signing is not configured on the server. Please contac

Error message

Debug signing is not configured on the server. Please contact your administrator.

What it means

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.

Source

Thrown at frontend/src/lib/components/debug/debugUtils.ts:68

export async function signDebugRequest(
	workspace: string,
	code: string,
	language: string
): Promise<{ token: string; code: string; job_id: string }> {
	if (!workspace) {
		throw new Error('No workspace selected')
	}

	const response = await fetch(`/api/w/${workspace}/debug/sign`, {
		method: 'POST',
		headers: { 'Content-Type': 'application/json' },
		body: JSON.stringify({ code, language })
	})

	if (!response.ok) {
		const errorText = await response.text()
		if (errorText.includes('not initialized')) {
			throw new Error(
				'Debug signing is not configured on the server. Please contact your administrator.'
			)
		}
		throw new Error(errorText || 'Failed to authorize debug session')
	}

	return await response.json()
}

/**
 * Sign a multiplayer session request. Returns a JWT token that the
 * multiplayer server will verify before accepting the WebSocket connection.
 */
export async function signMultiplayerRequest(workspace: string): Promise<string> {
	if (!workspace) {
		throw new Error('No workspace selected')
	}

View on GitHub (pinned to e474e8803c)

Solutions

  1. Ask the instance administrator to configure the debug/token signing secret (instance settings or the corresponding backend env variable) and restart the backend.
  2. Check backend logs for the exact 'not initialized' error to identify which setting is missing.
  3. If self-hosting, verify the deployment includes the component/feature that initializes debug signing (not a stripped CE image).
  4. As a stopgap, disable the debugger UI feature flag until signing is configured.
Defensive patterns

Strategy: try-catch

Try / catch

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 }

Prevention

When it happens

Trigger: 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).

Common situations: 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.

Related errors


AI-assisted analysis of windmill-labs/windmill@e474e8803c (2026-09-03). Data as JSON: /api/errors/c061c4a45cb5d618. Report an issue: GitHub.