Claude Code для команд — настройка Team и Enterprise

Как настроить Claude Code для команды: managed settings, контроль плагинов, общие hooks, политики безопасности.

TL;DR: Claude Code можно настроить для всей команды через project settings и для всей организации через managed settings. Admins контролируют разрешения, MCP-серверы, плагины, hooks. Конфигурация одинаковая для всех — никто не забудет включить линтер или отключить доступ к секретам.

Один разработчик с Claude Code — это просто. Настроил под себя, работаешь. Десять разработчиков — начинаются проблемы. У каждого свои настройки, разные permissions, кто-то дал Claude доступ к .env, кто-то отключил sandbox. Managed settings решают это.

Project settings — для команды

Самый простой способ стандартизировать Claude Code в команде — проектные настройки. Файл .claude/settings.json коммитится в git, и все получают одинаковую конфигурацию.

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test *)",
      "Bash(npm run build)"
    ],
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(./config/credentials.*)"
    ]
  },
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "npx prettier --write \"$CLAUDE_FILE_PATH\" 2>/dev/null || true"
          }
        ]
      }
    ]
  }
}

Что даёт: у всех запрещено читать .env-файлы, разрешены стандартные команды, после каждого редактирования файл форматируется. Один файл — одни правила.

Если разработчику нужны личные настройки поверх проектных — .claude/settings.local.json. Он в gitignore и перекрывает project settings.

Managed settings — для организации

Managed settings — уровень выше. Это конфиги, которые IT-администратор деплоит на машины сотрудников. Их нельзя перебить ни project settings, ни user settings.

Расположение файла:

  • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
  • Linux: /etc/claude-code/managed-settings.json

Обрати внимание — это системные пути, не домашняя директория. Нужны права администратора.

{
  "permissions": {
    "deny": [
      "Bash(curl *)",
      "Bash(wget *)",
      "WebFetch"
    ],
    "disableBypassPermissionsMode": "disable"
  },
  "allowManagedHooksOnly": true
}

disableBypassPermissionsMode: "disable" — блокирует флаг --dangerously-skip-permissions. Никто не сможет обойти ограничения даже при желании.

allowManagedHooksOnly — разрешает только hooks из managed settings. Разработчики не смогут добавить свои hooks, которые могут обходить политики.

Контроль MCP-серверов

MCP-серверы расширяют возможности Claude Code. Но в корпоративной среде нужно контролировать, какие серверы разрешены.

В managed settings:

{
  "allowedMcpServers": [
    {"serverName": "github"},
    {"serverName": "jira"}
  ],
  "deniedMcpServers": [
    {"serverName": "filesystem"}
  ]
}

allowedMcpServers — белый список. Если задан, подключить можно только перечисленные серверы. deniedMcpServers — чёрный список, приоритетнее белого.

Для проектных MCP-серверов (из .mcp.json) есть отдельные настройки:

{
  "enableAllProjectMcpServers": true
}

Или точечно:

{
  "enabledMcpjsonServers": ["github", "memory"],
  "disabledMcpjsonServers": ["filesystem"]
}

Контроль плагинов и маркетплейсов

Плагины — ещё одна точка контроля. strictKnownMarketplaces в managed settings ограничивает, откуда разработчики могут ставить плагины:

{
  "strictKnownMarketplaces": [
    {
      "source": "github",
      "repo": "your-org/approved-plugins"
    }
  ]
}

Пустой массив [] полностью блокирует установку новых плагинов. undefined (не задано) — без ограничений.

Для удобства в project settings можно указать extraKnownMarketplaces — маркетплейсы, которые автоматически предлагаются новым членам команды:

{
  "extraKnownMarketplaces": {
    "team-tools": {
      "source": {
        "source": "github",
        "repo": "your-org/claude-plugins"
      }
    }
  }
}

Когда разработчик открывает проект, Claude Code предложит установить плагины из этого маркетплейса.

Объявления для команды

Мелкая, но полезная фича — companyAnnouncements. Сообщения, которые показываются при старте Claude Code:

{
  "companyAnnouncements": [
    "Напоминание: все PR должны пройти code review перед мержем",
    "Новая политика безопасности — прочитай на wiki.internal/security"
  ]
}

Если массив содержит несколько сообщений, они показываются случайным образом.

Attribution — подпись в коммитах

По умолчанию Claude Code добавляет «Co-Authored-By: Claude» в коммиты. В команде это может быть полезно для аудита, или наоборот мешать:

{
  "attribution": {
    "commit": "AI-assisted commit\n\nReviewed-by: team",
    "pr": "This PR was created with Claude Code assistance"
  }
}

Или отключить полностью пустыми строками. Зависит от политики команды.

Fast Mode для организаций

Fast mode (ускоренный Opus 4.6) по умолчанию отключён для Team и Enterprise. Админ должен явно включить его:

  • Anthropic Console: Claude Code preferences
  • Claude AI (Teams): Admin Settings > Claude Code

После включения разработчики могут активировать fast mode через /fast. Он списывается через extra usage — отдельно от подписки.

Рекомендация по внедрению

Если внедряешь Claude Code в команде, вот порядок:

  1. Создай .claude/settings.json в проекте с базовыми permissions и hooks. Закоммить.
  2. Создай CLAUDE.md с описанием проекта и конвенциями. Закоммить.
  3. Настрой .mcp.json с нужными MCP-серверами. Закоммить.
  4. Если нужен жёсткий контроль — задеплой managed settings на машины.
  5. Проведи короткую демо-сессию для команды.

Часто задаваемые вопросы

Как узнать, какие настройки действуют прямо сейчас? Команда /config в Claude Code показывает текущую конфигурацию со всеми скоупами. Видно, откуда берётся каждая настройка.

Можно ли разные настройки для разных команд внутри организации? Managed settings одинаковы для всех на машине. Для разных команд используй project settings — каждый репозиторий может иметь свою конфигурацию.

Managed settings автоматически обновляются? Нет. Это обычные JSON-файлы на диске. Обновление — через систему управления конфигурациями (Ansible, Chef, MDM).

Что ещё почитать