# Updating Deployed Workflows
Source: https://docs.chain.link/cre/guides/operations/updating-deployed-workflows
Last Updated: 2026-01-23

> For the complete documentation index, see [llms.txt](/llms.txt).

When you update a deployed workflow, you redeploy it with the same workflow name. The new deployment replaces the previous version in the Workflow Registry contract. Currently, CRE does not maintain version history—each deployment overwrites the previous one.

> **CAUTION: Workflow ID changes on update**
>
> The workflow ID changes each time you update a workflow. This is because the workflow ID is a hash derived from the workflow binary and configuration. If your consumer contract uses the workflow ID for validation, make sure to update the expected workflow ID after each update. See [Building Consumer Contracts](/cre/guides/workflow/using-evm-client/onchain-write/building-consumer-contracts#34-configuring-permissions) for details.

## Prerequisites

Before updating a deployed workflow, ensure you have:

- **A [deployed workflow](/cre/guides/operations/deploying-workflows)**: The workflow must already exist in the Workflow Registry.
- **Workflow ownership**: You must be the owner of the workflow (the account that originally deployed it). Only the workflow owner can update it.
- **Local workflow folder**: You must run this command from your project directory. The CLI reads the workflow name and configuration from your `workflow.yaml` file to identify which workflow to update.
- **[Logged in](/cre/reference/cli/authentication#cre-login)**: Authenticated with the platform by running `cre login`. To check if you are logged in, run `cre whoami`.
- **A funded wallet**: The account must be funded with ETH on Ethereum Mainnet to pay the gas fees for the onchain transaction to the Workflow Registry contract.

## Updating a workflow

To update a workflow, simply redeploy it using the same workflow name:

```bash
cre workflow deploy my-workflow --target production-settings
```

### What happens during an update

1. **Compilation**: Your updated workflow code is compiled to WASM
2. **Upload**: The new binary and configuration files are uploaded to the CRE Storage Service
3. **Registration**: A new registration transaction is sent to the Workflow Registry contract
4. **Replacement**: The previous version is replaced with the new deployment
5. **Status preserved**: The workflow's status (active or paused) is preserved from the previous deployment

> **NOTE: Workflow status is preserved**
>
> When you update a workflow, the CLI matches the status of the previously deployed version. If your workflow was paused, the updated version will remain paused. If it was active, the updated version will be active and immediately start responding to triggers. To change the workflow status, see [Activating & Pausing Workflows](/cre/guides/operations/activating-pausing-workflows).

> **CAUTION: No version history**
>
> CRE does not currently maintain workflow version history. When you redeploy a workflow with the same name, it completely replaces the previous deployment. You cannot roll back to a previous version through the CLI.

## Best practices for updates

1. **Test locally first**: Always test your changes using `cre workflow simulate` before deploying to production
2. **Pause before updating** (optional): If you want to ensure no triggers fire during the update, pause the workflow first using `cre workflow pause`
3. **Monitor after deployment**: Check that the updated workflow executes correctly after deployment
4. **Keep track of changes**: Maintain your own version control (e.g., Git tags) to track workflow versions

## Using multi-sig wallets

The `deploy` command supports multi-sig wallets through the `--unsigned` flag. When using this flag, the CLI generates raw transaction data that you can submit through your multi-sig wallet interface instead of sending the transaction directly.

For complete setup instructions, configuration requirements, and step-by-step guidance, see [Using Multi-sig Wallets](/cre/guides/operations/using-multisig-wallets).

## Learn more

- [Deploying Workflows](/cre/guides/operations/deploying-workflows) — Learn about the initial deployment process
- [Activating & Pausing Workflows](/cre/guides/operations/activating-pausing-workflows) — Control workflow execution state
- [Deleting Workflows](/cre/guides/operations/deleting-workflows) — Remove workflows from the registry