{"record":{"id":"edaf16bca6a2d439","repo":"paperclipai/paperclip","slug":"git-args-join-failed","errorCode":null,"errorMessage":"git ${args.join(\" \")} failed","messagePattern":"git (.+?) failed","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/src/services/workspace-runtime.ts","lineNumber":907,"sourceCode":"    stdout: stdout.text,\n    stderr: stderr.text,\n    code: proc.code,\n    stdoutTruncated: stdout.truncated,\n    stderrTruncated: stderr.truncated,\n    stdoutBytes: stdout.totalBytes,\n    stderrBytes: stderr.totalBytes,\n  };\n}\n\nasync function runGit(args: string[], cwd: string, opts?: { env?: NodeJS.ProcessEnv }): Promise<string> {\n  const proc = await executeProcess({\n    command: \"git\",\n    args,\n    cwd,\n    env: opts?.env,\n  });\n  if (proc.code !== 0) {\n    throw new Error(proc.stderr.trim() || proc.stdout.trim() || `git ${args.join(\" \")} failed`);\n  }\n  return proc.stdout.trim();\n}\n\nasync function runExpensiveGitStatus(input: {\n  args: readonly string[];\n  cwd: string;\n  operation: string;\n  fairnessKeys?: readonly string[];\n}): Promise<string> {\n  const result = await workspaceGitOperationScheduler.run({\n    workspacePath: input.cwd,\n    args: input.args,\n    operation: input.operation,\n    fairnessKeys: input.fairnessKeys,\n    cacheTtlMs: 0,\n  });\n  return result.stdout.trim();","sourceCodeStart":889,"sourceCodeEnd":925,"githubUrl":"https://github.com/paperclipai/paperclip/blob/a7e689b3c35347b529cb9f54c9b9a8575a3dcab6/server/src/services/workspace-runtime.ts#L889-L925","documentation":"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.","triggerScenarios":"Thrown at server/src/services/workspace-runtime.ts:867 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The git command failed. Run the same command manually in the workspace to see the error and fix the repository state."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a7e689b3c35347b529cb9f54c9b9a8575a3dcab6","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}