Desktop app: OAuth authorize flow navigates the working chat away, with no back navigation anywhere in the app

Status Open
Maintainer reply None cached
Activity 1 comment · opened Aug 11, 2026

Environment

  • Claude desktop app 1.26832.0, macOS (Darwin 27.0)
  • Claude Code session open in the Code tab at the time

What happened

  1. Working in a Claude Code chat in the desktop app.
  2. A CLI login on another machine produced an authorize link. Clicking it opened in the desktop app — in the same window, replacing the working chat.
  3. Completed the flow: authorized, copied the code, pasted it into the CLI. That machine is now logged in.
  4. The desktop app window is stranded on the OAuth copy-code page. There is no way back:
  • A full accessibility dump of the app's menu bar shows the only navigation controls in the entire app are File > New Conversation (Cmd+N), View > Reload This Page (Cmd+R), and View > Copy URL. No Back, no Forward, no History menu, no in-page back affordance.
  • The page's "Try again" button can never succeed: the authorization code is single-use and was already redeemed, so it re-submits a dead grant, fails, and lands back on the same page.
  1. Only discovered escape: Cmd+R (fails first, then recovers) or Cmd+N (loses your place; the session survives in recents but you have to go dig it out). Most users will quit and relaunch the app.

Expected

Minimum: the copy-code page needs a "Done" link that returns the window to the chat it interrupted.

Ideally the page shouldn't need manual dismissal at all: the server knows the moment the other machine redeems the code — login succeeding on the CLI should dismiss the page and restore the prior view on its own. The underlying principle either way: an auth flow should never leave the working window somewhere it can't come back from.

This is a routine flow for anyone running Claude Code on more than one machine — every fleet login risks torching the window you were working in.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗