windmill-labs/windmill · error

Runnable not found: ${runnable_id}

Error message

Runnable not found: ${runnable_id}

What it means

Same runnable-registry miss as the sync path, but in the backendAsync case of the dev server's WebSocket handler: the browser asked to run runnable_id in the background and get a job id back immediately, and loadRunnables() returned no such key. The faulting input is the runnable_id from the client message; cause is a stale/renamed/deleted runnable in the app versus what the dev server currently has loaded.

Source

Thrown at cli/src/commands/app/dev.ts:1208

                true,
              );
            }
            break;
          }

          case "backendAsync": {
            // Run a runnable asynchronously and return job ID immediately
            log.info(
              colors.blue(
                `[backendAsync] Running runnable async: ${runnable_id}`,
              ),
            );
            try {
              const runnables = await loadRunnables();
              const runnable = runnables[runnable_id];

              if (!runnable) {
                throw new Error(`Runnable not found: ${runnable_id}`);
              }

              const uuid = await executeRunnable(
                runnable,
                workspaceId,
                appPath,
                runnable_id,
                v,
                appTempRefs,
              );
              log.info(colors.gray(`[backendAsync] Job started: ${uuid}`));

              // Return job ID immediately
              respond("backendAsyncRes", uuid, false);

              // Wait for result in the background and send it when done
              waitForJob(workspaceId, uuid)
                .then((result) => {

View on GitHub (pinned to e474e8803c)

Solutions

  1. Restart the app dev server to refresh the runnable registry
  2. Fix the app source: remove or update the reference to the missing runnable id
  3. Re-save the app in the editor so preview and dev-server state re-sync
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at cli/src/commands/app/dev.ts:1208 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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