> · 9 мин

Claude Code v2.1.63 — авто-память, HTTP hooks, и два агента, которые ревьюят и мигрируют код за тебя

Claude Code v2.1.63 — авто-память, HTTP hooks, и два агента, которые ревьюят и мигрируют код за тебя

Claude Code v2.1.63 — авто-память, HTTP hooks, и два агента, которые ревьюят и мигрируют код за тебя

Anthropic выпустили v2.1.63 — и это один из тех релизов, где changelog длиннее, чем README большинства open-source проектов. Кроме десятка фиксов утечек памяти (которые наконец делают длинные сессии стабильными), здесь три вещи, которые реально меняют workflow: авто-память через MEMORY.md, HTTP hooks для интеграции с внешними сервисами, и две новые команды — /simplify и /batch — которые превращают Claude Code из помощника в полноценную команду ревьюеров и мигрантов кода.

TL;DR: Claude Code теперь сам запоминает контекст между сессиями в MEMORY.md, умеет стучаться в ваши webhook-эндпоинты через HTTP hooks, а /simplify запускает трёх агентов-ревьюеров параллельно, пока /batch раскидывает миграцию по 5-30 worktree-агентам. Плюс 10+ фиксов утечек памяти — длинные сессии больше не превращаются в тыкву.

Авто-память: Claude записывает за собой

До этого релиза контекст между сессиями держался только на CLAUDE.md — файле, который ты пишешь руками. Проблема очевидна: после двухчасовой дебаг-сессии ты не будешь записывать, что npm run test:e2e работает только с NODE_ENV=test, а Claude в следующей сессии снова наступит на те же грабли.

Теперь Claude сам ведёт заметки в ~/.claude/projects/<project>/memory/MEMORY.md. Структура простая:

~/.claude/projects/<project>/memory/
├── MEMORY.md          # Индекс — первые 200 строк загружаются в каждую сессию
├── debugging.md       # Подробные заметки по дебагу
├── api-conventions.md # Решения по API-дизайну
└── ...

Что сохраняется: команды сборки, паттерны дебага, архитектурные решения, ваши предпочтения по стилю кода. Что не сохраняется: детали текущей задачи, временный стейт, спекуляции.

Попросить Claude запомнить что-то конкретное можно прямо в чате: "всегда используй pnpm, не npm" — и это уйдёт в MEMORY.md. Управление — через /memory.

Важное в 2.1.63: авто-память теперь шарится между git worktrees одного репозитория. Если вы работаете с Claude Code в трёх параллельных worktrees (а мы писали, что это один из самых мощных паттернов), все три агента видят одни и те же заметки. Раньше каждый worktree жил в изоляции, и агенты повторяли одни и те же ошибки.

/simplify — три ревьюера за одну команду

/simplify — это не линтер и не форматтер. Это пост-имплементационный ревью, который запускается после того, как фича работает, и ищет, что можно сделать лучше.

Внутри — три агента, работающих параллельно:

  • Code Reuse Agent — ищет дублирование логики и упущенные возможности использовать существующие утилиты
  • Code Quality Agent — анализирует читаемость, структуру, leaky-абстракции и лишнюю сложность
  • Efficiency Agent — ловит ненужные итерации, упущенный параллелизм, горячие пути и проблемы с памятью

После анализа результаты агрегируются, ложные срабатывания фильтруются, и фиксы применяются прямо в рабочую копию.

Использование:

/simplify                            # ревью всех изменённых файлов (по git diff)
/simplify focus on error handling    # фокус на конкретной области

По данным Бориса Черни (тимлид Claude Code), команда использует /simplify ежедневно перед каждым PR. Три агента работают на уровне архитектурных решений — то, что ESLint или Biome принципиально не умеют.

/batch — миграция всей кодовой базы руками 30 агентов

/batch — это оркестратор массовых изменений. Вместо того чтобы руками проходить по сотне файлов, вы описываете задачу одной фразой:

/batch migrate src/ from Solid to React
/batch replace all uses of lodash with native equivalents
/batch standardize all API error responses to use { error: string, code: number }

Внутри — трёхфазный процесс:

Фаза 1 — Research & Plan. Explore-агенты находят все затронутые файлы, декомпозируют работу на 5-30 независимых юнитов, определяют стратегию верификации (тесты, CLI-чеки).

Фаза 2 — Spawn Workers. Каждый юнит получает собственный git worktree и изолированного агента. Каждый агент автоматически прогоняет /simplify на своих изменениях, запускает тесты, коммитит и открывает PR.

Фаза 3 — Track Progress. Таблица статусов обновляется в реальном времени, показывая URL pull request'ов по мере завершения.

Ключевое ограничение: /batch работает только в git-репозиториях, потому что использует worktrees для изоляции. И подходит только для независимых, параллелизуемых изменений — миграции фреймворков, замены зависимостей, стандартизация API. Для тесно связанных изменений, где файлы зависят друг от друга, /batch не годится.

HTTP hooks — Claude Code стучится в ваш backend

До 2.1.63 hooks в Claude Code были только shell-командами: скрипт на bash, который получает JSON на stdin и возвращает решение через exit code. Рабочее решение, но для интеграции с внешними сервисами приходилось писать обёртки.

HTTP hooks убирают этот слой. Теперь можно отправлять POST-запросы напрямую:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "http",
            "url": "http://localhost:8080/hooks/pre-tool-use",
            "timeout": 30,
            "headers": {
              "Authorization": "Bearer $MY_TOKEN"
            },
            "allowedEnvVars": ["MY_TOKEN"]
          }
        ]
      }
    ]
  }
}

Claude Code отправляет JSON с контекстом события (имя инструмента, параметры, session ID, рабочая директория) как тело POST-запроса. Ваш эндпоинт возвращает JSON с решением — разрешить, заблокировать или модифицировать действие.

Сценарии использования: валидация команд через корпоративный policy-сервер, логирование всех действий агента в ELK/Datadog, автоматический compliance-чек перед каждым git push, интеграция с Slack-ботом для нотификаций о действиях агента.

Безопасность: в 2.1.63 HTTP hooks роутятся через sandbox network proxy (если sandboxing включён), а env var interpolation требует явного списка allowedEnvVars — раньше можно было подтянуть любую переменную окружения, что было дырой.

/copy picker и мелкие радости

Интерактивный /copy picker — мелочь, но ежедневная. Раньше /copy копировал весь ответ целиком. Теперь, если в ответе есть блоки кода, появляется picker, где можно выбрать конкретный блок. Плюс опция "Always copy full response", чтобы вернуть старое поведение, если picker раздражает.

Ещё из заметного:

  • /model теперь показывает текущую активную модель прямо в меню — не нужно гадать, на чём сейчас работает агент
  • В VSCode: переименование и удаление сессий прямо из списка
  • ENABLE_CLAUDEAI_MCP_SERVERS=false — можно отключить MCP-серверы claude.ai, если используете только свои
  • Ручной URL paste fallback при MCP OAuth — если localhost-редирект не сработал

10+ утечек памяти — одним коммитом

Если вы работали в длинных сессиях (2+ часа) и замечали, что Claude Code начинает тормозить и жрать память — это были утечки, которые копились с v2.0. В 2.1.63 починили сразу десять штук:

  • Listener leak в bridge polling loop и MCP OAuth flow
  • Memory leak в кеше bash command prefix и git root detection — кеши росли бесконечно в долгих сессиях
  • Listener leak в WebSocket reconnect — каждое переподключение добавляло новые слушатели
  • Memory leak в JSON parsing cache — рос без ограничений
  • MCP tool/resource cache leak при реконнекте серверов
  • Teammate-агенты в долгих сессиях не освобождали сообщения после compaction
  • Тяжёлые progress message payloads от субагентов не стриппились при compaction

Для тех, кто запускает Claude Code в headless-режиме или через CI — это критично. Утечки в git root detection и bash prefix кешах означали, что после нескольких сотен вызовов инструментов процесс мог сожрать гигабайты.

Подводные камни

200 строк — и всё. Авто-память загружает только первые 200 строк MEMORY.md при старте сессии. Тематические файлы (debugging.md, patterns.md) подгружаются только по запросу — если Claude не решит, что они нужны. На практике это значит, что важный контекст, вытесненный за 200-ю строку, просто не будет виден до тех пор, пока Claude сам не полезет в файл. Рекомендация: держите MEMORY.md как лаконичный индекс, а не как дневник.

HTTP hooks не работают для SessionStart/Setup. Если вы планировали через HTTP hook инициализировать окружение при старте сессии — не получится. Эти события поддерживают только command-хуки. Для HTTP hooks /hooks меню тоже не подходит — конфигурировать можно только ручной правкой JSON в settings.

/batch требует git и плохо справляется со связанными изменениями. Нет git-репозитория — нет worktrees — нет /batch. А если ваша миграция затрагивает файлы, которые зависят друг от друга (например, переименование общего интерфейса, от которого зависят 30 модулей), параллельные агенты начнут конфликтовать. /batch хорош для "каждый файл сам по себе" — замена import-путей, обновление API-вызовов, стандартизация error-формата.

Авто-память — контекст, а не принуждение. Официальная документация прямо говорит: "Claude treats them as context, not enforced configuration." Если Claude записал в MEMORY.md, что вы предпочитаете pnpm, это не гарантирует, что он не предложит npm install в следующей сессии. Чем конкретнее и короче инструкции — тем выше шанс, что Claude им следует.

Альтернативы

  • Cursor Memories + .cursorrules — ближайший аналог авто-памяти. Cursor тоже запоминает предпочтения между сессиями и поддерживает @codebase для широкого индексирования. Преимущество: визуальные диффы и multi-model routing (можно переключаться между Claude и GPT). Недостаток: нет аналога /batch для массовых миграций и нет terminal-first workflow.

  • GitHub Copilot CLIнедавно вышел из превью с plan mode и субагентами. Но у него нет persistent memory между сессиями, лимит 300 запросов в час, и нет ничего похожего на /simplify — трёхагентный ревью пока уникален для Claude Code.

  • OpenCode — open-source альтернатива с 108K звёздами и нулевой привязкой к вендору. Поддерживает любые LLM через API, но авто-память, hooks и skill-система отсутствуют. Подойдёт тем, кто принципиально хочет контролировать весь стек, но ревью и миграции придётся организовывать самостоятельно.

Вердикт

Если вы работаете в Claude Code по 2+ часа за сессию — обновляйтесь сегодня, одни фиксы утечек памяти стоят апдейта. /simplify заменяет ручной ревью перед PR для соло-разработчиков и маленьких команд — три параллельных агента находят то, что глаз замыливает после часа работы. /batch — убийца для миграций в монорепозиториях с сотнями файлов, но для маленьких проектов оверхед на worktrees не окупится. HTTP hooks — это фундамент для enterprise-интеграций: если ваша команда уже использует policy-серверы или centralized logging, теперь Claude Code встаёт в эту цепочку без костылей.

Как попробовать

  1. Обновитесь: claude update — или просто перезапустите Claude Code, нативная установка обновляется в фоне
  2. Проверьте версию: claude --version — должно быть 2.1.63+
  3. Загляните в авто-память: /memory — посмотрите, что Claude уже записал о вашем проекте
  4. Попробуйте /simplify: внесите любое изменение в код, затем введите /simplify — три агента проанализируют ваши изменения
  5. Попробуйте /batch (если у вас монорепо): /batch replace all console.log with logger.info — и наблюдайте, как агенты разбирают задачу по worktrees

Release notes на GitHub | Документация по hooks | Документация по памяти

$ ls ./related/

Похожие статьи

subscribe.sh

$ cat /dev/blog/updates

> Свежие заметки о программировании,

> DevOps и AI — прямо в мессенджер

./subscribe