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
CLI

Broad access

Why this level

  • Agents run `bash` and write files, and `--yolo` mode removes confirmations.
  • Provider keys are passed through environment variables.
All reasons and checks

zendev-sh/zenflow

Install

Manual install

curl -fsSL https://zenflow.sh/install.sh | sh

The 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 review

Broad 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.

CLI tools

Maestro-Flow builds a chain from analysis to tests for a goal and runs Claude Code, Codex, Gemini and other agents through it

CLIBroad access575Repository stars
Official

Frink runs up to four agents in their own worktrees and turns one sentence into a Flow automation with its own editor skill.

SkillBroad access176Repository stars

Declarative DAG workflows for coding agents: isolated phases, graph verification, resume and replay of runs.

PluginExtended access80Repository stars

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

SkillExtended access484Repository stars

A Microsoft CLI that runs multi-agent workflows from one YAML file: no model in routing, parallel steps, web dashboard.

CLIBroad access499Repository stars

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

CLIBroad access910Repository stars

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.

README badge

Report a problem