{"record":{"id":"0882330a88b282c4","repo":"paperclipai/paperclip","slug":"working-directory-must-be-an-absolute-posix-path-o","errorCode":null,"errorMessage":"Working directory must be an absolute POSIX path on the remote target: \"${cwd}\"","messagePattern":"Working directory must be an absolute POSIX path on the remote target: \"(.+?)\"","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/adapter-utils/src/execution-target.ts","lineNumber":1089,"sourceCode":"          graceSec: 5,\n        },\n      );\n      if (!probe.timedOut && probe.exitCode === 0) {\n        return {\n          code,\n          level: \"info\",\n          message: `${detectCommand} already on PATH; skipped install.`,\n        };\n      }\n    } catch {\n      // Fall through to actually running the install — failure to probe\n      // is not a reason to skip the install gate.\n    }\n  }\n\n  let result;\n  try {\n    result = await runAdapterExecutionTargetShellCommand(input.runId, target, trimmed, {\n      cwd: target.remoteCwd,\n      env: input.env ?? {},\n      timeoutSec: input.timeoutSec ?? 240,\n      graceSec: 10,\n    });\n  } catch (err) {\n    return {\n      code,\n      level: \"warn\",\n      message: \"Install command threw before completion.\",\n      detail: err instanceof Error ? err.message : String(err),\n    };\n  }\n  const tail = (text: string) =>\n    text.split(/\\r?\\n/).filter((line) => line.trim().length > 0).slice(-3).join(\" | \").slice(0, 480);\n  if (result.timedOut) {\n    return {\n      code,","sourceCodeStart":1071,"sourceCodeEnd":1107,"githubUrl":"https://github.com/paperclipai/paperclip/blob/3f1d897a7c018d76563a21c6e39c3c9b03933622/packages/adapter-utils/src/execution-target.ts#L1071-L1107","documentation":"Path contract guard for remote execution targets: the requested working directory does not start with '/', but SSH/sandbox targets require absolute POSIX paths since they cannot interpret client-relative paths.","triggerScenarios":"Thrown at packages/adapter-utils/src/execution-target.ts:1039 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use an absolute POSIX path for the working directory on the remote target."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3f1d897a7c018d76563a21c6e39c3c9b03933622","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}