PurpleSchool — курсы программирования онлайн
  • Пути
    • Frontend React разработчик
    • Frontend Vue разработчик
    • Backend разработчик Node.js
    • Fullstack разработчик React / Node.js
    • Mobile разработчик React Native
    • Backend разработчик Golang
    • Devops инженер
    • Backend разработчик Python
  • AI для кодаНовое
  • О нас
    • Отзывы
    • Реферальная программа
    • О компании
    • Контакты
  • Иконка открытия меню
    • Сообщество
    • PurpleПлюс
    • AI Собеседование
    • AI тренажёр
    • Проекты
PurpleSchool — платформа бесплатных roadmap и курсов для разработчиков
ютуб иконка
Telegram иконка
VK иконка
VK иконка
Курсы
ГлавнаяКаталог курсовFrontendBackendFullstack
Практика
КарьераПроектыPurpleПлюс
Материалы
БлогБаза знаний
Документы
Договор офертаПолитика конфиденциальностиПроверка сертификатаМиграция курсовРеферальная программа
Реквизиты
ИП Ларичев Антон АндреевичИНН 773373765379contact@purpleschool.ru

PurpleSchool © 2020 -2026 Все права защищены

  • Курсы
    • FrontendИконка стрелки
    • AI разработкаИконка стрелки
    • BackendИконка стрелки
    • DevOpsИконка стрелки
    • MobileИконка стрелки
    • ТестированиеИконка стрелки
    • Soft-skillsИконка стрелки
    • ДизайнИконка стрелки
    Иконка слояПерейти в каталог курсов
  • Бесплатно
    • Курсы
    • JavaScript Основы разработкиPython Основы PythonCSS CSS FlexboxКарта развитияВопросы для собеседований
    • База знанийИконка стрелки
    • Новостные рассылкиИконка стрелки
  • PurpleSchool — курсы программирования онлайн
    • AI для кодаНовое
    • Сообщество
    • PurpleПлюс
    • AI Собеседование
    • AI тренажёр
    • Проекты
    Главная
    Сообщество
    Codex или Claude Code: что выбрать разработчику в 2026

    Codex или Claude Code: что выбрать разработчику в 2026

    Аватар автора Codex или Claude Code: что выбрать разработчику в 2026

    Антон Ларичев

    Иконка календаря21 сентября 2026
    Claude CodeopenaiAI-инструментыDevOpsразработкаmiddleИконка уровня middle
    Картинка поста Codex или Claude Code: что выбрать разработчику в 2026

    Codex или Claude Code: что выбрать разработчику в 2026

    Короткий ответ: Codex CLI берут, когда важны открытый код, управляемая песочница и работа из терминала по правилам, которые вы задали сами; Claude Code — когда нужен агент с многоуровневой системой настроек и правами, которые можно закоммитить в репозиторий и раздать команде. Оба ставятся через npm, оба живут в терминале и оба умеют MCP — но конфигурируются принципиально по-разному, и именно на этом чаще всего спотыкаются при переходе с одного на другой. Ниже — сравнение по шести практическим осям, без бенчмарков и маркетинга: только то, что можно проверить в документации и в своём конфиге.

    Сравнительная таблица Codex CLI и Claude Code: лицензия, язык, формат конфига, файл инструкций, формат MCP

    Codex и Claude Code: в чём разница на уровне подхода

    Codex CLI — агент OpenAI, который репозиторий описывает как «lightweight coding agent that runs in your terminal». Он написан на Rust, лежит в открытом репозитории openai/codex и распространяется под лицензией Apache-2.0. Ставится пакетом npm:

    npm install -g @openai/codex
    codex --version
    

    Claude Code — агент Anthropic, который ставится так же просто:

    npm install -g @anthropic-ai/claude-code
    

    Разница начинается сразу за установкой. Codex отдаёт вам один конфигурационный файл и один файл инструкций — всё в вашем распоряжении, всё правится руками. Claude Code выстраивает иерархию: настройки читаются из нескольких файлов с чёткой очерёдностью, часть из них предназначена для коммита в репозиторий, часть — личная и остаётся вне git. Если вы работаете один, первый подход проще. Если агента разворачивают на команду, второй даёт то, чего у Codex нет из коробки.

    Формат конфигурации: config.toml против settings.json

    Codex хранит конфигурацию в TOML. Пользовательский файл — ~/.codex/config.toml, проектный — .codex/config.toml, но проектный Codex читает только в доверенных проектах и игнорирует в нём часть ключей: провайдера, авторизацию, настройки уведомлений и телеметрии переопределить из репозитория нельзя, они остаются машинно-локальными.

    Модель и провайдер задаются двумя ключами, а сам провайдер описывается отдельной секцией:

    model = "<MODEL_NAME>"
    model_provider = "purpleschool"
    
    [model_providers.purpleschool]
    name = "PurpleSchool OpenAI Proxy"
    base_url = "https://app.purpleschool.ru/api-v2/public/ai-proxy/openai/v1"
    env_key = "PURPLESCHOOL_API_KEY"
    wire_api = "responses"
    supports_websockets = false
    

    Ключ env_key здесь — это имя переменной окружения, из которой Codex возьмёт ключ. Сам ключ в файл не кладут:

    export PURPLESCHOOL_API_KEY="ваш ключ"
    

    Claude Code хранит настройки в JSON и читает их из нескольких файлов сразу. От самого приоритетного к наименее приоритетному: управляемые настройки организации, флаг claude --settings, затем .claude/settings.local.json (личные правки в одном проекте), .claude/settings.json (общий файл проекта, его коммитят) и ~/.claude/settings.json (ваши настройки для всех проектов на машине). На Windows ~/.claude означает %USERPROFILE%.claude.

    Переменные окружения Claude Code читает напрямую из shell:

    export ANTHROPIC_API_KEY="ваш ключ"
    export ANTHROPIC_BASE_URL="https://app.purpleschool.ru/api-v2/public/ai-proxy/anthropic"
    

    Здесь важная деталь, которая ломает интуицию после Codex: переменные окружения у Claude Code — не отдельный уровень приоритета. Какое значение победит, решается для каждой пары «переменная — ключ настроек» по-своему. ANTHROPIC_MODEL, экспортированная в shell, перебьёт ключ model из любого файла, а ANTHROPIC_DEFAULT_MODEL сработает только тогда, когда model не задан нигде. Если вы привыкли, что экспорт всегда главнее файла, это место стоит перечитать в документации перед отладкой.

    Есть ещё файл ~/.claude.json — его Claude Code пишет сам, руками туда лезть не нужно. Он хранит сессию входа, конфигурацию MCP-серверов и состояние по проектам.

    Два конфига рядом: config.toml для Codex CLI и settings.json для Claude Code

    Если разница в синтаксисе кажется мелочью — она перестаёт ей быть, когда конфиг переезжает между машинами. Подробнее про то, как переменные окружения подхватываются оболочкой и почему export в одной сессии не виден в другой, разобрано в справочнике по переменным окружения в bash.

    AGENTS.md и CLAUDE.md: как агенты читают инструкции проекта

    Оба агента умеют читать текстовый файл с правилами проекта, но ищут его по-разному.

    Codex работает с AGENTS.md. Глобальный файл — ~/.codex/AGENTS.override.md, а если его нет, то ~/.codex/AGENTS.md. Дальше Codex идёт от корня проекта (обычно это корень git-репозитория) вниз до текущей рабочей директории и в каждой папке проверяет сначала AGENTS.override.md, потом AGENTS.md, потом дополнительные имена файлов, если вы их задали в конфиге. Найденные файлы склеиваются сверху вниз через пустую строку: из каждой директории берётся не больше одного файла, а тот, что ближе к рабочей директории, попадает в промпт последним и потому перебивает более общие правила. Суммарный размер ограничен ключом project_doc_max_bytes — по умолчанию 32 KiB.

    Claude Code исторически использует CLAUDE.md и ищет его на четырёх уровнях: управляемый файл организации, ~/.claude/CLAUDE.md, проектный ./CLAUDE.md или ./.claude/CLAUDE.md и личный ./CLAUDE.local.md, который добавляют в .gitignore. Файлы не переопределяют друг друга, а конкатенируются: содержимое выстраивается от корня файловой системы вниз к рабочей директории, а внутри каждой папки CLAUDE.local.md дописывается после CLAUDE.md. Файлы из подпапок подгружаются не на старте, а в тот момент, когда Claude открывает файл в этой подпапке.

    Практически важный момент для тех, кто держит в проекте оба агента: Claude Code умеет читать AGENTS.md, а Codex CLAUDE.md не читает. По умолчанию Claude берёт AGENTS.md только тогда, когда в рабочей директории и выше нет ни CLAUDE.md, ни .claude/CLAUDE.md, ни CLAUDE.local.md. Если нужно, чтобы читались оба файла, в настройках проекта выставляют режим claude-md-and-agents-md — тогда в каждой директории сначала идёт CLAUDE.md, следом AGENTS.md. Чтение AGENTS.md напрямую доступно начиная с версии Claude Code 2.1.277.

    Вывод для смешанной команды простой: держите правила в AGENTS.md, а CLAUDE.md заводите только если Claude нужны отдельные инструкции. Как устроен сам формат и что в него писать — в отдельном разборе: AGENTS.md: как написать инструкции для Codex и OpenCode.

    Подключение MCP-серверов: TOML против JSON и CLI

    MCP поддерживают оба агента, но описывают серверы в разных форматах.

    У Codex сервер объявляется секцией [mcp_servers.<id>] в том же config.toml. Транспорт выбирается по набору ключей: command означает stdio, url — HTTP:

    [mcp_servers.context7]
    command = "npx"
    args = ["-y", "@upstash/context7-mcp"]
    

    Записи можно не писать руками, а добавлять командой codex mcp — она правит тот же ~/.codex/config.toml.

    У Claude Code серверы добавляют через CLI, и от выбранной области зависит, куда запись ляжет:

    # только этот проект, запись в ~/.claude.json, приватно
    claude mcp add my-server -- npx -y some-mcp-server
    
    # этот проект, запись в .mcp.json в корне — файл коммитят
    claude mcp add --scope project my-server -- npx -y some-mcp-server
    
    # все проекты, запись в ~/.claude.json
    claude mcp add --scope user my-server -- npx -y some-mcp-server
    

    Двойное тире отделяет опции Claude от команды запуска сервера — без него аргументы уедут не туда. Проектный .mcp.json выглядит так:

    {
      "mcpServers": {
        "my-server": {
          "type": "stdio",
          "command": "npx",
          "args": ["-y", "some-mcp-server"]
        }
      }
    }
    

    Управляются серверы командами claude mcp list, claude mcp get <name> и claude mcp remove <name>. Разбор обоих форматов с удалёнными серверами и переменными окружения — в статье MCP в Codex CLI и OpenCode.

    Права и песочница: чем агенту можно рисковать

    Здесь подходы расходятся сильнее всего.

    Codex оперирует режимом песочницы и политикой подтверждений. Режимы: read-only — агент читает файлы, но не правит и не запускает команды без разрешения; workspace-write — читает, правит в пределах рабочей директории и выполняет обычные локальные команды, это режим по умолчанию; danger-full-access — границы по файловой системе и сети снимаются полностью. Политика подтверждений — on-request (агент работает в песочнице и спрашивает, когда нужно выйти за её границы) или never. Задаётся это ключами sandbox_mode и approval_policy в config.toml либо флагами --sandbox и --ask-for-approval при запуске.

    Claude Code вместо режимов песочницы даёт правила на уровне отдельных инструментов. В settings.json описываются списки allow, ask и deny:

    {
      "permissions": {
        "allow": [
          "Bash(npm run *)",
          "Bash(git commit *)"
        ],
        "deny": [
          "Bash(git push *)"
        ]
      }
    }
    

    Поверх этого работают режимы разрешений, которые выбираются ключом defaultMode: acceptEdits автоматически принимает правки файлов, plan разрешает только чтение и разведку без изменения исходников, bypassPermissions пропускает запросы почти полностью — его держат для изолированных окружений вроде контейнеров.

    Разница по смыслу такая: Codex ограничивает агента по периметру — что он вообще может трогать. Claude Code ограничивает по действиям — какие конкретно команды разрешены. Второй подход выигрывает, когда правила надо закоммитить и раздать команде: файл .claude/settings.json для этого и существует. Первый проще, когда вы работаете один и вам достаточно решить, пускать агента за пределы рабочей папки или нет.

    Что бы вы ни выбрали, правки агента стоит читать глазами перед коммитом — git diff остаётся главным инструментом контроля.

    Лицензия и открытость кода

    Codex CLI открыт: репозиторий openai/codex опубликован под Apache-2.0, написан на Rust, исходники можно прочитать, собрать и пропатчить.

    У Claude Code иначе. Публичный репозиторий anthropics/claude-code содержит changelog, примеры, плагины и служебные скрипты, но не исходный код CLI, и открытой лицензии в привычном смысле у него нет. Системный промпт Anthropic также не публикует — документация говорит об этом прямо и предлагает задавать поведение через CLAUDE.md или флаг --append-system-prompt.

    Для большинства команд это не решающий фактор. Он становится решающим, когда инструмент нужно аудировать, собирать самостоятельно или разворачивать в закрытом контуре.

    Схема выбора между Codex CLI и Claude Code по типовым сценариям работы

    Codex или Claude Code: что выбрать под свои задачи

    Когда лучше Codex CLI

    Вы работаете в терминале и хотите один понятный файл конфигурации вместо иерархии. Вам нужен открытый код — аудит, сборка из исходников, патчи под себя. Вы предпочитаете думать о правах в терминах периметра: «сюда агенту можно, дальше — нет», и вас устраивает workspace-write по умолчанию. Или у вас уже лежит AGENTS.md, и вы не хотите заводить второй файл инструкций.

    Когда лучше Claude Code

    Агента разворачивают на команду, и правила должны жить в репозитории: .claude/settings.json коммитится, а .claude/settings.local.json остаётся личным. Нужны точечные разрешения на уровне команд, а не общий режим песочницы. В проекте уже есть AGENTS.md от другого агента — Claude Code прочитает его без переделки. Или вам важна связка с IDE: расширение для VS Code ставится отдельно и настраивается через settings.json редактора.

    Выбирать «навсегда» не обязательно. Оба агента читают AGENTS.md, оба держат MCP-серверы, оба ставятся через npm — поставить второй и сравнить на своём проекте дешевле, чем читать сравнения.

    Как подключить Codex и Claude Code из России без VPN

    Главное ограничение в России — не выбор агента, а доступ. И OpenAI, и Anthropic блокируют запросы из российских сетей и не принимают российские карты, поэтому вопрос «Codex или Claude Code» на практике часто превращается в «что из этого вообще удастся запустить».

    Обходится это подменой base URL на прокси, который принимает оплату в рублях. У PurpleSchool AI for Code один ключ работает с обоими агентами — меняются только адрес и переменная окружения.

    Для Claude Code достаточно двух переменных:

    export ANTHROPIC_API_KEY="ваш ключ"
    export ANTHROPIC_BASE_URL="https://app.purpleschool.ru/api-v2/public/ai-proxy/anthropic"
    source ~/.zshrc
    

    Для Codex — переменная с ключом и блок провайдера в ~/.codex/config.toml из раздела про конфигурацию выше. На Windows файл лежит по пути $env:USERPROFILE.codex\config.toml.

    Если настраивать руками не хочется, есть автонастройка:

    npx @purpleschool/ai-for-code
    

    Тарифы на сентябрь 2026 — 499, 1 199 и 2 499 ₽ в месяц, они различаются объёмом токенов. Пошаговые инструкции с разбором частых ошибок — в отдельных статьях: Codex в России и Claude Code в России.

    Коротко

    Codex CLI — открытый Rust-агент с одним TOML-конфигом и песочницей по периметру. Claude Code — проприетарный агент с иерархией JSON-настроек и правами на уровне команд, рассчитанной на командную работу. Инструкции проекта лучше держать в AGENTS.md: его читают оба. MCP поддерживают оба, но Codex описывает серверы в config.toml, а Claude Code — через claude mcp add и .mcp.json. Из России оба запускаются через прокси с рублёвой оплатой, и один ключ закрывает сразу оба.

    Иконка глаза6

    Комментарии

    0

    Постройте личный план изучения JavaScript с нуля - основы языка и практика для начинающих до уровня Middle — бесплатно!

    JavaScript с нуля - основы языка и практика для начинающих — часть карты развития Frontend, Backend, Mobile

    • step100+ шагов развития
    • lessons30 бесплатных лекций
    • lessons300 бонусных рублей на счет

    Бесплатные лекции

    Лучшие курсы по теме

    изображение курса

    Продвинутый JavaScript

    Антон Ларичев
    AI-тренажерыAI-тренажеры
    Практика в студииПрактика в студии
    Гарантия
    Бонусы
    иконка звёздочки рейтинга4.8
    3 999 ₽ 6 990 ₽
    Подробнее
    изображение курса

    TypeScript с нуля

    Антон Ларичев
    AI-тренажерыAI-тренажеры
    Практика в студииПрактика в студии
    Гарантия
    Бонусы
    иконка звёздочки рейтинга4.8
    3 999 ₽ 6 990 ₽
    Подробнее
    изображение курса

    Neovim

    Антон Ларичев
    Гарантия
    Бонусы
    иконка звёздочки рейтинга4.8
    3 999 ₽ 6 990 ₽
    Подробнее

    Похожие статьи

    Иконка аватараАнтон
    Иконка календаря20 сентября 2026
    AI-инструментыopenaiDevOps+ 2middleИконка уровня middle

    MCP в Codex CLI и OpenCode: как подключить сервер

    Чтобы подключить MCP-сервер к Codex CLI, добавьте таблицу `[mcp_servers.<имя>]` в файл `~/.codex/config.toml`. В OpenCode то же самое делается в `opencode.json` — там сервера описываются объектами ...

    Иконка чипа0
    Иконка глаза64
    Иконка комментариев0
    Картинка поста AGENTS.md: как написать инструкции для Codex и OpenCode
    Иконка аватараАнтон
    Иконка календаря19 сентября 2026
    AI-инструментыopenaiDevOps+ 1middleИконка уровня middle

    AGENTS.md: как написать инструкции для Codex и OpenCode

    AGENTS.md — это файл в корне репозитория, из которого кодовый агент узнаёт, как собирать проект, чем запускать тесты и каких соглашений держаться. Формат...

    Иконка чипа0
    Иконка глаза144
    Иконка комментариев0
    Иконка аватараАнтон
    Иконка календаря18 сентября 2026
    AI-инструментыDevOpsразработка+ 1middleИконка уровня middle

    Cursor в России: подключение и настройка без VPN

    Cursor в России ставится и запускается — упирается всё не в сам редактор, а в доступ к моделям: подписку не оплатить российской картой, а без оплаченного доступа агент в IDE молчит. Обходной путь не требует ни VPN, ни зарубежного счёта: Cursor остаётся вашим редактором, а агент внутри него — Clau...

    Иконка чипа0
    Иконка глаза299
    Иконка комментариев0
    Иконка чипа0