{"record":{"id":"73c440bc983e1399","repo":"windmill-labs/windmill","slug":"runnable-not-found-runnable-id","errorCode":null,"errorMessage":"Runnable not found: ${runnable_id}","messagePattern":"Runnable not found: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/src/commands/app/dev.ts","lineNumber":1208,"sourceCode":"                true,\n              );\n            }\n            break;\n          }\n\n          case \"backendAsync\": {\n            // Run a runnable asynchronously and return job ID immediately\n            log.info(\n              colors.blue(\n                `[backendAsync] Running runnable async: ${runnable_id}`,\n              ),\n            );\n            try {\n              const runnables = await loadRunnables();\n              const runnable = runnables[runnable_id];\n\n              if (!runnable) {\n                throw new Error(`Runnable not found: ${runnable_id}`);\n              }\n\n              const uuid = await executeRunnable(\n                runnable,\n                workspaceId,\n                appPath,\n                runnable_id,\n                v,\n                appTempRefs,\n              );\n              log.info(colors.gray(`[backendAsync] Job started: ${uuid}`));\n\n              // Return job ID immediately\n              respond(\"backendAsyncRes\", uuid, false);\n\n              // Wait for result in the background and send it when done\n              waitForJob(workspaceId, uuid)\n                .then((result) => {","sourceCodeStart":1190,"sourceCodeEnd":1226,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/cli/src/commands/app/dev.ts#L1190-L1226","documentation":"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.","triggerScenarios":"Thrown at cli/src/commands/app/dev.ts:1208 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Restart the app dev server to refresh the runnable registry","Fix the app source: remove or update the reference to the missing runnable id","Re-save the app in the editor so preview and dev-server state re-sync"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e474e8803ce2ff5c2df09a58dab51d45f5c922ca","analyzedAt":"2026-09-03T12:38:19.024Z","contentChangedAt":"2026-09-03T12:38:19.024Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}