Claude Code умеет ходить в Anthropic-совместимый API по кастомному адресу. Достаточно задать две переменные окружения — дальше агент работает как обычно, без VPN.
Нужен Node.js 18 или новее. Сам Claude Code ставится одной командой:
терминал
npm install -g @anthropic-ai/claude-codeПроверьте версию: claude --version. Ключ cai-... возьмите в разделе API-ключи.
Claude Code читает базовый адрес и токен из окружения:
Добавьте в ~/.zshrc (или ~/.bashrc / ~/.bash_profile):
~/.zshrc
export ANTHROPIC_BASE_URL="https://api.cheapai.io"
export ANTHROPIC_AUTH_TOKEN="cai-..."Перезапустите терминал (или source ~/.zshrc) и запустите:
терминал
claude # дальше как обычноpowershell
[Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", "https://api.cheapai.io", "User")
[Environment]::SetEnvironmentVariable("ANTHROPIC_AUTH_TOKEN", "cai-...", "User")Закройте и откройте PowerShell заново, затем — claude.
Если не хотите задавать переменные глобально — можно передать их только на один запуск: ANTHROPIC_BASE_URL=https://api.cheapai.io ANTHROPIC_AUTH_TOKEN=cai-... claude.
Имя модели — как в каталоге. Указать модель на запуск:
терминал
claude --model claude-3-5-sonnetИли зафиксировать модель по умолчанию в ~/.claude/settings.json:
~/.claude/settings.json
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.cheapai.io",
"ANTHROPIC_AUTH_TOKEN": "cai-..."
},
"model": "claude-3-5-sonnet"
}Так настройку можно держать в одном файле, не трогая окружение.
Чтобы у конкретного репозитория были свои настройки — положите рядом .claude/settings.json с тем же содержимым. Этот файл можно закоммитить (без ключа — ключ оставьте в окружении), и вся команда будет ходить через шлюз с одинаковой моделью.
При самом первом старте Claude Code иногда показывает что-то вроде Unable to connect to Anthropic services или Failed to connect to api.anthropic.com — это онбординг-проверка, которая ещё не учитывает кастомный BASE_URL. Откройте и добавьте поле:
~/.claude.json~/.claude.json
{
"hasCompletedOnboarding": true
}Если в файле уже есть другие поля — добавьте "hasCompletedOnboarding": true в объект, не забыв запятую, чтобы JSON остался валидным. После этого запустите claude снова.
Другие частые ошибки и их коды — на странице Коды ошибок.
Дальше: Codex CLI · Cursor, Cline, Aider… · OpenAI-совместимый API.