# Песочница: граница, которую держит система

Курс: Claude Code: уровень профи — https://zero2claude.ru/learn/claude-code-pro
Канонический URL: https://zero2claude.ru/learn/claude-code-pro/1-3-pesochnica

Правила разрешений решают, что Claude может запустить. Песочница решает, что запущенная команда может сделать, — и это ограничение держит уже операционная система. Включается /sandbox.

В прошлом уроке ты научился разрешать и запрещать действия правилами. Но у правил есть слепое пятно. Правило `Bash(npm test)` пускает запуск тестов — и не знает, что окажется внутри. Если тест или его зависимость полезет писать в чужую папку или отправлять данные в сеть, правило ничего не заметит.

Для этого есть второй слой — песочница.

## Что делает песочница

Песочница оборачивает **команды оболочки**, которые запускает Claude, в границу, которую держит **операционная система**. По умолчанию команда внутри неё:

- **пишет** только в папку проекта, во временную папку пользователя и в папки, которые ты добавил через `--add-dir` или `/add-dir`;
- **ходит в сеть** только через прокси, который пропускает лишь разрешённые адреса.

Попробуй команда записать файл в домашнюю папку — система откажет: на macOS ты увидишь `Operation not permitted`, на Linux — `Read-only file system`.

## Как включить

Песочница **выключена по умолчанию**. Внутри сессии набери:

```
/sandbox
```

и на вкладке Mode выбери режим автоматического разрешения. В нём команда, которая выполняется внутри песочницы, не требует подтверждения: граница и так держит её в рамках. Claude Code сохранит выбор в твой личный `.claude/settings.local.json`.

В файле настроек это выглядит так:

```json
{
  "sandbox": {
    "enabled": true
  }
}
```

## Что остаётся снаружи

Это важно понимать, чтобы не переоценить защиту:

- **собственные инструменты Claude** для чтения, правки файлов и веба работают вне песочницы — их держат правила разрешений из прошлого урока;
- **хуки и локальные MCP-серверы** работают вне песочницы с твоими полными правами.

Песочница не заменяет правила, а дополняет их. Правила решают, *что можно запустить*. Песочница — *что запущенному можно сделать*.

**Осторожно.** 
Если песочница не смогла запуститься — например, в контейнере не хватает нужных системных компонентов, — Claude Code по умолчанию продолжит выполнять команды без неё. Для запусков без присмотра включай настройку sandbox.failIfUnavailable: тогда Claude Code откажется стартовать, а не тихо сработает без защиты.
