zenflow CLI
A multi-agent workflow engine in Go: one YAML file describes agents, steps and dependencies, run with one command.
- 59 ★ on the repository
- Last commit
- Apache-2.0
Broad access
Why this level
- Agents run `bash` and write files, and `--yolo` mode removes confirmations.
- Provider keys are passed through environment variables.
Install
- Works in
Manual install
curl -fsSL https://zenflow.sh/install.sh | shThe first Install command in the README for macOS and Linux; `brew install zendev-sh/tap/zenflow` and `go install` are also available.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Agents run `bash` and write files, and `--yolo` mode removes confirmations.
- Provider keys are passed through environment variables.
This is third-party code. Review the repository files before installing.
What it does
zenflow runs several agents from a YAML description. The file lists agents with roles and steps with `dependsOn` dependencies, while a model-based coordinator routes events between them through mailboxes with race-safe delivery. Agents call native MCP tools, including `read`, `write`, `glob`, `grep` and `bash`. CLI commands: `zenflow flow` for a workflow file, `zenflow goal` for a one-sentence goal and `zenflow agent` for a single agent with a tool loop. The `--plan` flag prints the step graph before running. The repository includes a `SKILL.md` that teaches an agent to write such workflows. It is one static Go binary, with a library for embedding in services and a Docker image. Use with Google Gemini, AWS Bedrock and Azure has been verified.
Who it is for. Developers who need to run a set of agents by a schema (debaters and a judge, planner and executor) without writing an orchestrator.
Good fit when
- You need a planner, coder and reviewer process defined declaratively.
- Agents have to run in CI with one command.
- You need to embed agent orchestration in a Go service.
- You want to see the step graph with `--plan` before running.
Not a fit when
- You need a stable YAML schema: the project warns it may change before 1.0.
- One agent without complex routing is enough.
- The run must have no shell access and no file writes.
Example request
Write debate.yaml with three agents: pro, con and a judge. Show the graph with --plan and run it in --sandbox mode.Limitations
The project is very new: the YAML schema and API may change before version 1.0. In `--yolo` mode agents run `bash` without confirmation, so for automated CI runs use `--sandbox`, which leaves only `read`, `write`, `grep` and `glob` and blocks `bash`. Installing with `go install` needs Go 1.25 or newer. You need a key for the chosen provider, for example `GEMINI_API_KEY`. The `curl ... | sh` install script pulls an archive from a GitHub release and verifies its SHA-256 checksum.
How to disable. Delete the `zenflow` binary from `~/.local/bin` (on Windows from `%LOCALAPPDATA%\Programs\zenflow`) or with `brew uninstall zenflow`. Remove the Docker image with `docker rmi`.
FAQ
What does the YAML file describe?
Agents with roles under `agents` and steps under `steps`: each step has an `agent`, `instructions` and a `dependsOn` list from which the graph is built.
How do I run without dangerous tools?
Add the `--sandbox` flag. It limits tools to `read`, `write`, `grep` and `glob` and blocks `bash` even with `--allow bash`.
Which providers are verified?
Google Gemini, AWS Bedrock and Azure. The provider is chosen with `--model`, for example `google/gemini-2.5-flash`.
How do flow, goal and agent differ?
`flow` runs a workflow file, `goal` takes a one-sentence goal and `agent` runs a single agent with a tool loop.
How do I embed it in a Go service?
Import `github.com/zendev-sh/zenflow` and call `zenflow.New(...).RunFlow(ctx, wf)`; the CLI uses the same engine.
Discussion
No questions or reviews yet.
Related
CLI toolsMaestro-Flow builds a chain from analysis to tests for a goal and runs Claude Code, Codex, Gemini and other agents through it
Frink runs up to four agents in their own worktrees and turns one sentence into a Flow automation with its own editor skill.
Declarative DAG workflows for coding agents: isolated phases, graph verification, resume and replay of runs.
Flowtrace turns an agent's work into steps stored as files in a git repository, so you can follow, check, fix one by one and re-run them on new input
A Microsoft CLI that runs multi-agent workflows from one YAML file: no model in routing, parallel steps, web dashboard.
Axe in Go: single-purpose AI agents defined in TOML and run from a terminal, pipes, cron and git hooks, with memory, sub-agents and MCP
README in short
A declarative multi-agent engine in one Go binary. Workflows are written in YAML, run from the CLI and embedded in services.