paperclipai/paperclip · error

Kubernetes post-upload command failed (exit ${result.exitCod

Error message

Kubernetes post-upload command failed (exit ${result.exitCode})${detail ? `: ${detail}` : ""}

What it means

Error "Kubernetes post-upload command failed (exit ${result.exitCode})${detail ? `: ${detail}` : ""}" thrown in paperclipai/paperclip.

Source

Thrown at packages/plugins/sandbox-providers/kubernetes/src/file-sync.ts:672

    const wrapper = [
      ...canonicalizerPreamble(shQuote(remoteDir)),
      `_pc_real=$(_pc_resolve "$1") || { echo "ESCAPE" >&2; exit 42; };`,
      `case "$_pc_real/" in "$_pc_root"/*) : ;; *) echo "ESCAPE" >&2; exit 42 ;; esac;`,
      `exec 9<"$_pc_real" || { echo "open failed" >&2; exit 46; };`,
      `_pc_fd_real=$(_pc_resolve /proc/self/fd/9) || { echo "ESCAPE" >&2; exit 42; };`,
      `case "$_pc_fd_real/" in "$_pc_root"/*) : ;; *) echo "ESCAPE" >&2; exit 42 ;; esac;`,
      `cd /proc/self/fd/9 || { echo "cd failed" >&2; exit 46; };`,
      `exec /bin/sh -c "$2" pc-post-upload;`,
    ].join("\n");
    const commandTimeoutMs = command.timeoutMs ?? timeoutMs;
    // Positional args: $0=pc-post-upload, $1=cwd, $2=the verbatim command string.
    const result = await exec(["/bin/sh", "-c", wrapper, "pc-post-upload", cwd, command.command], {
      timeoutMs: commandTimeoutMs,
      maxStderrBytes: SYNC_STDERR_CAP_BYTES,
    });
    if (result.exitCode !== 0) {
      const detail = (result.stderr || "").trim();
      throw new Error(
        `Kubernetes post-upload command failed (exit ${result.exitCode})${detail ? `: ${detail}` : ""}`,
      );
    }
  }
}

export async function performSyncIn(input: {
  exec: PodStreamExec;
  operations: PluginSyncOperation[];
  remoteDir: string;
  timeoutMs: number;
}): Promise<PluginEnvironmentSyncResult> {
  const operations: PluginEnvironmentSyncResult["operations"] = [];
  for (const operation of input.operations) {
    let filesTransferred = 0;
    let bytesTransferred = 0;

    const fileMappings = operation.files.filter((mapping) => mapping.kind === "file");

View on GitHub (pinned to 120ae5428f)

Solutions

  1. Inspect the exit code and detail; fix the post-upload command and retry.

When it happens

Trigger: Thrown at packages/plugins/sandbox-providers/kubernetes/src/file-sync.ts:672 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18). Data as JSON: /api/errors/d68be4a0557338ce. Report an issue: GitHub.