docs/manus.md
The Manus provider tracks credit usage on manus.im via browser session_id cookie authentication.
proMonthlyCredits − periodicCredits).MANUS_SESSION_TOKEN (raw token) or MANUS_COOKIE (full cookie header) for CLI/headless usage.manus.im, copy the Cookie: header from any API request (must contain session_id=...)MANUS_SESSION_TOKEN: the raw session_id value.MANUS_COOKIE: a full cookie header; the provider extracts session_id from it.Either works; raw-token form is preferred when only one value is needed.
A single API endpoint is fetched with a bearer token derived from the session_id cookie value:
POST https://api.manus.im/user.v1.UserService/GetAvailableCredits — returns credit fields including totalCredits, freeCredits, periodicCredits, proMonthlyCredits, refreshCredits, maxRefreshCredits, nextRefreshTime, and refreshInterval.Cookie domain: manus.im. Valid session_id cookies are cached in Keychain and reused until the session expires.
The response parser tolerates both a direct object and common envelope shapes (data / result / response / availableCredits). Payloads missing all expected credit fields are rejected as a parse error rather than surfacing a misleading zero-credit snapshot.
Manus supports multiple accounts via the standard token-account mechanism. Add entries to ~/.codexbar/config.json (tokenAccounts) with the full Cookie: header (containing session_id=...), then switch between accounts from the menu.
codexbar usage --provider manus --verbose
Log in to manus.im in a supported browser (Safari, Chrome, Firefox), then refresh CodexBar. Alternatively, set MANUS_SESSION_TOKEN or MANUS_COOKIE, or paste a cookie header in manual mode.
Your session has expired or been revoked. Log out and back in to Manus, or paste a fresh Cookie: header in manual mode.
The API returned a 200 response that doesn't look like a credits payload (often an error object). Re-login to Manus; if it persists, the upstream response schema may have changed.