Начало
Инструкция / 15 минут

Два аккаунта
Claude Code
на одном Mac

Закончился лимит на одном аккаунте? Переключись на второй одной командой. Настраивается за 15 минут, работает навсегда.


Зачем это нужно

У Claude Max есть лимит сообщений. Работаешь активно – он заканчивается. Вместо ожидания – переключаешься на второй аккаунт одной командой и продолжаешь.

Это как запасной ключ от квартиры. Потерял один – достал второй и зашёл.

Без настройки Лимит кончился → ждёшь сброса или вручную перелогиниваешься 5 минут
С настройкой Пишешь claude-second → через 1 секунду работаешь дальше

Что нужно
👉 В инструкции я называю аккаунты «Первый» и «Второй». Подставь свои имена. В конце – мой реальный пример.

Шаг 1 из 3: Сохраняем первый аккаунт

Ты сейчас залогинен в Claude Code под первым аккаунтом. Мы сохраним его данные, чтобы потом переключаться обратно.

1.1
Проверь, кто залогинен

Открой терминал и вставь:

Terminal
command claude auth status
📋 Показывает, под каким email ты сейчас залогинен. Запомни этот email.
1.2
Создай папку и сохрани данные

Скопируй этот блок целиком и вставь в терминал:

Terminal – скопируй всё сразу
# Создаём защищённую папку для профилей mkdir -p ~/.claude-profiles chmod 700 ~/.claude-profiles # Сохраняем токен первого аккаунта FIRST_TOKEN=$(security find-generic-password -s "Claude Code-credentials" -w 2>/dev/null) security add-generic-password -s "Claude-First" -a "first@example.com" -w "$FIRST_TOKEN" -U # Сохраняем профиль первого аккаунта python3 -c " import json d = json.load(open('$HOME/.claude.json')) with open('$HOME/.claude-profiles/first.oauthAccount.json','w') as f: json.dump(d['oauthAccount'], f, indent=2) print('Первый аккаунт сохранён:', d['oauthAccount']['emailAddress']) "
📋 Замени first@example.com на email первого аккаунта. Это просто метка, чтобы потом не путаться.
Что ты увидишь

Сообщение: Первый аккаунт сохранён: твой@email.com


Шаг 2 из 3: Добавляем второй аккаунт

Теперь выходим из первого аккаунта, заходим под вторым и сохраняем его точно так же.

2.1
Выйди из первого аккаунта
Terminal
command claude auth logout
📋 Именно auth logout, не просто logout. Без «auth» откроется чат вместо выхода.
2.2
Залогинься под вторым аккаунтом
Terminal
command claude auth login
📋 Откроется браузер. Войди под вторым email. Подтверди. В терминале появится: Login successful.
2.3
Сохрани данные второго аккаунта

Точно так же – копируешь блок и вставляешь:

Terminal – скопируй всё сразу
# Сохраняем токен второго аккаунта SECOND_TOKEN=$(security find-generic-password -s "Claude Code-credentials" -w 2>/dev/null) security add-generic-password -s "Claude-Second" -a "second@example.com" -w "$SECOND_TOKEN" -U # Сохраняем профиль второго аккаунта python3 -c " import json d = json.load(open('$HOME/.claude.json')) with open('$HOME/.claude-profiles/second.oauthAccount.json','w') as f: json.dump(d['oauthAccount'], f, indent=2) print('Второй аккаунт сохранён:', d['oauthAccount']['emailAddress']) "
📋 Замени second@example.com на email второго аккаунта.
Что ты увидишь

Сообщение: Второй аккаунт сохранён: второй@email.com


Шаг 3 из 3: Настраиваем переключение

Последний шаг. Добавляем в терминал три команды: переключить на первый, переключить на второй, узнать кто сейчас.

3.1
Добавь команды в настройки терминала

Скопируй весь блок ниже и вставь в терминал. Он сам допишет нужный код в файл настроек:

Terminal – скопируй весь блок
cat << 'ENDOFBLOCK' >> ~/.zshrc # --- Переключение между аккаунтами Claude Code --- _claude_switch() { local name="$1" keychain_name="$2" profile_file="$3" email="$4" local token profile token=$(security find-generic-password -s "$keychain_name" -w 2>/dev/null) if [ -z "$token" ]; then echo "Токен $name не найден. Выполни:" echo " command claude auth logout" echo " command claude auth login" echo "Потом пересохрани (шаги 1-2 из инструкции)" return 1 fi profile="$HOME/.claude-profiles/$profile_file" if [ ! -f "$profile" ]; then echo "Профиль $name не найден ($profile)" return 1 fi security delete-generic-password -s "Claude Code-credentials" >/dev/null 2>&1 security add-generic-password -s "Claude Code-credentials" -a "$USER" -w "$token" >/dev/null 2>&1 python3 -c " import json with open('$HOME/.claude.json') as f: data = json.load(f) with open('$profile') as f: data['oauthAccount'] = json.load(f) with open('$HOME/.claude.json', 'w') as f: json.dump(data, f, indent=2) " 2>/dev/null echo "Готово! Активный аккаунт: $name ($email)" echo "Перезапусти Claude Code (Ctrl+C, потом claude)" } claude-first() { _claude_switch "Первый" "Claude-First" "first.oauthAccount.json" "first@example.com" } claude-second() { _claude_switch "Второй" "Claude-Second" "second.oauthAccount.json" "second@example.com" } claude-whoami() { python3 -c " import json d = json.load(open('$HOME/.claude.json')) print('Аккаунт:', d.get('oauthAccount',{}).get('emailAddress','неизвестен')) " 2>/dev/null } ENDOFBLOCK source ~/.zshrc echo "Команды переключения установлены!"
📋 Этот блок автоматически дописывает нужный код в файл настроек терминала и сразу его активирует. Не нужно открывать файлы вручную.
✏️ Персонализация. В блоке выше замени first@example.com и second@example.com на свои email. Вместо claude-first и claude-second можешь написать свои имена, например claude-ivan и claude-work.
3.2
Проверь, что работает
Terminal – тест
claude-whoami claude-second claude-whoami claude-first claude-whoami
Готово!

Если email меняется при каждом переключении – всё настроено. Больше ничего делать не нужно.


Как пользоваться

Настройка закончена. Три команды на каждый день:

Команда Что делает
claude-first Переключает на первый аккаунт
claude-second Переключает на второй аккаунт
claude-whoami Показывает, кто сейчас активен
После переключения обязательно перезапусти Claude Code: нажми Ctrl+C в терминале, потом набери claude заново. Уже запущенная сессия использует старый аккаунт.
💻 VS Code тоже подхватит. Переключение работает для всего – и терминальный Claude Code, и расширение в VS Code. После переключения нажми Cmd+Shift+P → «Reload Window».

Частые вопросы
Пишет «Токен не найден» – что делать?

Токен «протух» (они живут примерно 10 часов). Нужно обновить:

  1. Выйди: command claude auth logout
  2. Войди нужным аккаунтом: command claude auth login
  3. Пересохрани токен (повтори шаг 1.2 или 2.3 из этой инструкции)
Пишет «command not found: claude-first»

Терминал не подгрузил настройки. Набери source ~/.zshrc и попробуй снова. Если не помогло – открой новое окно терминала.

Переключил, но Claude работает под старым аккаунтом

Нужно перезапустить Claude Code. Закрой текущий чат (Ctrl+C или /exit) и набери claude заново. Уже работающая сессия не перечитывает аккаунт автоматически.

Можно ли добавить третий аккаунт?

Да. Повтори шаги 2.1–2.3 для третьего аккаунта, только назови файлы и ключи по-другому (например, Claude-Third, third.oauthAccount.json). Добавь ещё одну функцию claude-third() по аналогии с первыми двумя.


Реальный пример

Вот как это настроено у меня – два аккаунта Claude Max на одном MacBook:

Имя Email Команда
Дмитрий ocifrolog@gmail.com claude-dmitriy
Митрофанов ledovskiigemini@gmail.com claude-mitrofanov

Как выглядит в терминале:

Пример работы
$ claude-whoami Аккаунт: ocifrolog@gmail.com $ claude-mitrofanov Готово! Активный аккаунт: Митрофанов (ledovskiigemini@gmail.com) Перезапусти Claude Code (Ctrl+C, потом claude) $ claude-whoami Аккаунт: ledovskiigemini@gmail.com

Одна команда – и готово.


Хочешь больше таких лайфхаков?

Инструкции, фишки и разборы по Claude Code, вайбкодингу и нейросетям – в моём Telegram-канале

Подписаться на канал

– Дмитрий Ледовских

* Meta Platforms Inc. признана экстремистской организацией, её деятельность запрещена на территории РФ.