Symfony's logout responds with a redirect, causing fetch to parse HTML as JSON and reject — .finally() ensures the UI always transitions. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>