paperclipai/paperclip · error

Plugin "${config.pluginKey}" does not declare environment dr

Error message

Plugin "${config.pluginKey}" does not declare environment driver "${config.driverKey}".

What it means

Manifest-contract failure in resolvePluginDriver: the plugin (config.pluginKey) is ready, but its manifest's environmentDrivers list contains no driver with driverKey === config.driverKey. The environment references a driver the plugin never declared, so the driver cannot be resolved and the call is rejected.

Source

Thrown at server/src/services/environment-runtime.ts:2900

  /**
   * Resolve the effective capability snapshot for one sandbox lease. This is
   * 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

View on GitHub (pinned to 01ad858492)

Solutions

  1. Fix the environment config to reference an environment driver the plugin actually declares.
  2. Update the plugin to declare the requested driver key.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at server/src/services/environment-runtime.ts:2713 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/77e954f3a787d6c5. Report an issue: GitHub.