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