jackwener/OpenCLI · info · AuthRequiredError

Waiting for Jike login: ${detail}

Error message

Waiting for Jike login: ${detail}

What it means

AuthRequiredError with domain 'web.okjike.com' thrown by the jike login poll handler. The poll calls requireJikeIdentity(page); if that throws (identity not yet available), the error is converted into an AuthRequiredError whose detail is 'Waiting for Jike login: <original message>'. It signals that the user has not completed login in the automated browser yet.

Source

Thrown at clis/jike/auth.js:26

// from the /1.0/users/profile endpoint rather than from the token or a cookie.
async function verifyJikeIdentity(page) {
  await page.goto('https://web.okjike.com/');
  await page.wait(2);
  return requireJikeIdentity(page);
}

registerSiteAuthCommands({
  site: 'jike',
  domain: 'web.okjike.com',
  loginUrl: 'https://web.okjike.com/login',
  columns: ['user_id', 'screen_name', 'username'],
  verify: verifyJikeIdentity,
  poll: async (page) => {
    try {
      return await requireJikeIdentity(page);
    } catch (error) {
      const detail = error instanceof Error ? error.message : String(error);
      throw new AuthRequiredError(
        'web.okjike.com',
        detail ? `Waiting for Jike login: ${detail}` : 'Waiting for Jike login',
      );
    }
  },
});

View on GitHub (pinned to 49907e53dc)

Solutions

  1. Complete the login in the opened browser window; the poll succeeds once requireJikeIdentity passes
  2. Finish any SMS/captcha verification step that is blocking identity establishment
  3. If login appears done but the error persists, inspect the inner detail message (after 'Waiting for Jike login:') for the exact failing check
  4. Restart the login flow if the browser or page was closed early
  5. Verify the profile retains the Jike session cookie before retrying

Example fix

// before
opencli jike login  // poll: AuthRequiredError 'Waiting for Jike login: not signed in'
// after: user completes login; poll returns identity
{ ...identity }
Defensive patterns

Strategy: try-catch

Validate before calling

// before polling, confirm the user can reach the logged-in surface
await page.goto('https://web.okjike.com/');
if (/login|signin/i.test(page.url())) console.log('Not signed in yet — complete login in the browser');

Type guard

function isWaitingForJikeLogin(e) {
  return e instanceof Error && /Waiting for Jike login/.test(e.message);
}

Try / catch

try {
  await poll();
} catch (e) {
  if (isWaitingForJikeLogin(e)) {
    // expected while the user is logging in: keep waiting / prompt user
    console.warn(e.message.replace('Waiting for Jike login: ', 'hint: '));
  } else throw e;
}

Prevention

When it happens

Trigger: Running the jike login command while the user has not finished logging in at web.okjike.com; requireJikeIdentity fails each poll tick because the session/identity markers are absent.

Common situations: User mid-typing credentials or completing SMS/captcha during interactive login; login completed but identity check runs before the page state updates; browser closed before login finished; Jike session cookie domain/path mismatch.

Related errors


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