Most agent tools return a result; this one returns a reviewable branch full of incremental, audited changes you can wake up to. The core idea is operationalizing autonomous agents as safe, small, repeatable git iterations so you get traceable progress instead of a single opaque output.
What Sets It Apart
- Iteration-as-commit: each successful agent iteration becomes a separate unsigned git commit, producing a linear, reviewable history of autonomous changes rather than a single state-diff blob. This makes it straightforward to inspect, revert, or cherry-pick specific agent decisions.
- Robust failure semantics: non-destructive handling where failed iterations are rolled back, commit-failures are preserved for manual repair, and retryable hard errors back off exponentially while agent-reported failures are retried immediately. Runs end with a permanent exit summary covering elapsed time, iterations, token usage and branch diff stats.
- Agent- and workflow-agnostic: supports multiple built-in targets (Claude Code, Codex, Rovo Dev, OpenCode, GitHub Copilot CLI, Pi) and ACP targets via a bundled runtime; offers worktree mode to run multiple agents concurrently and flags to push per-iteration or use the current branch.
- Lightweight operational controls: CLI flags for max-iterations, max-tokens, stop-when conditions, prevent-sleep, live terminal title updates, and detailed local run metadata under .gnhf for auditing and resume.
Who it's for + tradeoffs
Great fit if you want continuous, reviewable automation: maintainers who accept lots of small, well-documented changes (CI-driven projects, experiment loops, refactoring by automated agents) and value audit trails for each autonomous action. It excels at long-running unattended runs where incremental progress and recoverability matter.
Look elsewhere if you need a single large atomic refactor, handle large binary artifacts, or require GUI-driven orchestration—gnhf is opinionated about small, testable commits and requires a clean git repository and CI/tests to validate agent changes. It also assumes comfort with CLI workflows and Node/TypeScript tooling for installation and extension.
