mirror of
https://github.com/0xWheatyz/handler.git
synced 2026-08-30 15:46:25 +00:00
1fe260ebe4
Reproduced the failure against a real claude 2.1 in tmux. Two root causes, both now fixed (the URL was never wrong — claude genuinely emits `claude.com/cai/oauth/authorize`, so extraction was fine): 1. Submit race (the actual failure). `send_keys` sent the code and Enter together; for a long real code the Enter is processed before Ink commits the paste, so nothing submits — the session sits at "Paste code here > ****…", exactly what the activity log showed. Fix: deliver the code as a bracketed paste (tmux set-buffer/paste-buffer, new tmux.send_text), let it settle, then send Enter separately (tmux.send_enter). Verified end-to-end: the separate Enter submits and claude proceeds to the exchange. 2. Fragile onboarding. A fresh claude shows a theme picker, then the login-method menu, before any URL — the old blind /login+Enter+Enter only reached the menu by luck. Fix: start() now reads the pane each pass and reacts — accept theme/trust/continue prompts, pick the default subscription option on the login-method menu, and send /login once only when already onboarded at the REPL. Also: confirm login by watching ~/.claude.json (where claude stores the account on Linux) plus a success-text fallback, and fail fast on an "OAuth error / Press Enter to retry" screen instead of waiting out the poll. Tests updated to the real TUI screen text. Suite green (200). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YKVyBmKvWDVgrFC9WER2f2