Claude Key SwitcherПереключение API-ключей (и base URL) для Claude Code прямо из VS Code — в один клик, с индикатором активного ключа в статус-баре. Claude Code читает Возможности
УстановкаИз готового
|
| Настройка | По умолчанию | Что делает |
|---|---|---|
claudeKeys.baseUrl |
"" |
Общий base URL. Пусто — плагин не трогает ANTHROPIC_BASE_URL, используется тот, что уже в конфиге Claude. |
claudeKeys.reloadAfterSwitch |
ask |
ask / always / never — перезагружать ли окно после переключения. |
claudeKeys.autoFailover |
false |
Включить авто-переключение при отказе активного ключа. |
claudeKeys.healthCheckIntervalMinutes |
10 |
Период проверки для авто-фейловера. |
claudeKeys.healthCheckModel |
claude-3-5-haiku-20241022 |
Модель для проверочного запроса. |
claudeKeys.requestTimeoutMs |
15000 |
Таймаут проверки. |
Команды
Все доступны из Command Palette (Ctrl+Shift+P → Claude Keys):
Переключить ключ, Добавить ключ, Изменить ключ, Удалить ключ, Проверить ключ,
Задать base URL, Импортировать текущий ключ, Показать активный ключ,
Открыть settings.json Claude Code, Перезагрузить окно.
Ограничения
- Нужна перезагрузка окна. Claude Code (и его расширение) получает env при старте процесса. Плагин меняет файл, но уже запущенная сессия продолжит работать со старым ключом до перезагрузки окна / нового процесса.
- Переменные окружения ОС имеют приоритет. Если
ANTHROPIC_AUTH_TOKENзадан в системных переменных Windows,settings.jsonего не переопределит. Проверьте:Get-ChildItem Env:ANTHROPIC_*. - Настройки проекта важнее пользовательских. Если в папке проекта есть
.claude/settings.local.jsonили.claude/settings.jsonсANTHROPIC_AUTH_TOKEN, они перебьют~/.claude/settings.json. Если переключение «не сработало» — проверьте эти файлы в первую очередь. - Настройка
claudeCode.environmentVariables(в настройках VS Code) тоже задаёт env для процесса Claude Code. Если ключ прописан и там, он может перебивать плагин — статус-бар покажет предупреждение. Плагин эту настройку не трогает: держите ключ в одном месте. - Авто-фейловер реагирует только на явные отказы авторизации/лимита (401/403/429) — он не читает трафик Claude Code, а периодически пингует активный ключ.
- Ключи хранятся в SecretStorage. Если удалить расширение, они пропадут — держите копию в менеджере паролей.
Разработка
npm install # зависимости (typescript, @types/vscode, vsce)
npm run compile # tsc -> out/
npm test # node --test по чистым модулям (без vscode)
npm run package # .vsix в корне
Структура:
src/claudeSettings.ts— чтение/запись~/.claude/settings.json(без зависимости отvscode, покрыт тестами).src/profiles.ts— модель именованных ключей, маскирование, валидация.src/health.ts— проверочный запрос к/v1/messages.src/tree.ts— панель со списком ключей.src/extension.ts— команды, статус-бар, авто-фейловер.
Публикация
npm run package→.vsix(личная установка).npm run publish:marketplace→ VS Code Marketplace (нужен PAT, см.PUBLISHING.md).npm run publish:openvsx→ Open VSX (VSCodium, Gitpod, Theia).
Лицензия
MIT