> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clawup.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# redeploy

> Update agents in-place without destroying infrastructure

Updates agents in-place using `pulumi up --refresh` to sync cloud state and apply changes. Preserves existing infrastructure and Tailscale devices. If the stack doesn't exist yet, falls back to a fresh deploy.

Like `deploy`, this command automatically validates secrets and configures Pulumi before redeploying.

## Usage

```bash theme={null}
clawup redeploy [options]
```

## Options

| Option              | Description                                              |
| ------------------- | -------------------------------------------------------- |
| `-y, --yes`         | Skip confirmation prompt                                 |
| `-l, --local`       | Redeploy local Docker containers                         |
| `--env-file <path>` | Path to `.env` file (defaults to `.env` in project root) |
| `--skip-hooks`      | Skip plugin lifecycle hook execution                     |

## What It Does

1. Validates secrets and configures Pulumi (cloud deploys only)
2. Selects the existing Pulumi stack (or creates one if missing)
3. Syncs manifest and config to the Pulumi project
4. Cleans up stale Tailscale devices (cloud only)
5. Runs `pulumi up --refresh` to read actual cloud state and apply changes
6. Displays updated agent details (IPs, Tailscale URLs)

## Local Docker Mode

Use `--local` to redeploy local Docker containers:

```bash theme={null}
clawup redeploy --local
```

This targets the `<stackName>-local` Pulumi stack, copies config from the cloud stack (skipping Tailscale keys), and updates containers in-place. No Tailscale setup is performed.

## Examples

```bash theme={null}
# Redeploy with confirmation
clawup redeploy

# Redeploy without confirmation
clawup redeploy --yes

# Redeploy local Docker containers
clawup redeploy --local --yes
```

<Note>
  Use `redeploy` after changing config values (`clawup config set`) or secrets (`clawup secrets set`) to apply changes to running agents.
</Note>

<Tip>
  If an in-place update can't recover, do a clean rebuild: `clawup destroy -y && clawup deploy -y`
</Tip>
