Claude CLI на Linux и macOS: установка и подключение к шлюзу
Ставим Claude Code на Linux и macOS, прописываем адрес и ключ в профиль оболочки и проверяем соединение запросом curl. Отдельно разобраны ошибки PATH и прав доступа.
5 мин · · разработка · API-ключи
Claude CLI на Linux и macOS ставится одной командой, но дальше начинаются мелочи: где окажется бинарник, в какой файл писать переменные и почему агент после установки «не находится». Эта статья проведёт от чистой системы до первого ответа модели через шлюз Zukko и разберёт частые сбои.
Что понадобится
По документации Anthropic, Claude Code работает на macOS 13 и новее, на Ubuntu 20.04+, Debian 10+ и Alpine Linux 3.19+. Нужно от 4 ГБ оперативной памяти и процессор x64 или ARM64. Подходят оболочки Bash и Zsh. Node.js для основного способа установки не требуется: нативный установщик ставит готовый бинарник. Node понадобится только в случае, если вы выберете npm.
Кроме машины нужен ключ шлюза: создайте его в кабинете. Полный ключ с префиксом fetch_ показывается один раз.
Claude CLI на Linux: способы установки
Нативный установщик (рекомендуется). Работает на macOS, Linux и WSL:
curl -fsSL https://claude.ai/install.sh | bashУстановщик не показывает прогресс, поэтому не пугайтесь тишины. Затем откройте новое окно терминала и проверьте:
claude --version
claude doctorclaude doctor печатает диагностику установки и настроек без запуска сессии. Нативные установки обновляются в фоне сами.
Homebrew на macOS:
brew install --cask claude-codeЕсть два варианта: claude-code следует за стабильным каналом, а claude-code@latest получает версии сразу. Homebrew не обновляет пакет автоматически, делайте brew upgrade claude-code.
Пакетные менеджеры Linux. Anthropic публикует подписанные репозитории для apt, dnf и apk. Для Ubuntu и Debian сначала скачивается ключ репозитория, сверяется отпечаток, затем добавляется строка в sources.list.d и выполняется sudo apt install claude-code. Точные команды и отпечаток ключа берите из официальной страницы установки, а не из чужих статей: ключ нужно проверить глазами.
npm. Вариант для тех, у кого уже есть Node.js:
npm install -g @anthropic-ai/claude-codeДокументация требует Node.js 22 или новее, хотя на более старой версии npm лишь выдаёт предупреждение EBADENGINE, а сам бинарник Node не использует. Обновление: npm install -g @anthropic-ai/claude-code@latest. Не используйте sudo npm install -g: это приводит к проблемам с правами и небезопасно.
Alpine. Нужны пакеты bash, curl, libgcc, libstdc++ и ripgrep, плюс настройка USE_BUILTIN_RIPGREP со значением 0 в settings.json:
apk add bash curl libgcc libstdc++ ripgrepОшибка «command not found: claude»
Самая частая беда после установки. Нативный установщик кладёт claude в ~/.local/bin, и если этой папки нет в PATH, оболочка команду не видит. Проверьте:
ls -la ~/.local/bin/claude
echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"Если первая команда находит файл, а вторая молчит, добавьте папку в профиль. Для Zsh (стандарт в macOS):
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrcДля Bash в Linux замените файл на ~/.bashrc, а в macOS с Bash — на ~/.bash_profile. После этого откройте новое окно терминала: уже запущенное окно сохраняет старый PATH. Терминал внутри редактора берёт PATH у редактора, поэтому редактор тоже перезапустите.
Если echo сообщает permission denied, значит файл профиля не принадлежит вашему пользователю или недоступен для записи. Исправьте владельца файла, а не запускайте команду от root.
Права доступа и EACCES
При установке через npm встречается EACCES: permission denied: глобальный каталог npm принадлежит root. Вместо sudo настройте для npm пользовательский префикс или переходите на нативный установщик, который пишет только в домашний каталог. Конкретные шаги по исправлению прав описаны в разделе про ошибки установки в документации Claude Code.
Подключаем шлюз Zukko
Теперь два параметра: адрес и токен. Для Claude Code адрес указывается без /v1, а токен передаётся именно через ANTHROPIC_AUTH_TOKEN. Добавьте в ~/.zshrc или ~/.bashrc:
export ANTHROPIC_BASE_URL=https://api.zukko.pro
export ANTHROPIC_AUTH_TOKEN=fetch_ваш_ключ
export ANTHROPIC_MODEL=claude-sonnet-5-5Примените изменения командой source ~/.zshrc. Альтернатива профилю — блок env в ~/.claude/settings.json: он действует везде, где запускается Claude Code, в том числе из IDE, которая не читает ваш .zshrc. Не кладите токен в .claude/settings.json внутри репозитория, этот файл обычно коммитят.
Перед запуском агента проверьте шлюз прямым запросом:
curl -sS -w '\n%{http_code}\n' -X POST "$ANTHROPIC_BASE_URL/v1/messages" \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model": "claude-sonnet-5-5", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'Ответ, начинающийся с {"id":"msg_, и код 200 означают, что адрес и ключ верны. Затем запустите claude и выполните /status: посмотрите, какой адрес API и какой способ авторизации использует сессия. Если там указан вход через аккаунт, а не ваш токен и адрес шлюза, переменные не дошли до сессии.
Разбор кодов ответа
| Код | Что значит | Что делать |
|---|---|---|
| 401 | неверный ключ или токен в не той переменной | проверьте ключ, используйте ANTHROPIC_AUTH_TOKEN |
| 402 | не хватает баланса | пополните баланс от $1 |
403, model_not_allowed_for_key | модель не разрешена для ключа | добавьте модель в список ключа |
404, model_not_found | неизвестное имя модели | сверьтесь с GET /v1/models |
| 429 | исчерпан дневной или месячный лимит ключа либо ограничение провайдера | поднимите лимит или подождите |
| 503 | провайдер недоступен или модель выключена | выберите другую модель из списка |
Если в окружении остались переменные с ключом Anthropic от старых экспериментов, уберите их, чтобы не путать источники учётных данных.
Сколько это стоит
Цены на 18 октября 2026: claude-sonnet-5-5 — $0.4 за 1M токенов входа и $2 за 1M выхода, чтение кэша $0.05, запись кэша $0.5. Пример для небольшой сессии: 300 000 токенов свежего входа, 700 000 чтения кэша, 50 000 записи кэша и 30 000 выхода:
0.3 × 0.4 + 0.7 × 0.05 + 0.05 × 0.5 + 0.03 × 2 = 0.12 + 0.035 + 0.025 + 0.06 = $0.24.
Скидку за кэш даёт Anthropic-формат, на котором работает Claude Code. Актуальный список цен — GET https://api.zukko.pro/v1/models или страница «Модели» в кабинете. Если хотите запускать агента на удалённом сервере, посмотрите статью про Claude Code по SSH, а общий порядок работы разобран в инструкции с нуля. Пошаговые параметры подключения собраны и в документации Zukko.
Частые вопросы
Нужен ли Node.js для Claude Code на Linux?
Для нативного установщика, Homebrew и пакетов apt, dnf, apk Node.js не нужен. Он требуется только при установке через npm.
Почему команда claude не находится сразу после установки?
Обычно папка ~/.local/bin не входит в PATH текущего окна терминала. Добавьте её в профиль оболочки и откройте новое окно.
Как обновить Claude Code?
Нативная установка обновляется в фоне, вручную работает claude update. Homebrew и пакетные менеджеры обновляются своими командами.
Как оплатить использование из России?
Через шлюз: баланс пополняется от $1 через СБП (платёжная страница добавляет комиссию 8,5%), картой MasterCard или криптовалютой.
zukko
Платите в 25×
меньше
за Claude Code & ChatGPT
Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.
Похожие статьи
- Свой прокси к нейросети на Node.js: не показывать API-ключ во фронтендеНебольшой сервер на Express между вашим фронтендом и API нейросети: ключ остаётся на сервере, а модели, длина запроса и частота ограничены.
- DeepSeek API на Python: запросы, стриминг, JSON и обработка ошибокГотовый код для DeepSeek V4.1 Flash и V4 Pro на OpenAI SDK: запрос, стриминг, разбор JSON и аккуратная обработка ошибок.
- Gemini API на Python: запросы через OpenAI SDK и OpenAI-форматРабочий пример Gemini API на Python без отдельной библиотеки: меняем base_url в OpenAI SDK, добавляем стриминг и JSON и сравниваем с google-genai.
- Anthropic SDK для Python: base_url, ключ и первый запрос через шлюзОфициальный пакет anthropic для Python нужно только направить на другой адрес. Разбираем base_url, ключ, стриминг, подсчёт токенов, кэш и ошибки.