Free forever, no credit card.Get Started for Free →
← All posts
November 8, 2026 · 6 min read

Does Argo Workflows Remember Between Runs? Parameters Pass Inside One Workflow. The Next Workflow Starts Fresh.

Does Argo Workflows Remember Between Runs? Parameters Pass Inside One Workflow. The Next Workflow Starts Fresh. Short answer: Argo Workflows remembers a great deal inside one Workflow, and it can keep a record of finished Workflows if you configure an archive. A new Workflow still starts with only the parameters and artifacts it was submitted with. It does not open the previous Workflow, read what that run learned, and brief itself before the first step runs. That distinction matters as Argo m

Does Argo Workflows Remember Between Runs? Parameters Pass Inside One Workflow. The Next Workflow Starts Fresh.

Short answer: Argo Workflows remembers a great deal inside one Workflow, and it can keep a record of finished Workflows if you configure an archive. A new Workflow still starts with only the parameters and artifacts it was submitted with. It does not open the previous Workflow, read what that run learned, and brief itself before the first step runs.

That distinction matters as Argo moves from batch jobs to scheduled AI work. A CronWorkflow creates a separate Workflow object every night. Tracking a run is not the same as carrying its conclusions into the next run.

What Argo Workflows actually stores

Argo Workflows is an open-source, container-native workflow engine for Kubernetes. A Workflow is a Kubernetes resource. Each step or DAG task runs in its own pod, and the controller records node status, handles retries, and decides what runs next.

Inside that one Workflow, data moves in two well-defined ways:

  • Parameters pass small values, such as strings and numbers, from one template to another. A step can output a value and a later step can read it as an input.
  • Artifacts pass files and directories between steps. The controller uploads an output artifact to a configured repository, such as S3, GCS, or MinIO, and downloads it into a later step's container.

Node status, outputs, and progress all live on the Workflow object while it runs. From the outside, that looks like memory, and inside the run it works like memory. The scope is the boundary: all of it belongs to that Workflow, with its own name and UID.

Retry remembers. Resubmit starts over.

Argo's own rerun options draw the line clearly, and they are worth separating because they sound alike.

Retry works on the same Workflow object. Failed or errored nodes are reset and run again, successful nodes keep their recorded results, and the name and UID stay the same. Retry is a continuation of one run that did not finish cleanly.

Resubmit creates a new Workflow. It gets a new name and a new UID, the graph is evaluated again, and node status from the source Workflow is not carried over. A memoized resubmit is the narrow exception: successful pod nodes can be reused and skipped, so their outputs feed the new Workflow instead of running again. That is reuse of specific step outputs, chosen at resubmit time, not a general memory the new run loads on its own.

Template memoization works at a similar scale: a template can reuse a cached result for matching inputs. What comes back is one step's output, not the reasoning or context built around it.

The archive is a record, not a briefing

Argo can persist completed Workflows to an external database, PostgreSQL or MySQL, through its workflow archive. With archiving enabled and a retention period set, finished Workflows remain viewable after the Workflow resources themselves are deleted from the cluster. Logs can be archived too.

That archive answers an audit question well: what ran, when, with which parameters, and how did it end? It does not answer the next run's question: what should be known before acting today?

Nothing in the submission path reads the archive back into a new Workflow. A CronWorkflow fires, a fresh Workflow object is created from the template and its configured parameters, and the first pod starts with those inputs. If yesterday's run discovered that an account was a test account, that a customer had paused outreach, or that a source file had changed format, the archive holds the evidence inside yesterday's object. Today's Workflow does not load any of it unless custom code fetches it, interprets it, and turns it into inputs.

Artifacts have the same shape. An artifact left in the repository with garbage collection set to keep it can be read again, but only by a step that was explicitly wired to that artifact. Argo does not scan last night's artifacts and assemble a briefing.

What a scheduled AI agent needs instead

Put an AI agent inside that CronWorkflow pattern and the gap becomes practical. Each night the agent reviews new records, checks them against other tools, and flags what needs attention. On Monday it learns which records are duplicates, which contact asked for a pause, and which exception a human approved for one account only.

On Tuesday, a new Workflow object starts. Its parameters say which date range to process. They do not say what Monday concluded. So the agent re-checks the duplicates, risks contacting the paused contact, and treats the one-off exception as either a general rule or no rule at all, depending on what a hand-written summary happened to capture.

The common workarounds are familiar: a summary file in the artifact bucket, a database table the first step queries, or CronWorkflow parameters grown into a briefing nobody wants to maintain. Each works only for fields predicted in advance, and each lives inside the Argo setup, invisible to the operator's other tools.

The layer that carries Monday into Tuesday

Vilix AI is a separate memory layer for exactly that handoff. An agent step running in an Argo pod, a job in another orchestrator, and a tool used interactively can all read and write the same memory over MCP, so the next run starts with the shared past available instead of reconstructing it from an archive.

Vilix AI is cloud-hosted with zero infrastructure to run. There is no extra database, archive store, or sync job to operate for the memory itself. The same memory is available everywhere over MCP, which means a conclusion saved by tonight's Workflow can be read tomorrow by the next Workflow and by any other connected tool, rather than staying locked inside one cluster's Workflow objects.

The memory holds full conversation history, not just extracted facts. When Tuesday's run needs to know why Monday's run skipped a record, it can revisit what was actually discussed and decided, not only a status field that says skipped. That fuller record is what lets a later run change a decision safely when circumstances change.

Vilix AI has a free plan forever, plus a 7-day Pro trial with no credit card. Data stays portable, with export and delete available anytime. One scheduled workflow is enough to test the pattern: save what a run learns, then check what the next run knows.

The test to run on any workflow engine

Ask what happens to one important fact learned tonight. If the answer is that it sits in a node output, an archived Workflow, or an artifact file until someone wires code to fetch it, the engine has history, not memory.

Argo Workflows is strong at the job it was built for: running container steps in order, in parallel, and again after failure. Give the agent on top of it a memory layer built for carrying context between runs, and each system does the part it was designed for.

Give your scheduled agents one shared memory with Vilix AI so the next Workflow starts informed, not just on time.

Get Started for Free

Persistent memory across ChatGPT, Claude, and the AI tools you already use in Vilix AI.

Get Started for Free

Free forever, no credit card.

Keep reading
Does Cadence Remember Between Runs? History Replays Inside One Workflow. The Next One Starts Fresh.

Does Cadence Remember Between Runs? History Replays Inside One Workflow. The Next One Starts Fresh. Short answer: Cadence remembers a great deal inside one workflow execution. Its history can replay that execution after a worker failure and rebuild its state exactly. A separate execution, started tomorrow or started by a schedule, begins with only the inputs it was given. It does not read the previous execution's history and brief itself. That line is easy to miss, because Cadence persistence

Does Restate Remember Between Runs? The Journal Replays One Invocation. The Next Run Still Starts Fresh.

Does Restate Remember Between Runs? The Journal Replays One Invocation. The Next Run Still Starts Fresh. Short answer: Restate remembers a great deal inside one invocation, and one specific kind of state across invocations, and still a new run does not start by loading the last run's work. Restate journals every step of an execution so a crashed run can replay and resume. Virtual Objects keep keyed state that persists for that key. A fresh workflow or service invocation, started by a schedule o

Does Conductor Remember Between Runs? Workers Are Stateless. The Next Run Still Starts Fresh.

Does Conductor Remember Between Runs? No. Conductor remembers everything inside one workflow execution and nothing carries into the next run on its own. Each task's inputs and outputs are stored, so a failed or paused execution can resume where it stopped. A new execution starts with only the inputs it was given. It does not load the previous run's outputs, decisions, or reasoning before it begins. That boundary is easy to miss because Conductor feels durable. A workflow can pause for a human