paperclipai/paperclip · error

git ${args.join(" ")} failed

Error message

git ${args.join(" ")} failed

What it means

A git command run by runGit exited non-zero and produced no stderr/stdout text to report, so the generic fallback message names the failed git subcommand. The real cause is whatever git command failed; capture output is empty.

Source

Thrown at server/src/services/workspace-runtime.ts:907

    stdout: stdout.text,
    stderr: stderr.text,
    code: proc.code,
    stdoutTruncated: stdout.truncated,
    stderrTruncated: stderr.truncated,
    stdoutBytes: stdout.totalBytes,
    stderrBytes: stderr.totalBytes,
  };
}

async function runGit(args: string[], cwd: string, opts?: { env?: NodeJS.ProcessEnv }): Promise<string> {
  const proc = await executeProcess({
    command: "git",
    args,
    cwd,
    env: opts?.env,
  });
  if (proc.code !== 0) {
    throw new Error(proc.stderr.trim() || proc.stdout.trim() || `git ${args.join(" ")} failed`);
  }
  return proc.stdout.trim();
}

async function runExpensiveGitStatus(input: {
  args: readonly string[];
  cwd: string;
  operation: string;
  fairnessKeys?: readonly string[];
}): Promise<string> {
  const result = await workspaceGitOperationScheduler.run({
    workspacePath: input.cwd,
    args: input.args,
    operation: input.operation,
    fairnessKeys: input.fairnessKeys,
    cacheTtlMs: 0,
  });
  return result.stdout.trim();

View on GitHub (pinned to a7e689b3c3)

Solutions

  1. The git command failed. Run the same command manually in the workspace to see the error and fix the repository state.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at server/src/services/workspace-runtime.ts:867 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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