v3.5.15
ruvnet/ruflov3.5.15Mar 9, 2026by ruvnet
AI Summary
This release fixes a critical path resolution issue where Claude Code hooks using relative paths or git commands would break when Claude Code changes the working directory to a subdirectory during agent operations. The fix updates all hook paths to use the official `$CLAUDE_PROJECT_DIR` environment variable.
Key Highlights
- Fixed hook path resolution that broke when Claude Code changed working directory to subdirectories
- Updated 15 hook paths in `.claude/settings.json` from `$(git rev-parse --show-toplevel)` to `$CLAUDE_PROJECT_DIR`
- Updated 9 hook paths in `v3/@claude-flow/cli/.claude/settings.json` from bare relative paths
- Updated `settings-generator.ts` to emit `$CLAUDE_PROJECT_DIR`-based paths for `hookHandlerCmd()`, `autoMemoryCmd()`, and `generateStatusLineConfig()`
- New projects created via `npx claude-flow@latest init` will automatically get correct paths
Full Release Notes
## Fix: Hooks Path Resolution (v3.5.15) ### Problem Claude Code hooks using relative paths (`.claude/helpers/...`) or `$(git rev-parse --show-toplevel)` break when Claude Code changes the working directory to a subdirectory during agent operations. ### Solution All hook commands now use `$CLAUDE_PROJECT_DIR` — the official Claude Code environment variable that always resolves to the project root, regardless of current working directory. ### Changes - **`.claude/settings.json`** — 15 hook paths updated from `$(git rev-parse --show-toplevel)` to `$CLAUDE_PROJECT_DIR` - **`v3/@claude-flow/cli/.claude/settings.json`** — 9 hook paths updated from bare relative paths - **`settings-generator.ts`** — `hookHandlerCmd()`, `autoMemoryCmd()`, and `generateStatusLineConfig()` now emit `$CLAUDE_PROJECT_DIR`-based paths - New projects created via `npx claude-flow@latest init` will automatically get correct paths ### Published Packages | Package | Version | Install | |---------|---------|---------| | `@claude-flow/cli` | 3.5.15 | `npx @claude-flow/cli@latest` | | `claude-flow` | 3.5.15 | `npx claude-flow@latest` | | `ruflo` | 3.5.15 | `npx ruflo@latest` | ### References - Upstream issue: https://github.com/anthropics/claude-code/issues/9039 - Claude Code hooks docs: https://code.claude.com/docs/en/hooks