{"record":{"id":"262dc66f71646875","repo":"paperclipai/paperclip","slug":"config-not-found-at-configpath-262dc6","errorCode":null,"errorMessage":"Config not found at ${configPath}.","messagePattern":"Config not found at (.+?)\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/src/commands/worktree.ts","lineNumber":461,"sourceCode":"      assertStorageCompanyPrefix(companyId, objectKey);\n      const { sdk, client } = await getS3Client();\n      await client.send(\n        new sdk.PutObjectCommand({\n          Bucket: bucket,\n          Key: buildS3ObjectKey(prefix, objectKey),\n          Body: body,\n          ContentType: contentType,\n          ContentLength: body.length,\n        }),\n      );\n    },\n  };\n}\n\nfunction openConfiguredStorage(configPath: string): ConfiguredStorage {\n  const config = readConfig(configPath);\n  if (!config) {\n    throw new Error(`Config not found at ${configPath}.`);\n  }\n  return createConfiguredStorageFromPaperclipConfig(config);\n}\n\nasync function streamToBuffer(stream: NodeJS.ReadableStream): Promise<Buffer> {\n  const chunks: Buffer[] = [];\n  for await (const chunk of stream) {\n    chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));\n  }\n  return Buffer.concat(chunks);\n}\n\nexport function isMissingStorageObjectError(error: unknown): boolean {\n  if (!error || typeof error !== \"object\") return false;\n  const candidate = error as { code?: unknown; status?: unknown; name?: unknown; message?: unknown };\n  return candidate.code === \"ENOENT\"\n    || candidate.status === 404\n    || candidate.name === \"NoSuchKey\"","sourceCodeStart":443,"sourceCodeEnd":479,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/cli/src/commands/worktree.ts#L443-L479","documentation":"Bootstrap guard when opening worktree storage: the given storage config file path does not exist or could not be read as a Paperclip config, so no storage backend (S3 or local) can be constructed for attachment operations.","triggerScenarios":"Thrown at cli/src/commands/worktree.ts:428 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the config path; pass --config or run from the instance directory containing the config."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}