paperclipai/paperclip · error
Plugin environment driver "${pluginDriverProviderKey(config)
Error message
Plugin environment driver "${pluginDriverProviderKey(config)}" has no running worker. What it means
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.
Source
Thrown at server/src/services/environment-runtime.ts:2903
* the sandbox driver's implementation of the general capability-resolution
* method: it gates through {@link ENVIRONMENT_DRIVER_CAPABILITY_SUPPORT}'s
* `sandbox` support (the whole set, so this gate adds no restriction beyond
* declaration, verification, and narrowing), then reads the per-lease
* declaration, the live verified worker methods, and the per-lease
* narrowing, exactly as the runtime resolved them before this method
* existed.
*/
async function resolveSandboxCapabilitiesForLease(
input: EnvironmentDriverLeaseInput,
): Promise<EffectiveExecutionCapabilities> {
const metadata = input.lease.metadata ?? {};
const providerKey =
readString(metadata.provider) ??
(input.environment.driver === "sandbox"
? readString((parseEnvironmentDriverConfig(input.environment).config as SandboxEnvironmentConfig).provider)
: null);
if (!providerKey) {
return classifyEnvironmentCapabilities({
verifiedMethods: [],
declared: null,
narrowing: null,
supportedCapabilities: ENVIRONMENT_DRIVER_CAPABILITY_SUPPORT.sandbox.supportedCapabilities,
});
}
let declared: SandboxProviderCapabilities | null = null;
let verifiedMethods: readonly string[] = [];
let configResolutionFailed = false;
if (metadata.sandboxProviderPlugin) {
const pluginId = readString(metadata.pluginId);
// Read the declaration from the exact plugin that acquired the lease,
// not the first installed plugin with this driver key. A driver key is
// only unique inside one manifest, so two plugins can share it. The
// by-key resolver could intersect this lease's verified methods with a
// different plugin's declaration. This resolver fails closed: it returnsView on GitHub (pinned to 01ad858492)
Solutions
- Start or restart the plugin worker for the environment driver, then retry.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/services/environment-runtime.ts:2716 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-08-18).
Data as JSON: /api/errors/3ff4ab5e6bf5438c.
Report an issue: GitHub.