compare · claude code

Claude Code Dynamic Workflows alternative: sign-off between stages

Use Claude Code Dynamic Workflows when one task needs dozens of subagents in a single run: audits, migrations, cross-checked research. Use ConvOps when a person must sign off between stages, the work spans sessions, AI clients or teammates, and you need an audit trail. You can use both: ConvOps holds the process, one step runs the fan-out.

as of October 2026·updated ·published

Dynamic workflowone script, one run
Planagent
Fan outmany agents
Cross-checkverifiers
Reportat the end

No mid-run input. Sign-off comes after the report.

ConvOps workflowsteps on a server, any sessionsession 1 · Claude Code
PlanClaude Code
Approveyou decide
Auditfan-out step
Reviewyou decide
Shiprecorded

Waits at each gate until a person approves.

Should you choose Dynamic Workflows or ConvOps?

Choose Dynamic Workflows when one big task needs many agents in one run. Choose ConvOps when the agents you already use must follow a process with sign-off, memory and a record.

choose Dynamic Workflows if

  • One big job split across many agents in one run: a 500-file migration, a repo-wide audit, a research question with sources cross-checked.
  • Nobody needs to approve anything between the plan and the final report.
  • Recurring jobs on a schedule, an API call or a GitHub event on Anthropic's cloud. That is Routines, the sibling feature.

choose ConvOps if

  • A person must sign off between stages: the plan before the build, the review before the ship.
  • The work spans days and sessions, or moves between Claude Code, Codex, Cursor, ChatGPT and teammates.
  • You need a record of who changed what, with the agent's label kept apart from the verified human, for the whole team.

How do Dynamic Workflows and ConvOps compare?

Side by side, as of October 2026. ConvOps is the operations layer for AI agents: an MCP server that holds the process your AI clients follow, with approval gates, a shared memory and an audit trail. Every Dynamic Workflows cell links to the official source it comes from; ConvOps cells describe the product as it ships today.

CapabilityDynamic Workflows ConvOps
What runs the stepsSubagents spawned by a JavaScript script Claude writes. A runtime executes it in the background of your session. [1]Your AI client runs each step. ConvOps hands it one step at a time and runs no AI models itself.
Where the process livesA script. Saved runs go to .claude/workflows/ in the repo or ~/.claude/workflows/ for you alone; each run's script sits in the session directory. [1]A workflow in your ConvOps workspace, reached over MCP and changed by asking your AI client.
Human approval gatesYou approve the planned phases before a run starts (depending on permission mode). No mid-run user input: for sign-off between stages, the docs say to run each stage as its own workflow. [1]Approval gates on any step, evaluated by the engine. The run waits at the gate, for minutes or days, until approval is passed.
MemoryScript variables hold intermediate results for the run. Across sessions, Claude Code reads CLAUDE.md and AGENTS.md files plus the auto memory Claude writes for itself, per project and per person. [3]A shared brain of memories and routes, recalled across sessions, AI clients and workspaces.
Audit trailThe /workflows view shows each agent's prompt, tool calls and result. The run's script is kept under the session directory. [1]An audit row for every change to tasks and workflow runs, keeping the agent's self-declared label apart from the server-verified human.
Resuming laterResumable within the same session. A session resumed with claude --resume can replay saved results; a fresh session starts over. [1]Every step is persisted on the server. Any session, AI client or teammate picks the run up at its current step.
Attended or unattendedRuns in the background of your session. Routines run a saved prompt unattended on Anthropic's cloud, triggered by a schedule, an API call or a GitHub event. [2]Attended in your AI session, or unattended through executors and RRULE schedules, including one pod per run on your own Kubernetes.
Self-hostingRuns inside Claude Code wherever you run it. Routines can be routed to your organization's self-hosted environment. [2]Hosted at mcp.convops.app, or self-hosted on your Kubernetes with one Helm chart on Enterprise.
Pricing modelIncluded in paid Claude plans and API access (on Pro, switch it on in /config). Runs draw on your plan's usage and rate limits. [1]Free $0, Pro $79/mo ($66/mo billed annually), Business $299/mo ($249/mo annually), Enterprise from $2,500/mo. Every feature on every plan; you pay for scale. Your AI client is billed separately.
Client supportClaude Code: CLI, Desktop app, IDE extensions, claude -p and the Agent SDK. [1]Any MCP client. Verified: Claude Code, Claude (web, desktop and Cowork), OpenAI Codex, ChatGPT, Cursor and OpenCode.
Scale in one runUp to 16 concurrent agents by default (fewer on machines with fewer CPUs, configurable up to 256) and 1,000 agents per run. [1]Not a fan-out engine. Steps in one workflow run in order; parallel work is child tasks the parent waits for.

What are Claude Code Dynamic Workflows?

A dynamic workflow is a JavaScript script Claude writes to orchestrate many subagents for one task. A runtime executes it in the background, so the plan, the loop and the intermediate results live in code instead of in Claude's context window. Anthropic introduced the feature on May 28, 2026.

You start one by asking for a workflow, by typing the keyword ultracode, or with /effort ultracode for the whole session. Inside the script, agent() spawns one subagent, pipeline() runs one per item and parallel() runs a set at once. /deep-research ships built in, and you can save any run as your own command (Anthropic docs, launch post).

Routines are the sibling feature: a saved prompt, repositories and connectors that run on Anthropic-managed cloud from a schedule, an API call or a GitHub event. They are in research preview and run autonomously, without stopping for approval apart from some artifact actions (Routines docs).

Can a dynamic workflow pause for human approval?

Not in the middle of a run. Anthropic's docs list "No mid-run user input" as a runtime constraint and say that for sign-off between stages you should run each stage as its own workflow.

A run pauses on its own only for agent permission prompts and a usage-limit wait. You can approve the planned phases before it starts, pause or stop it from /workflows, and read every agent's result afterwards (behavior and limits). What it does not hold is a point inside the process where a person says yes before the next stage.

That is the part ConvOps is built for. An approval gate sits on a step, the engine evaluates it on every advance, and the run waits until approval is passed. The wait can last days, and the person who approves can do it from another AI client. See human approval gates for AI agents for the patterns, and workflow gates for the definition.

How does ConvOps run a process instead?

ConvOps is an MCP server that holds your process as workflows. Your AI client asks for the current step, does the work and asks to advance; the engine checks the step's gates before the cursor moves.

The agent sees only the step in front of it. Decisions can invoke a sub-workflow; the parent waits, then continues (workflow engine). The brain keeps memory for the next session, governance writes an audit row for every change, and the same workflow can later run unattended, with gates still holding.

Where are Dynamic Workflows stronger?

At scale inside one run. ConvOps does not compete there, and the honest answer for a 500-file migration is a dynamic workflow.

  • Fan-out at scale

    Dozens to hundreds of agents per run, up to 4,096 items in one pipeline() or parallel() call, with concurrency bounded for you.

  • Quality patterns in code

    Independent agents can adversarially review each other's findings before anything is reported, which a single pass cannot do.

  • Almost nothing to set up

    It ships in Claude Code on paid plans; on Pro you switch it on in /config. No server, no account, no second tool.

  • Shared prompt cache

    Agents with the same setup read each other's cache, so a fan-out does not process the same prefix uncached for every agent.

Where is ConvOps different?

It is built for the parts of a process that happen between runs: the sign-off, the hand-off and the next session.

  • Sign-off inside the process

    Approval gates sit between stages, evaluated by the engine. The run waits there, and the refusal names the unmet condition.

  • Persistent across sessions and clients

    A run started in Claude Code can be approved and finished from Codex, Cursor or ChatGPT, by you or a teammate.

  • A record you can show

    Every change to a task or run is written with the agent's label and the verified account behind it.

  • One process for the team

    Workflows live in a shared workspace, not in one person's session directory, and cover non-coding work too.

ConvOps has limits worth knowing. It has no visual graph editor, no code or shell nodes (steps are instructions; gates check state), and steps inside one workflow run in order. Approval is passed explicitly on the advance call, and the record shows the verified account behind that advance rather than a separate signed approval.

Can you use Dynamic Workflows and ConvOps together?

Yes, and it is the pattern we recommend: ConvOps holds the process and the gates, and one step tells Claude Code to run its fan-out as a dynamic workflow.

Anthropic's advice for sign-off is to run each stage as its own workflow. A ConvOps workflow makes that explicit: each stage is a step, with a gate between them. The audit step says "use a workflow to audit every route handler", Claude Code runs the fan-out, and the review gate waits for a person before the fixes begin.

one ConvOps workflow, with Dynamic Workflows inside one step

PlanClaude Code
Approve planapproval
Auditdynamic workflow
Review findingsapproval
Fixany client
Donerecorded

How do you add sign-off to a Claude Code workflow?

Connect ConvOps to Claude Code, describe the process, and put approval gates where the sign-off belongs. Keep your dynamic workflows for the steps that need fan-out.

  1. 1

    Connect ConvOps to Claude Code

    One line in your terminal. Sign in with OAuth from /mcp on first use; there are no keys to copy. The Claude Code setup guide covers scopes and troubleshooting.

    claude mcp add --transport http convops https://mcp.convops.app/
  2. 2

    Describe the process

    Ask Claude to create a workflow in plain words: "Plan, approval, audit, review, fix." ConvOps stores it as steps in your workspace.

  3. 3

    Put gates where people decide

    Mark the plan approval and the findings review as approval gates. The engine will not advance past them until approval is passed.

  4. 4

    Call your saved workflow from a step

    Save a dynamic workflow run with s in /workflows, then name it in the audit step's instructions so every run uses the same orchestration.

What else do people ask about Claude Code Dynamic Workflows and ConvOps?

Short answers to the questions that come up most, with the same sources as the table above.

Does ConvOps replace Claude Code Dynamic Workflows?

No. Dynamic Workflows are a fast way to fan out many subagents inside one run. ConvOps is the process those runs belong to: the steps before and after, the approval gates between them, the memory and the audit trail. A ConvOps step can tell Claude Code to run a dynamic workflow.

What is the difference between Dynamic Workflows and Routines?

A dynamic workflow is a script that orchestrates subagents inside your Claude Code session. A routine is a saved prompt, repositories and connectors that runs on Anthropic's cloud from a schedule, an API call or a GitHub event, without stopping for approval apart from some artifact actions. Routines are in research preview.

Can a dynamic workflow resume tomorrow in a new session?

Only by replaying saved results from the same session. Anthropic's docs say a run is resumable within the same session, and a session resumed with claude --resume can replay its results; a fresh session starts the workflow over. A ConvOps run is persisted on the server and resumes at its current step from any session.

Where do these facts come from?

From the official documentation, repository and pricing pages for Claude Code Dynamic Workflows, checked in October 2026. Anything we could not verify there is left out.

  1. [1]Claude Code docs: Orchestrate subagents at scale with dynamic workflows
  2. [2]Claude Code docs: Automate work with routines
  3. [3]Claude Code docs: How Claude remembers your project
  4. [4]Anthropic blog: Introducing dynamic workflows (May 28, 2026)

Spotted something out of date? Tell us and we will correct the page and its date.