# Claude Code

> Подключение Claude Code к шлюзу — переменные окружения, выбор модели и решение проблем.

Claude Code работает через `/v1/messages` в формате Anthropic.

## Быстрый старт

Задайте адрес, ключ и модель и запустите Claude Code:

```bash
export ANTHROPIC_BASE_URL=https://ai-seller.vibe-codes.ru
export ANTHROPIC_AUTH_TOKEN=$AISELLER_API_KEY
export ANTHROPIC_MODEL=gpt-5.6-sol
export ANTHROPIC_DEFAULT_HAIKU_MODEL=gpt-5.6-sol
claude
```

Чтобы не задавать переменные в каждом терминале, пропишите их в
`~/.claude/settings.json`:

```json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://ai-seller.vibe-codes.ru",
    "ANTHROPIC_AUTH_TOKEN": "$AISELLER_API_KEY",
    "ANTHROPIC_MODEL": "gpt-5.6-sol",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "gpt-5.6-sol"
  }
}
```

## Выбор модели

Модель обязательна: без `ANTHROPIC_MODEL` Claude Code запрашивает собственные
ID моделей (`claude-…`), которых может не быть в каталоге, и получает
`404 model_not_found`. `ANTHROPIC_DEFAULT_HAIKU_MODEL` — модель для фоновых
задач Claude Code; если переключаетесь командой `/model`, задайте также
`ANTHROPIC_DEFAULT_SONNET_MODEL` и `ANTHROPIC_DEFAULT_OPUS_MODEL`. ID берите из
[каталога](https://ai-seller.vibe-codes.ru/docs/models).

> Шлюз не переводит форматы, поэтому подойдёт только модель, провайдер которой
> поддерживает Anthropic Messages (см. [Обзор API](https://ai-seller.vibe-codes.ru/docs/endpoints#формат-запроса-и-модель)).

## Как это работает

- `ANTHROPIC_AUTH_TOKEN` уходит заголовком `Authorization: Bearer` — шлюз его
  принимает. Ключ из `ANTHROPIC_API_KEY` (заголовок `x-api-key`) тоже работает.
- Заголовки `anthropic-beta` провайдеру не передаются: бета-возможности API
  недоступны, Claude Code работает без них.
- Расход по запросам Claude Code виден в кабинете, как у любого ключа. Удобно
  завести для Claude Code отдельный ключ с лимитом трат.

## Решение проблем

| Симптом | Причина и решение |
| --- | --- |
| `404 model_not_found` | Не задана `ANTHROPIC_MODEL` или ID с опечаткой — сверьтесь с `GET /v1/models`. |
| `401 authentication_error` | Неверный или отозванный ключ; проверьте, что не задана одновременно другая `ANTHROPIC_API_KEY`. |
| `400 invalid_request_error` на каждый запрос | Провайдер модели не поддерживает формат Anthropic — выберите другую модель. |
| «Prompt is too long» | Контекст переполнен — Claude Code сам предложит `/compact`. |
| `429` | Слишком много параллельных запросов (например, несколько сессий) — Claude Code повторит сам. |
