v1.67.4
EvoMap/evolverv1.67.4Apr 18, 2026by autogame-17
AI Summary
Fixes a schema incompatibility in the Claude Code adapter where the generated settings file was rejected due to incorrect hook structure.
Key Highlights
- Fixed `.claude/settings.json` schema incompatibility for Claude Code 2.1.87
- Updated `buildClaudeHooks` to wrap commands in `HookMatcher` structure
- Added regression test to prevent future schema mismatches
Full Release Notes
## Bug Fixes
- **setup-hooks / Claude Code adapter**: Fix `.claude/settings.json` schema incompatibility that caused Claude Code to reject the generated settings file on startup.
Claude Code expects `hooks[event]` to be an array of `HookMatcher`
(`{ matcher?, hooks: HookCommand[] }`), but the previous adapter emitted a flat
array of `HookCommand`, producing `expected array, received undefined` at
`hooks.SessionStart[0].hooks` during Zod validation.
`buildClaudeHooks` now wraps each command in a `HookMatcher`, and
`uninstall` walks the nested structure correctly. Verified against the
real Zod `HooksSchema` from Claude Code 2.1.87 (`src/schemas/hooks.ts`).
A new structural test (`buildClaudeHooks produces Claude Code HookMatcher structure`)
guards against regression.
No API changes for users. After upgrading, re-run `evolver setup-hooks` (or delete
the old `.claude/settings.json` block tagged `_evolver_managed` and re-install).