You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Title: OOC detection misclassifies provider rate-limit ("too many tokens ... Please wait a moment before retrying") as context overflow → recovery permanently halted #46
When the provider returns a rate-limit / throttling error whose message contains
"too many tokens", the plugin treats it as an out-of-context (OOC) error,
latches oocLocked=true and halts all recovery, leaving the session frozen
forever (continue prompts are refused) until the user sends a new message.
Triggering error (from logs)
AI_APICallError: You have sent too many tokens to CodiX in a short period.
Please wait a moment before retrying.
... - stream error ... error.error="AI_APICallError: You have sent too many tokens to CodiX in a short period. Please wait a moment before retrying."
... - Streaming failure detected on ...i6ouNvBl: errorName=ContextOverflowError, ...
... - OOC error latched, halting recovery (reason: You have sent too many tokens to CodiX in a short period. Please wait a moment before retrying.)
... - Pending recovery triggered on ...i6ouNvBl: reason=ContextOverflowError, attempt=1, maxRetries=3
After this the session only logs user recently active, skipping periodic open-todos nudge
forever — sendContinuePrompt() refuses because of oocLocked.
Root cause
OOC_ERROR_RE in dist/index.js includes the bare pattern too many tokens:
varOOC_ERROR_RE=/exceedstheavailablecontextsize|contextsize\(\d+\)|toolargetocompact|toomanytokens|promptistoolong/i;Thismatchestherate-limitmessage"You have sent too many tokens ..."andtheOOClatch(if(!w.oocLocked&&OOC_ERROR_RE.test(...)))thenblockssendContinuePrompt()(oocLockedlatched,refusingfurthercontinueprompts).Note: thesamemessagealsotriggersisStreamingFailureviathebroad"too many tokens"pattern,buttheOOClatchisindependentofthatcheckandcannotbedisabledbyanyconfigoption(theregexisahardcodedconstant).
Activity
fix: throttle phrasing never verdicts as OOC (Mte90/opencode-auto-res…
fix(v2): throttle phrasing never latches OOC (upstream issue Mte90#46)