jackwener/OpenCLI · info · EmptyResultError
No connectors found.
Error message
No connectors found.
What it means
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.
Source
Thrown at clis/manus/connectors.js:31
siteSession: 'persistent',
navigateBefore: true,
args: [
{ name: 'limit', type: 'int', default: 50, help: 'Max connectors to return' },
],
columns: ['UID', 'Name', 'Brief'],
func: async (page, kwargs) => {
const limit = validatedLimit(kwargs?.limit, 50, 500);
await ensureOnManus(page);
const data = requireObject(await page.evaluate(`(async () => {
${MANUS_API_CALL_JS}
return callManusAPI('connectors.v1.ConnectorsService/ListConnectors', {});
})()`), 'connectors');
const connectors = requireArray(data.connectors, 'connectors');
if (!connectors.length) {
throw new EmptyResultError('manus connectors', 'No connectors found.');
}
return connectors.slice(0, limit).map((c, index) => ({
UID: requireString(c?.uid, `connector ${index + 1}`),
Name: requireString(c?.name, `connector ${index + 1}`),
Brief: (c.brief || '—').slice(0, 60),
}));
},
});
View on GitHub (pinned to 49907e53dc)
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
Example fix
// before
if (!connectors.length) {
throw new EmptyResultError('manus connectors', 'No connectors found.');
}
// after (caller-side guard instead of a hard throw)
try {
const rows = await manusConnectors();
} catch (e) {
if (e instanceof EmptyResultError) return [];
throw e;
} Defensive patterns
Strategy: fallback
Try / catch
try {
const connectors = await manusConnectors({ limit: 50 });
} catch (e) {
if (e instanceof EmptyResultError) {
return []; // treat as 'no connectors', not a failure
}
throw e;
} Prevention
- 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
When it happens
Trigger: 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.
Common situations: 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.
Understand the failure class
Background: EmptyResultError / "no results found": when an API or scraper succeeds but returns zero rows — this error's family across 9 libraries.
Related errors
AI-assisted analysis of jackwener/OpenCLI@49907e53dc (2026-08-29).
Data as JSON: /api/errors/3941e6cfdf3d55c5.
Report an issue: GitHub.