{"record":{"id":"1826426bcc7ee8c6","repo":"paperclipai/paperclip","slug":"issue-tree-hold-not-found","errorCode":null,"errorMessage":"Issue tree hold not found","messagePattern":"Issue tree hold not found","errorType":"http","errorClass":null,"httpStatus":404,"severity":"error","filePath":"server/src/routes/issue-tree-control.ts","lineNumber":354,"sourceCode":"      includeMembers,\n    });\n    res.json(holds);\n  });\n\n  router.get(\"/issues/:id/tree-holds/:holdId\", async (req, res) => {\n    assertBoard(req);\n    const root = await getAccessibleResource(req, res, resolveRootIssue(req), \"Root issue not found\");\n    if (!root) return;\n\n    const holdId = req.params.holdId as string;\n    if (!isUuidLike(holdId)) {\n      res.status(400).json({ error: \"Invalid hold ID\" });\n      return;\n    }\n\n    const hold = await treeControlSvc.getHold(root.companyId, holdId);\n    if (!hold || hold.rootIssueId !== root.id) {\n      res.status(404).json({ error: \"Issue tree hold not found\" });\n      return;\n    }\n    res.json(hold);\n  });\n\n  router.post(\n    \"/issues/:id/tree-holds/:holdId/release\",\n    validate(releaseIssueTreeHoldSchema),\n    async (req, res) => {\n      assertBoard(req);\n      const root = await getAccessibleResource(\n        req,\n        res,\n        resolveRootIssue(req),\n        \"Root issue not found\",\n      );\n      if (!root) return;\n","sourceCodeStart":336,"sourceCodeEnd":372,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/server/src/routes/issue-tree-control.ts#L336-L372","documentation":"Error \"Issue tree hold not found\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at server/src/routes/issue-tree-control.ts:341 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the id in the request path or body refers to an existing record in this company; re-list the parent collection to get a valid id.","Check that the record was not deleted or archived, and that the request is scoped to the correct companyId."],"exampleFix":null,"handlingStrategy":null,"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-14T05:17:10.506Z"}