{"record":{"id":"3ff4ab5e6bf5438c","repo":"paperclipai/paperclip","slug":"plugin-environment-driver-plugindriverproviderk-3ff4ab","errorCode":null,"errorMessage":"Plugin environment driver \"${pluginDriverProviderKey(config)}\" has no running worker.","messagePattern":"Plugin environment driver \"(.+?)\" has no running worker\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/src/services/environment-runtime.ts","lineNumber":2903,"sourceCode":"   * the sandbox driver's implementation of the general capability-resolution\n   * method: it gates through {@link ENVIRONMENT_DRIVER_CAPABILITY_SUPPORT}'s\n   * `sandbox` support (the whole set, so this gate adds no restriction beyond\n   * declaration, verification, and narrowing), then reads the per-lease\n   * declaration, the live verified worker methods, and the per-lease\n   * narrowing, exactly as the runtime resolved them before this method\n   * existed.\n   */\n  async function resolveSandboxCapabilitiesForLease(\n    input: EnvironmentDriverLeaseInput,\n  ): Promise<EffectiveExecutionCapabilities> {\n    const metadata = input.lease.metadata ?? {};\n    const providerKey =\n      readString(metadata.provider) ??\n      (input.environment.driver === \"sandbox\"\n        ? readString((parseEnvironmentDriverConfig(input.environment).config as SandboxEnvironmentConfig).provider)\n        : null);\n    if (!providerKey) {\n      return classifyEnvironmentCapabilities({\n        verifiedMethods: [],\n        declared: null,\n        narrowing: null,\n        supportedCapabilities: ENVIRONMENT_DRIVER_CAPABILITY_SUPPORT.sandbox.supportedCapabilities,\n      });\n    }\n\n    let declared: SandboxProviderCapabilities | null = null;\n    let verifiedMethods: readonly string[] = [];\n    let configResolutionFailed = false;\n\n    if (metadata.sandboxProviderPlugin) {\n      const pluginId = readString(metadata.pluginId);\n      // Read the declaration from the exact plugin that acquired the lease,\n      // not the first installed plugin with this driver key. A driver key is\n      // only unique inside one manifest, so two plugins can share it. The\n      // by-key resolver could intersect this lease's verified methods with a\n      // different plugin's declaration. This resolver fails closed: it returns","sourceCodeStart":2885,"sourceCodeEnd":2921,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/server/src/services/environment-runtime.ts#L2885-L2921","documentation":"Worker-runtime failure in resolvePluginDriver: the plugin and its declared environment driver were found, but the plugin's worker process is not currently running (crashed, not spawned, or restarting). Without a live worker there is no RPC target for driver operations, so the environment driver call fails.","triggerScenarios":"Thrown at server/src/services/environment-runtime.ts:2716 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Start or restart the plugin worker for the environment driver, then retry."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}