Every single tool call goes thru nah, including Write and Edit. nah checks the paths: is it outside your project? flags it as ask. nah log shows every decision so you can audit yourself...
However, in terms of code quality and regressions - I also wrote about my workflow for keeping agents controlled: https://schipper.ai/posts/parallel-coding-agents/ basically no code changes until the plan is signed off, if big enough, a task gets its own worktree to avoid conflicts between agents.
nah was built with this method and I am very happy with the code quality. I personally only do "accept edits on" when the plan is fully signed off and ready to implement. Every edit goes thru me otherwise.
Between nah and FDs, things stay pretty tight even with 5+ agents in parallel.
the worktree per task approach is smart. I have been doing something similar with branches but the isolation is not as clean. the thing that still worries me is when agents share state outside the code like hitting the same db or api. worktrees help with file conflicts but not always with those side effects.