`/login` and `/mcp` auth modals freeze inside `--resume` sessions

Resolved 💬 3 comments Opened Apr 27, 2026 by luphaz Closed Apr 27, 2026

Bug: /login and /mcp auth modals freeze inside --resume sessions

Version: Claude Code 2.1.119 (Homebrew cask, macOS)
Terminal: Ghostty (reproduces with and without tmux)

Repro:

  1. claude --permission-mode plan --worktree --resume
  2. Pick any prior session
  3. Type /login, complete the browser auth flow
  4. Terminal shows Login successful. Press Enter to continue… (with Esc to cancel underneath)
  5. Enter and Esc are both ignored. Force-quit is the only escape.

Same freeze happens with /mcp auth flows once a server prompts for a browser callback.

Negative cases (do NOT reproduce):

  • Fresh claude --permission-mode plan in /tmp — works
  • Fresh claude --permission-mode plan in a real git repo (no --worktree) — works
  • Fresh claude --permission-mode plan --worktree in a tiny throwaway repo — works
  • Fresh claude --permission-mode plan --worktree in a large (~500MB) monorepo — works

The trigger is specifically --resume + the OAuth-callback "Press Enter to continue" modal.

Workaround (validated):

  1. Fresh claude --permission-mode plan --worktree (no --resume)
  2. Run /login and any /mcp auth/enable/disable inside that fresh session
  3. Run /resume afterwards and pick up the prior conversation
  4. Both /login and /mcp modals work normally inside the resumed session afterwards

That suggests the resumed-session input loop isn't wired to receive the modal's Enter event on first OAuth-callback-modal invocation, but works once the modal handler has been established in some other session.

Hooks present (PreToolUse, PostToolUse) are unrelated — neither fires on /login. chrome-devtools-mcp --autoConnect (a known deadlock source) was already removed before this repro.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗