Normal authentication failures (401 Unauthorized, 403 Forbidden, session expired) are not backend errors — they simply mean the user isn't logged in. Previously these fell through to the `instanceof Error` catch-all and returned "backend", causing a misleading "having trouble connecting" banner. Now classifyAuthError explicitly checks for invalid_credentials and session_expired codes from parseAuthError and returns null, so the UI shows the logged-out state cleanly without an error banner. Co-Authored-By: Claude Opus 4.6 <[email protected]>