Aharness turns the process into a runtime. You (your agent) write the workflow as a finite state machine in TypeScript: states define what Codex may do next, typed submissions prove what happened, and transitions only occur through validated exits. If a state doesn't expose an exit, the model can't take it.
The bet is that useful workflows are reusable software, not prompts copied around. FSMs are meant to be maintained, shared, and built upon. Install your favorite workflow as an npm package and build on top of it.
Aharness plugs into the Codex setup you already use: your AGENTS.md, skills, MCP servers, and permissions. The missing step between a skill and a custom agent harness. Early experiment, Apache-2.0. Feedback welcome, especially on the authoring model and composition.
What about Claude Code dynamic workflows? Both approaches attempt to solve the same problem with different hypothesis. Dynamic workflows assume that claude is capable of designing workflows that match the process you want, and they are one-offs. Aharness assumes that you want control over your workflow, to improve it over time, an build upon it.
rishabhpoddar•1h ago
alfredvc•41m ago