The top-level promptWithFallback bypassed the session-attached rich fallback path that runs isRetryableModelSelectionError + swapPromptSession, so errors like "No API key for provider: anthropic" propagated without trying the configured planning fallback. Restore the dispatch with a WeakSet re-entry guard that preserves the FN-4900 recursion fix for plugin-runtime sessions. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>