jackwener/OpenCLI · warning · CommandExecutionError
TRANSIENT_ACCESS
TRANSIENT_ACCESS
Error message
${payload.message || 'huodongxing events page returned a temporary busy/access page'} What it means
The extractor returned code 'TRANSIENT_ACCESS' — the site served a temporary busy/captcha/access-check page instead of event data. This CommandExecutionError is retryable from the same browser session.
Source
Thrown at clis/huodongxing/events.js:291
}
function requireExtractionRows(result) {
const payload = unwrapEvaluateResult(result);
if (payload?.ok === true && Array.isArray(payload.rows)) return payload.rows;
if (payload?.ok === true) {
throw new CommandExecutionError(
'huodongxing events returned malformed extraction rows',
'Expected browser extraction payload rows to be an array.',
);
}
if (payload?.code === 'RATE_LIMIT') {
throw new CommandExecutionError(
payload.message || 'huodongxing events was rate limited by www.huodongxing.com',
payload.hint || 'Wait a few minutes and retry from a real browser session.',
);
}
if (payload?.code === 'TRANSIENT_ACCESS') {
throw new CommandExecutionError(
payload.message || 'huodongxing events page returned a temporary busy/access page',
payload.hint || 'Wait and retry from the same browser session.',
);
}
if (payload?.code === 'INVALID_LIMIT') {
throw new ArgumentError(payload.message || 'huodongxing limit must be a positive integer <= 50');
}
if (payload?.code === 'EMPTY_RESULT') {
throw new EmptyResultError(
'huodongxing events',
payload.hint || 'No Huodongxing event cards were found. The page may be empty.',
);
}
throw new CommandExecutionError(
payload?.message || 'huodongxing events returned malformed extraction data',
payload?.hint || 'Huodongxing extraction did not return the expected structured payload.',
);
}View on GitHub (pinned to 49907e53dc)
Solutions
- Wait briefly and retry from the same browser session so the access challenge completes
- Use an interactive (non-fresh) browser profile with existing cookies
- Slow down or space out automated calls
- Retry after the site's access window clears
Defensive patterns
Strategy: retry
Try / catch
try { const rows = extractEventRows(limit); } catch (e) { if (e instanceof CommandExecutionError && /busy\/access page/.test(e.message)) { await sleep(30_000); return extractEventRows(limit); } throw e; } Prevention
- Reuse a warm browser session that has already passed the access check
- Avoid spawning many fresh sessions from one IP
- Retry from the SAME session — do not open a new one
- Reduce concurrency when running automated queries
When it happens
Trigger: huodongxing serving its WAF/access-check interstitial during extraction; payload has code: 'TRANSIENT_ACCESS'.
Common situations: First visit from a new session/IP triggering an access challenge; temporary site-side throttling; headless browser detected intermittently.
Related errors
- weixin search did not expose article result cards
- Not a git repository
- Working tree not clean: ${status}
- 1point3acres thread
- 1point3acres user
AI-assisted analysis of jackwener/OpenCLI@49907e53dc (2026-08-29).
Data as JSON: /api/errors/a01b5d30c76f0d0c.
Report an issue: GitHub.