{"record":{"id":"1a620e0cb4cd1b65","repo":"Mintplex-Labs/anything-llm","slug":"reason-no-document-returned-from-collector","errorCode":null,"errorMessage":"reason || \"No document returned from collector\"","messagePattern":"reason \\|\\| \"No document returned from collector\"","errorType":"http","errorClass":null,"httpStatus":500,"severity":"error","filePath":"server/endpoints/workspacesParsedFiles.js","lineNumber":147,"sourceCode":"    async function (request, response) {\n      try {\n        const user = await userFromSession(request, response);\n        const workspace = response.locals.workspace;\n        const Collector = new CollectorApi();\n        const { originalname } = request.file;\n        const processingOnline = await Collector.online();\n\n        if (!processingOnline) {\n          return response.status(500).json({\n            success: false,\n            error: `Document processing API is not online. Document ${originalname} will not be parsed.`,\n          });\n        }\n\n        const { success, reason, documents } =\n          await Collector.parseDocument(originalname);\n        if (!success || !documents?.[0]) {\n          return response.status(500).json({\n            success: false,\n            error: reason || \"No document returned from collector\",\n          });\n        }\n\n        // Get thread ID if we have a slug\n        const { threadSlug = null } = reqBody(request);\n        const thread = threadSlug\n          ? await WorkspaceThread.get({\n              slug: String(threadSlug),\n              workspace_id: workspace.id,\n              user_id: user?.id || null,\n            })\n          : null;\n        const files = await Promise.all(\n          documents.map(async (doc) => {\n            const metadata = { ...doc };\n            // Strip out pageContent","sourceCodeStart":129,"sourceCodeEnd":165,"githubUrl":"https://github.com/Mintplex-Labs/anything-llm/blob/3aec848f2885144aa8f1e53b9731a04310d5d558/server/endpoints/workspacesParsedFiles.js#L129-L165","documentation":"Propagation guard in the parse endpoint: the collector call returned success=false or no document object, meaning parsing was rejected or produced nothing; the collector's reason (or a no-document fallback) is returned as the error.","triggerScenarios":"The collector returned no document for a parse request. Triggered when the collector responds without document content (or an explicit reason) for a parsed file in workspacesParsedFiles.","commonSituations":"See trigger scenarios.","solutions":["Inspect the collector logs for the parse of this file — the collector returned success=false or no documents.","Verify the file type is supported by the collector and the file is not corrupted or empty.","Re-upload the file and retry parsing; check that the collector has write access to its storage/hotdir."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3aec848f2885144aa8f1e53b9731a04310d5d558","analyzedAt":"2026-08-18T10:02:21.017Z","contentChangedAt":"2026-08-18T10:02:21.017Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}