paperclipai/paperclip · error

Failed to move managed checkout into place at "${cwd}": ${re

Error message

Failed to move managed checkout into place at "${cwd}": ${reason}

What it means

Materialization race/failure in heartbeat workspace materialization: the staged clone succeeded but fs.rename from the temp dir into the final cwd failed for the stated reason. The temp clone is cleaned up; if the target appeared concurrently the caller may adopt that checkout, otherwise the managed checkout cannot be placed and the error propagates.

Source

Thrown at server/src/services/heartbeat.ts:1683

        eq(companySkillsTable.companyId, input.companyId),
        inArray(companySkillsTable.id, mentionedSkillIds),
      ),
    );
  const skillKeyById = new Map(skillRows.map((row) => [row.id, row.key]));
  return mentionedSkillIds
    .map((skillId) => skillKeyById.get(skillId) ?? null)
    .filter((skillKey): skillKey is string => Boolean(skillKey));
}

export function leaseReleaseStatusForRunStatus(
  status: string | null | undefined,
): Extract<EnvironmentLeaseStatus, "released" | "expired" | "failed"> {
  if (status === "cancelled") return "expired";
  return status === "failed" || status === "timed_out" ? "failed" : "released";
}

export interface NativeSandboxLifecycle {
  runnerProcess: "per_turn" | "warm";
  sandboxResource: "keep_running" | "stop_and_reuse" | "destroy_after_turn";
  failoverBackup: "verified";
}

export function resolveNativeSandboxLifecycle(input: {
  adapterType: string;
  lifecyclePolicy:
    | { mode: "per_turn"; idleTimeoutMs: null }
    | { mode: "warm"; idleTimeoutMs: number };
  target: {
    kind: "local" | "remote";
    transport?: string;
    reusableLeaseConfigured?: boolean;
    effectiveCapabilities?: { reusableLeases: boolean } | null;
  } | null;
}): NativeSandboxLifecycle | null {
  if (
    input.adapterType !== "paperclip_runner" ||

View on GitHub (pinned to 5716fe907e)

Solutions

  1. Fix the reported failure moving the checkout into place (permissions, existing files), then retry.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at server/src/services/heartbeat.ts:1679 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@5716fe907e (2026-08-18). Data as JSON: /api/errors/7f8a69613c1957ca. Report an issue: GitHub.