Managed Policy в Claude Code: ресёрч и публичный репо

Sergey Golubev 2026-04-22 6 мин чтения
🌐 Read in English

Cutaway-иллюстрация двухуровневого офиса. Сверху четверо IT-администраторов стоят у большого пульта с рядами тумблеров и индикаторов; над панелями светящиеся надписи PERMISSIONS, MCP, MODELS, HOOKS. Между ярусами прозрачный стеклянный пол с этчингом MANAGED POLICY. Внизу опен-спейс: семеро разработчиков сидят за ноутбуками с открытым Claude Code. От пульта вниз к каждому ноутбуку тянутся тонкие светящиеся линии, визуализирующие поток правил. Тёмные синие тона сверху, тёплый янтарный свет снизу.

На занятии про AI-IDE меня спросили про верхний уровень настроек Claude Code. Тот, что конфигурирует IT-отдел компании и который пользователь обойти не может.

Сам с этим не работал (пользуюсь личной CC лицензией), пришлось отдельно собрать ресёрч.

Выложил в публичный репозиторий: github.com/Serg1kk/claude-code-managed-policy.

Ниже ключевое, что выяснилось. Целевая аудитория: все, кто-то будет раскатывать Claude Code на команду от 10 человек и выше.

Что обычно пишут в community-гайдах

Если погуглить «Claude Code managed policy», в большинстве материалов тема сводится к одному файлу. Managed CLAUDE.md. Markdown с поведенческими инструкциями, который IT кладёт в системную директорию. Пользователь исключить его не может, модель читает каждую сессию.

Звучит понятно. Но этого мало для реального enterprise.

На самом деле два файла, и чаще пропускают primary

Managed policy в Claude Code это два файла с разными задачами. Если знаете только про один, видите меньше половины контролей.

managed-settings.json - primary, hard enforcement. JSON, клиент читает при старте каждой сессии. Здесь живут: permissions (что можно и нельзя, вплоть до конкретных bash-команд), allowlist моделей (запретить всё кроме Anthropic = BYOK блокировка), MCP allow/deny, hooks, sandbox, обязательный login method. Модель физически не получит доступ к запрещённому тулу. Это не «инструкция, которую можно проигнорировать», это enforcement на уровне клиента.

Около 95% compliance-требований решает именно этот файл.

Managed CLAUDE.md - secondary, behavioral. Тот самый, про который пишут все. Behavioral instructions: тон, coding standards, company context. Инжектится в контекст каждой сессии как user-message.

Ключевой нюанс, цитата с AI Dev Conf (Максим Этихлид, техлид): CLAUDE.md инжектится как user-context, не в system prompt. Модель может его проигнорировать, особенно при перегруженном контексте. Для критичных требований полагаться на CLAUDE.md ненадёжно. Нужны hooks + permissions в managed-settings.json.

Три механизма доставки, не один MDM

В community-гайдах пишут про один: MDM. На самом деле три, и на managed-уровне они взаимоисключающие.

A. MDM / OS-level policies. Классика. Jamf Pro, Kandji, Microsoft Intune, Group Policy. Anthropic публикует официальные starter templates для всех четырёх платформ. Для Linux только community-гайды (Ansible/Puppet/Chef).

B. Drop-in директория managed-settings.d/. Появилась в v2.1.83, упоминается редко. Модульная композиция policy. Файлы с числовыми префиксами (10-security.json, 20-devops.json, 30-compliance.json) мержатся в systemd-стиле. Разные команды (InfoSec, DevOps, Compliance) пишут свои части независимо. Не надо координировать монолитный JSON.

C. Server-managed settings. Запущено в Q4 2025. MDM не требуется. Админ настраивает policy в Claude.ai admin-консоли, backend пушит на клиент при логине. Работает на BYOD и unmanaged-устройствах. Уникально среди AI-инструментов: Cursor, Copilot и Codex все требуют device management для org-level enforcement. Минимум: Teams v2.1.38+ или Enterprise v2.1.30+.

Bypass: что работает, что нет

Можно ли эту policy проигнорировать?

Короткий ответ: в клиенте - нет. Длинный:

  • claude --setting-source local не отключает managed. Прямая цитата Anthropic из issue #11872: «Enterprise policies are not intended to be overridable». Закрыт as-by-design в декабре 2025.
  • --dangerously-skip-permissions глушится через managed disableBypassPermissionsMode: "disable".
  • env vars и пользовательский claudeMdExcludes на managed CLAUDE.md не действуют.

Единственная щель: .claude/rules/*.md (project-level модульные rules). Пользователь может их исключить через claudeMdExcludes в своих настройках. Feature request claudeMdRequires (issue #34349) открыт, не реализован. Workaround: класть обязательное в монолитный managed CLAUDE.md, модульные rules оставлять для guidance, не для enforcement.

Детали, которые разошлись с популярными гайдами

Три конкретных расхождения с community-материалами.

Windows canonical path. Почти везде пишут C:\ProgramData\ClaudeCode\. С v2.1.75 этот путь deprecated. Канонический теперь C:\Program Files\ClaudeCode\. Подтверждено официальными docs: «The legacy Windows path C:\ProgramData\ClaudeCode\managed-settings.json is no longer supported as of v2.1.75». Community-зеркала вроде claude.yourdocs.dev всё ещё показывают старый.

Linux canonical path. Часть источников говорит /etc/claude/, правильно /etc/claude-code/ с дефисом.

Две env vars в community-forks. CLAUDE_MANAGED_SETTINGS_PATH и CLAUDE_CODE_DISABLE_CLAUDE_MDS=1 упоминаются в mintlify-style зеркалах документации. В официальных Anthropic docs v2.1.x их нет. Может быть legacy, может community-миф. Пометил как unverified, в template не заложил. Тестируйте в своей среде перед тем как полагаться.

Когда это пригодится

Любая команда, которая раскатывает Claude Code, упирается в один из четырёх вопросов от разных стейкхолдеров. Managed policy surface даёт на них конкретные ответы:

  • Security: «как заблокировать BYOK и принудить только корпоративный аккаунт?» → forceLoginMethod + forceLoginOrgUUID.
  • DevOps: «как развернуть на 60 разработчиков одним махом?» → три механизма выше, любой работает.
  • Compliance: «что логируется при попытке запустить запрещённую команду?» → Compliance API (Enterprise plan) + managed hooks.
  • Разработчик: «можно ли это всё обойти?» → три конкретных ответа в секции про bypass.

Если тема уже на столе, компактный справочник экономит неделю пинг-понга между командами.

Собрал в открытый репозиторий:

github.com/Serg1kk/claude-code-managed-policy

Внутри:

  • 10 файлов ресёрча по секциям: пути, MDM, enforceable keys, bypass, use-cases, сравнение с Cursor/Copilot/Codex/Windsurf
  • Готовый managed-settings.json template под fintech-команду на 60 разработчиков
  • Managed CLAUDE.md behavioral template
  • IT-checklist на раскатывание
  • README на двух языках (EN по умолчанию + RU переключателем сверху)
  • Ссылки на все 21 источник: official docs, GitHub issues, community guides

Форкайте, адаптируйте, PR’ы по ошибкам welcome.

Про процесс

Сначала прогнал тему через свою базу: processed YouTube-анализы, KB по AI-инструментам, выгрузку Telegram-каналов. Managed policy там почти не покрыт - узкая enterprise-тема, которую indie-developer YouTubers не трогают. Дальше 10 Exa-запросов по официальной документации Anthropic, GitHub issues и community-гайдам, два агента на фактчекинг и вычистку упоминаний, пара часов редактуры. На выходе финальный пакет и публичный репо.

Работаете в компании, где обсуждается раскатывание Claude Code и тема managed policy уже на столе: в репо есть всё. Если ещё не на столе - будет, где смотреть, когда появится.

Sources