For Claude Code Workflows

Design multi-agent workflows. See exactly what they did.

Claude Code's Workflow tool fans out dozens of agents in parallel — but you write it in JS and read the result out of a black box of logs. Workflow Studio gives you a no-code canvas to design the run and a dashboard to see what it did — then hands both to the agent over MCP.

designrunobservereuse
run: pr-reviewdone · 9 agents

a run, as you'll see it — illustrative schematic

Design

Build the recipe, not the boilerplate

Drop blocks on a canvas and wire them up. Workflow Studio compiles the graph to a real, runnable Claude Code Workflow script — the native primitives plus a sidecar so the design round-trips losslessly. Each block declares a typed output; downstream blocks branch and map on real fields.

builder · model-tournament.jsediting
add

add · drag · connect ports · click to select then ⌫ to delete · ▶ Run fires parallel branches together · illustrative

  • Control flow, visually. Fan-out, pipelines, loops that stop on a condition, gates and k-way switches on a declared value — wired, not hand-threaded.
  • Typed contracts between blocks. Declare each agent's output shape; downstream blocks branch and map on real fields (that OUT … line is the contract).
  • The agent can build too. Over MCP it drafts workflows straight into your canvas for you to refine, and runs the ones you saved.
12 blocks you compose from · hover for what each does
agent fan-out pipeline loop gate switch filter rank sub-workflow input param start
New workflow

Start from a pattern — never a blank canvas

Every "new workflow" begins from a built-in pattern that already exercises the dynamic primitives. Pick one, then extend it in the editor. Seven ship today:

Basic

Agent + in-place iteration — a clean base to build on.

writerrevise×3 rounds
AGENTITERATION

Classify and act

A classifier (enum) routes to one of the branches — a k-way router.

classifyrouter
AGENTROUTER

Fan-out and synthesis

N parallel attempts reduced by a synthesizer.

×4variantssynthesize
FAN-OUTAGENT

Adversarial verification

Independent verifiers try to refute the worker's result.

worker×3verifiersverdict
AGENTFAN-OUT

Generate and filter

A list of candidates filtered by a field — the best ones remain.

generatorhigh-only✕ discardedelaborate
AGENTFILTER

Tournament

Many attempts; a judge compares them pairwise and picks a winner.

×4attemptsjudgewin
FAN-OUTAGENT

Loop until done

Iterate as long as the agent finds something new (loop-until).

searchnew findings?nodone
ITERATION
Observe

See what actually ran — with the numbers

Every run becomes a graph you can read: phases, the fan-out, tokens per agent, the branch taken, and each agent's typed output. Live runs included. And the numbers are honest — an estimated metric is labelled, never presented as measured.

RunShapews-differentiators✥ click a nodedone · 6 agents · 289k tok

click any node to inspect its typed output → · drag to rearrange · illustrative

Honest by construction. Click a node → the inspector shows its typed output and per-agent tokens/timing. When the metrics overlay was garbage-collected, a run is flagged heuristic — you're never shown an invented number. A finished run promotes to a reusable workflow in one click.
Synthesize · output schema↗ Save as template
{
  intro text
  differentiators list ×5 of { title, body }
  comparison list ×5 of { name, whatItIs, … }
  caveats list ×5 of text
}
Screenshots

See it running

Observe a run as an interactive graph or a wall-clock timeline, and author new ones on the canvas. Below: a 111-agent research pipeline, its timeline, and the block builder.

Observe: a real deep-research run graph — Scope, Search, Fetch, Verify, Synthesize — fanning out to 111 agents
Observe · a deep-research run — 111 agents across Scope → Search → Fetch → Verify → Synthesize (3.7M tokens, ~22 min, all measured)
Observe: run timeline showing the Review fan-out finishing before the Verify fan-out staggers in
Observe · the wall-clock timeline — Review runs first, Verify staggers in
Author: the block builder with START, agent, fan-out and summary blocks
Author · the block builder — typed blocks compile to a runnable script
Library

Every workflow you've run, in one place

Runs and saved designs from your projects, each with a live structure preview. Reopen a design, compare runs, or hand one to the agent.

ws-differentiators
≈3 · saved by CC
mcp-adversarial-review
2 runs · this session
pr-review
≈2 · builder
fanout-over-demo
≈2 · from a run
deep-research
111 agents · done

the Workflow library — real structure previews per card

How it compares

Where Workflow Studio fits

Workflow Studio isn't a LangGraph, CrewAI, or n8n competitor — it's a different layer of the stack. Those hand you a runtime to adopt (each portable across providers — a real strength); Workflow Studio assumes you already run Claude Code and gives you a way to see what a run did and author new ones visually.

A companion layer, not a runtime

LangGraph, CrewAI, AutoGen, the OpenAI Agents SDK, n8n and Flowise are each an execution engine you adopt — and each is portable across LLM providers, which is genuinely valuable. Workflow Studio ships no runtime and defines no agents of its own: it sits on top of one you already have (Claude Code's built-in Workflow tool) and hands the agent a compiled script Claude Code itself runs.

Observes real runs — no instrumentation

Strong observability already exists elsewhere: LangSmith for LangGraph, AutoGen's OpenTelemetry, the OpenAI Agents SDK's built-in tracing — via their SDK and a dashboard (hosted, or self-hosted for OTel). Workflow Studio instead passively reads Claude Code's own on-disk run artifacts — no SDK, no account — and flags heuristic data instead of presenting it as measured.

A canvas that compiles to the native primitive

Visual authoring is common ground — AutoGen Studio, n8n and Flowise have capable canvases, several more full-featured than ours (LangGraph Studio visualizes a graph you coded rather than authoring one). What differs is the compile target: our 12-block canvas emits a real Claude Code Workflow script, not a graph bound to its own engine.

Local, zero-dependency, no account

Running locally isn't unique — the frameworks' libraries and self-hostable builders (n8n, Flowise) all run on your machine. The honest difference is operational weight: the core is pure standard library with zero runtime dependencies, binds only to 127.0.0.1, and needs no database, account, or telemetry.

The agent is a first-class reader & writer, over MCP

MCP support isn't distinctive by itself. The loop is: the same Claude Code agent that runs the workflow also discovers your designs over MCP, reads their declared contract, inspects the observations, and drafts new designs back into your builder — so a one-way script-on-disk handoff becomes a shared, two-way surface. (It can't start a run; it hands the agent a script the agent runs with its own Workflow tool.)

ToolWhat it isAuthoringObserves real runsLocal · no accountClaude Code
Workflow StudioLocal observe + author layer for Claude Code's built-in Workflow tool. Not a runtime.No-code canvas (12 blocks) → compiles to a real Workflow scriptYes — reads Claude Code's on-disk artifacts; no SDK; heuristics flaggedYes — 127.0.0.1, zero-dep stdlib, no account/telemetryPurpose-built — agent drives it over MCP (can't start a run)
LangGraph + StudioProvider-agnostic framework for stateful graph agents (Py/JS)Code-first — hand-write a StateGraph; Studio visualizes/debugs itYes (strong) — step/time-travel; deep tracing via LangSmithPartial — lib + langgraph dev local; Studio needs a (free) LangSmith accountNone — any LLM; drives its own runtime
CrewAI / AutoGenCode-first multi-agent frameworks (CrewAI MIT; AutoGen now maintenance → MS Agent Framework)Code (Python / YAML). AutoGen Studio adds a capable no-code GUIYes/partial — instrument the runtime (AutoGen OTel; CrewAI AMP / SaaS)Partial — libs local; CrewAI obs hosted-first, AutoGen OTel self-hostableNone — model-agnostic; no Claude Code integration
OpenAI Agents SDKLightweight code-first framework (successor to Swarm)Code only (Python / TS)Yes — built-in tracing, on by defaultPartial — traces default to OpenAI's hosted dashboard; no bundled local UINone — OpenAI's SDK (Claude usable via adapter)
n8n / FlowiseGeneral visual low-code platforms that ARE the runtime (automation / LLM apps)Visual no-code / low-code canvasYes — but of runs inside their platform, not Claude Code runsYes (self-host, often Docker) — n8n fair-code; Flowise Apache-2.0None native — integrate Claude the model via API, not Claude Code

Reflects each tool's own positioning as of mid-2026 (licenses/status change). All are capable in their niche — several have more full-featured canvases or tracing than v0.2.0 — and model/provider portability is a real strength of every other tool here. The axis is fit, not ranking.

Try it

Paste one line — your agent sets it up

You're probably already in a coding agent. Hand it this and walk away — it installs the plugin, checks the MCP server is connected, and tells you when to restart.

Requires uv / uvx on your PATH.

paste this to your coding agent
Read https://github.com/hculap/workflow-studio/blob/main/AGENT_INSTALL.md
and set up Workflow Studio for me — run the steps, verify it,
and tell me whether to restart Claude Code.

Prefer to do it yourself? In a Claude Code session:

in a Claude Code session
/plugin marketplace add hculap/workflow-studio
/plugin install workflow-studio@workflow-studio
Live on PyPI. uvx workflow-studio (dashboard) and uvx workflow-studio mcp work today; /plugin marketplace add hculap/workflow-studio installs the plugin straight from GitHub.