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
👀 Смотрите также

MegaClaw: Контейнеризованная установка OpenClaw с Playwright и Homebrew
MegaClaw — это двухобразная конфигурация Podman для OpenClaw, которая решает распространённые проблемы установки, такие как ошибки прав доступа и отсутствующие зависимости. Она использует многоэтапную сборку с предустановленными Playwright и Homebrew, а также включает пользовательскую конфигурацию в образ для выполнения.

ClawVibe: Бесплатный голосовой ассистент для iOS для AI-агентов с STT/TTS на устройстве
ClawVibe — это нативное iOS-приложение, обеспечивающее голосовое взаимодействие с AI-агентами без помощи рук во время поездок. Оно использует локальное распознавание речи и TTS, поддерживает CarPlay и применяет голосовую биометрию для фильтрации фонового шума. По сети передаётся только текст.

Платформа ИИ Cloudflare: Единый уровень вывода для ИИ-агентов
AI-платформа Cloudflare предоставляет единый API для доступа к более чем 70 моделям от 12+ провайдеров, включая мультимодальную поддержку для изображений, видео и речевых моделей. Она позволяет переключаться между моделями изменением одной строки кода и предлагает централизованный мониторинг затрат с пользовательскими метаданными.
Игла: 26-миллионная модель вызова инструментов, построенная полностью без FFN
Needle — это модель вызова функций с 26 миллионами параметров без MLP, достигающая 6000 токенов/с на префилле и 1200 токенов/с на декоде на потребительских устройствах. Она превосходит FunctionGemma-270M, Qwen-0.6B, Granite-350M и LFM2.5-350M в одношаговом вызове инструментов.