{"record":{"id":"3941e6cfdf3d55c5","repo":"jackwener/OpenCLI","slug":"no-connectors-found","errorCode":null,"errorMessage":"No connectors found.","messagePattern":"No connectors found\\.","errorType":"exception","errorClass":"EmptyResultError","httpStatus":null,"severity":"info","filePath":"clis/manus/connectors.js","lineNumber":31,"sourceCode":"    siteSession: 'persistent',\n    navigateBefore: true,\n    args: [\n        { name: 'limit', type: 'int', default: 50, help: 'Max connectors to return' },\n    ],\n    columns: ['UID', 'Name', 'Brief'],\n    func: async (page, kwargs) => {\n        const limit = validatedLimit(kwargs?.limit, 50, 500);\n        await ensureOnManus(page);\n\n        const data = requireObject(await page.evaluate(`(async () => {\n            ${MANUS_API_CALL_JS}\n            return callManusAPI('connectors.v1.ConnectorsService/ListConnectors', {});\n        })()`), 'connectors');\n\n        const connectors = requireArray(data.connectors, 'connectors');\n\n        if (!connectors.length) {\n            throw new EmptyResultError('manus connectors', 'No connectors found.');\n        }\n\n        return connectors.slice(0, limit).map((c, index) => ({\n            UID: requireString(c?.uid, `connector ${index + 1}`),\n            Name: requireString(c?.name, `connector ${index + 1}`),\n            Brief: (c.brief || '—').slice(0, 60),\n        }));\n    },\n});\n","sourceCodeStart":13,"sourceCodeEnd":41,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/manus/connectors.js#L13-L41","documentation":"The manus connectors command calls the ConnectorsService/ListConnectors RPC via the browser session and throws EmptyResultError when the API succeeds but returns an empty connectors array. It is not a failure of the call itself — the account genuinely has no connectors to list.","triggerScenarios":"Running `manus connectors` against a Manus account or workspace that has zero connectors registered, or where ListConnectors returns { connectors: [] } for the current user's scope.","commonSituations":"Brand-new Manus account with no integrations configured; connected to the wrong workspace/org that has no connectors; connectors were deleted or revoked; API scoping changed so personal connectors are no longer visible to the endpoint.","solutions":["Add connectors in the Manus web UI (settings/integrations) and rerun the command","Verify you are authenticated as the workspace/account you expect — check with the manus whoami/auth command","Pass a larger --limit if you suspect truncation (though empty results are not caused by limit)","If you believe connectors exist, check whether Manus changed the ListConnectors scoping and file/inspect the RPC response"],"exampleFix":"// before\nif (!connectors.length) {\n    throw new EmptyResultError('manus connectors', 'No connectors found.');\n}\n// after (caller-side guard instead of a hard throw)\ntry {\n    const rows = await manusConnectors();\n} catch (e) {\n    if (e instanceof EmptyResultError) return [];\n    throw e;\n}","handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n  const connectors = await manusConnectors({ limit: 50 });\n} catch (e) {\n  if (e instanceof EmptyResultError) {\n    return []; // treat as 'no connectors', not a failure\n  }\n  throw e;\n}","preventionTips":["Expect EmptyResultError on fresh accounts and handle it as a normal empty state","Confirm the authenticated account/workspace before concluding data is missing","Configure connectors in the Manus UI before scripting against them","Distinguish empty results from auth errors by catching EmptyResultError separately from AuthRequiredError"],"tags":["empty-result","connectors","api"],"backgroundTag":"empty-result-set","analyzedSha":"49907e53dc3ade5c223ff0c4c2c2785687cec4e6","analyzedAt":"2026-08-29T08:14:47.543Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}