jackwener/OpenCLI · error · AuthRequiredError

Authentication required — please sign in to Manus in the bro

Error message

Authentication required — please sign in to Manus in the browser

What it means

AuthRequiredError thrown by requireObject() when the in-page payload contains __authRequired, meaning Manus's site JS reported the user is not signed in. The message is taken from the payload or defaults to this sign-in prompt for the manus.com domain.

Source

Thrown at clis/manus/_utils.js:64

    }
    return payload;
}

function extractErrorMessage(payload) {
    if (!payload || typeof payload !== 'object') return '';
    const candidates = [
        payload.message,
        payload.error,
        payload.errorMessage,
        payload.details,
    ];
    return candidates.find((value) => typeof value === 'string' && value.trim())?.trim() || '';
}

export function requireObject(payload, label) {
    const value = unwrapEvaluateResult(payload);
    if (value?.__authRequired) {
        throw new AuthRequiredError(MANUS_DOMAIN, value.message || 'Authentication required — please sign in to Manus in the browser');
    }
    if (value?.__httpError) {
        const message = extractErrorMessage(value);
        throw new CommandExecutionError(message ? `Manus ${label} failed (HTTP ${value.__httpError}): ${message}` : `Manus ${label} failed (HTTP ${value.__httpError})`);
    }
    if (value?.__error) {
        throw new CommandExecutionError(`Manus ${label} failed: ${value.message || value.__error}`);
    }
    if (!value || typeof value !== 'object' || Array.isArray(value)) {
        throw new CommandExecutionError(`Manus ${label} returned a malformed API payload`);
    }
    return value;
}

export function requireArray(value, label) {
    if (!Array.isArray(value)) {
        throw new CommandExecutionError(`Manus ${label} returned a malformed API payload`);
    }

View on GitHub (pinned to 49907e53dc)

Solutions

  1. Open manus.com in the automated/browser profile and sign in.
  2. Re-run the command after confirming the dashboard loads in that same browser.
  3. Clear stale cookies and log in again if the session is corrupt.
  4. Check you are pointing the CLI at the correct browser profile with Manus cookies.
Defensive patterns

Strategy: try-catch

Type guard

function isAuthRequired(v) { return v != null && typeof v === 'object' && v.__authRequired === true; }

Try / catch

try {
  const data = await manusData();
} catch (e) {
  if (e instanceof AuthRequiredError || /Authentication required/.test(e.message)) {
    console.error('Open manus.com in the browser and sign in, then re-run.');
    process.exitCode = 1;
  } else throw e;
}

Prevention

When it happens

Trigger: Any manus command (data, connectors, sessions, skills, user) whose browser-evaluate call returns {__authRequired: true} because Manus API responses are 401 without a valid session.

Common situations: Session cookie expired, logged out in the browser, using a fresh browser profile the CLI can't see cookies from, Manus rotating auth requiring re-login.

Understand the failure class

Related errors


AI-assisted analysis of jackwener/OpenCLI@49907e53dc (2026-08-29). Data as JSON: /api/errors/9699c44dc9027b70. Report an issue: GitHub.