[Bug] Transient advisor() failure permanently disables tool for entire session
Bug Description
Title: A single transient advisor()/subagent failure locks the tool for the entire session
What happened:
The advisor() tool (configured via advisorModel: fable) failed once — appearing to be a transient backend blip (Fable overload / rate limit). After that single failure, the tool returned a "do not retry" state and remained unavailable for the rest of the session. There was no way to retry within the same session.
Expected behavior:
A transient/one-off backend failure should not permanently disable the tool for the whole session. It should either retry with backoff, or at minimum recover on a subsequent call once the transient condition clears.
Actual behavior:
One transient failure → tool locked session-wide → recovery only possible by starting a brand-new session.
Repro / confirmation:
Starting a fresh session immediately restored the tool — the very first advisor() call in the new session succeeded. This confirms the failure was transient and that the persistent unavailability was a session-scoped lock, not a live/ongoing backend incident.
Impact:
A momentary blip costs the user the advisor for the entire session, which is a significant reliability/usability regression for anyone relying on the advisor workflow.
Suggested fix:
Make transient failures retryable within the sessset the lock on the next call) rather than latching into a permanent per-session disabled state.
Environment Info
- Platform: darwin
- Terminal: vscode
- Version: 2.1.201
- Feedback ID: 154c604c-de11-4d39-879d-0f028a533b51
Errors
[]