Claude Code Незадокументированные возможности: Хуки, Память, Классификатор YOLO и другое

Андре Фигейра изучил исходный код Claude Code (v2.1.87) и обнаружил десятки недокументированных опций конфигурации. Официальная документация охватывает только основы, но в самом пакете, который можно свободно просмотреть в node_modules, есть поля для хуков, памяти агента, правил автоматического режима и многое другое. Вот что можно настроить уже сейчас.
YOLO Classifier: автоподтверждение действий на простом английском
Внутренне называемый «YOLO Classifier» (yoloClassifier.ts), этот механизм позволяет описать вашу среду на простом английском, чтобы решить, когда Claude может автоматически подтверждать операции. В settings.json можно добавить описание вроде "это тестовый сервер, разрушительные операции допустимы", чтобы разрешать определённые действия без запроса.
Возвращаемые значения хуков, меняющие поведение на лету
Хуки получают JSON на stdin и могут возвращать событие-специфичный JSON на stdout. Вот ключевые поля возврата:
- PreToolUse:
updatedInput(переписывает ввод инструмента перед выполнением),permissionDecision(принудительное разрешение/запрет),permissionDecisionReason,additionalContext - SessionStart:
watchPaths(автоматическое отслеживание файлов, вызывающее события FileChanged),initialUserMessage(добавляет контент к первому сообщению пользователя),additionalContext - PostToolUse:
updatedMCPToolOutput,additionalContext - PermissionRequest:
decision(программное разрешение/запрет сupdatedInputилиupdatedPermissions)
Пример: хук PreToolUse, который добавляет --dry-run к каждой команде git push. В .claude/settings.json:
{
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/dry-run-pushes.sh"
}]
}]
}
}Скрипт ~/.claude/hooks/dry-run-pushes.sh:
#!/bin/bash INPUT=$(jq -r '.tool_input.command'Это переписывает команду до выполнения — недокументированное поле.
Контекст сессии и отслеживание файлов
Хуки SessionStart могут задавать watchPaths для отслеживания изменений в файлах вроде package.json, .env и tsconfig.json, вызывая события FileChanged. Они также могут внедрять initialUserMessage для добавления контекста, например, текущей ветки git и количества незакоммиченных изменений.
Пример скрипта, возвращающего пути отслеживания и начальное сообщение:
#!/bin/bash
BRANCH=$(git branch --show-current 2>/dev/null)
CHANGES=$(git status --porcelain 2>/dev/null | wc -l | tr -d ' ')
jq -n \
--arg branch "$BRANCH" \
--arg changes "$CHANGES" \
'{
"watchPaths": ["package.json", ".env", "tsconfig.json"],
"initialUserMessage": "Текущая ветка: \($branch), незакоммиченных изменений: \($changes)"
}'Постоянная память агента и правила авторежима
Память агента можно настроить на сохранение между сессиями с помощью полей в каталоге ~/.claude/agents/. Правила авторежима можно описать в файлах на простом английском, указывая Claude, когда автоматически подтверждать действия. Исходный код также намекает на «циклы самообучения», в которых Claude может улучшать свои собственные конфиги.
Расположение файлов
- Настройки:
~/.claude/settings.json(личные) или.claude/settings.json(проектные, доступные через git) - Навыки:
~/.claude/skills/<имя>/SKILL.md(личные) или.claude/skills/<имя>/SKILL.md(проектные) - Агенты:
~/.claude/agents/<имя>.md(личные) или.claude/agents/<имя>.md(проектные) - Скрипты хуков: обычно в
~/.claude/hooks/, должны быть исполняемыми (chmod +x)
Эти возможности полезны для разработчиков, желающих настроить Claude Code за пределами документированных API. Учтите, что эти функции могут меняться между версиями.
📖 Полный исходный код: HN AI Agents
👀 Смотрите также

Fable 5 в Claude Code: Анализ затрат первого дня — эквивалент $210 через API, $0 оплачено
Разработчик переключился на claude-fable-5 в Claude Code и измерил использование токенов в 742 ответах. Эквивалентная стоимость API: $210.15. Фактически уплачено: $0 в период до 22 июня.

Разработчик создаёт статус-бар для терминала, чтобы отслеживать лимиты сессий Claude Code после неожиданного обрыва.
Разработчик создал строку состояния для терминала на Python, которая показывает использование сессии Claude Code в реальном времени после того, как его прервали посреди рефакторинга без предупреждения. Инструмент использует существующие сессии и не требует API-ключа.

Skales: Настольный ИИ-агент с поддержкой Ollama, 300 МБ оперативной памяти в режиме простоя
Skales — это настольное приложение на Electron, которое предоставляет автономного ИИ-агента с установщиками .exe/.dmg, работает с Ollama для локального вывода или с облачными провайдерами и использует ~300 МБ оперативной памяти в режиме ожидания, храня данные локально в ~/.skales-data.

Подробности API инструментов Claude Code раскрыты
Пользователь Reddit извлек детали о Tool API Claude Code, включая операции с файловой системой, выполнение команд bash, веб-поиск и структуру вызовов инструментов с использованием XML-подобных блоков.