What's new
Turing's generated Claude Code hooks are now robust to Claude changing directories during a session. Scaffolded hook commands point at absolute script paths, so stop and post-train hooks keep finding the intended harness files instead of accidentally resolving paths relative to whatever cwd Claude happens to hold.
The generated harness is also uv-first end to end. Hook scripts run Python through uv run python, scaffold setup uses uv sync, and the user-facing instructions now teach the same execution contract the scripts enforce.
Cwd-robust hook commands
- Generated
.claude/settings.local.jsonhook commands now use absolute script paths - Stop hooks continue to preserve convergence exit code propagation
- Post-train hooks preserve fallback
run.loghandling when invoked from a different cwd
uv-first scaffold runtime
- Added a shared hook helper for
uv run python - Missing
uvnow fails loudly instead of silently falling back to ambient Python - Scaffold setup, templates, agents, and command guidance consistently use
uv syncanduv run
Numbers
- 2041 tests
- 74 commands
- 93 scaffold scripts
- 4 implementation commits since v4.8.0
Full changelog
- fix: make Turing hooks cwd-robust and uv-first
- docs: align Turing instructions with uv execution
- chore: prepare v4.8.1 release metadata
- chore: release v4.8.1