paperclipai/paperclip · error

Cannot capture a Daytona template without a setup sandbox…

Error message

Cannot capture a Daytona template without a setup sandbox lease.

What it means

Precondition check in onEnvironmentCaptureTemplate: template capture was requested without a providerLeaseId, meaning there is no active interactive-setup sandbox lease to snapshot. Daytona can only capture a template from a live setup sandbox, so capture-from-nothing is rejected before the activity gate.

Solutions

  1. Start a setup sandbox lease before capturing a template.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/plugins/sandbox-providers/daytona/src/plugin.ts:2393 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@3f1d897a7c (2026-08-18). Data as JSON: /api/errors/1dcaacf4fc3ce41a. Report an issue: GitHub.

Appendix: source

Thrown at packages/plugins/sandbox-providers/daytona/src/plugin.ts:2510

      driverKey: params.driverKey,
      companyId: params.companyId,
      environmentId: params.environmentId,
      providerLeaseId: params.providerLeaseId,
      config,
    };
    return await withSandboxActivityGate(scope, async () => {
      const sandbox = await getSandboxOrNull(scope, { bypassTeardownGate: true });
      if (!sandbox) {
        return {
          providerLeaseId: null,
          status: "missing",
          connectionSummary: null,
          connectionPayload: null,
          metadata: {
            provider: "daytona",
            missing: true,
          },
        };
      }

      await ensureSandboxStarted(sandbox, toTimeoutSeconds(config.timeoutMs));
      const remoteCwd = await resolveSandboxWorkingDirectory(sandbox);
    const shellCommand = await detectSandboxShellCommand(sandbox, toTimeoutSeconds(config.timeoutMs));
    const connection = params.includeConnectionPayload === true
      ? await createSshConnection(sandbox, resolveConnectionExpiresInMinutes(params.connectionExpiresInMinutes))
      : {
          connectionSummary: {
            type: "ssh" as const,
            username: "token",
            hostRedacted: true,
            portRedacted: true,
            commandRedacted: true,
            metadata: {
              provider: "daytona",
            },
          },

View on GitHub (pinned to 3f1d897a7c)