Исправить двойной логин Anthropic: убрать claude auth login, запускать claude напрямую

В Claude Code v2.x команда "claude auth login" запускает полный интерактивный TUI
(включая "Welcome to Claude Code" и "Select login method"), а затем функция дополнительно
вызывала claude "$@" — вторая сессия. Пользователь проходил выбор типа аккаунта дважды.

Исправление: ветка [L] теперь запускает claude "$@" напрямую с нужными моделями
и сразу делает return "$?", не допуская повторного вызова claude снизу функции.
Claude сам обрабатывает весь auth flow (браузер → OAuth → выбор аккаунта) за одно
взаимодействие.

Добавлен тест test_fix8_no_double_login (3 проверки), итого 24/24.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-31 01:10:23 +07:00
parent 048f6b1770
commit 15c4727fb7
2 changed files with 44 additions and 7 deletions

View File

@@ -314,13 +314,17 @@ except: pass
case "${_ans:-L}" in
[Ll])
echo ""
echo "Открываю браузер для входа в Anthropic аккаунт..."
claude auth login || {
echo ""
echo -e "\033[0;31mНе удалось выполнить вход.\033[0m"
echo "Попробуйте вручную: claude auth login"
return 1
}
echo "Запускаю Claude Code — войдите в аккаунт Anthropic в интерфейсе..."
# claude auth login + claude "$@" вызывали двойной auth flow (v2.x запускает
# полный TUI внутри auth login). Запускаем claude напрямую: он сам откроет
# браузер и попросит выбрать тип аккаунта в одном взаимодействии.
ANTHROPIC_MODEL=claude-sonnet-4-6 \
ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-8 \
ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6 \
ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5-20251001 \
CLAUDE_CODE_SUBAGENT_MODEL=claude-haiku-4-5-20251001 \
claude "$@"
return "$?"
;;
[Kk])
echo ""