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

# update

# `openclaw update`

Atualize o OpenClaw com segurança e alterne entre os canais stable/beta/dev.

Se voce instalou via **npm/pnpm** (instalação global, sem metadados git), as atualizações acontecem pelo fluxo do gerenciador de pacotes em [Updating](/install/updating).

## Uso

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw update
openclaw update status
openclaw update wizard
openclaw update --channel beta
openclaw update --channel dev
openclaw update --tag beta
openclaw update --no-restart
openclaw update --json
openclaw --update
```

## Opções

* `--no-restart`: pula o reinício do serviço do Gateway após uma atualização bem-sucedida.
* `--channel <stable|beta|dev>`: define o canal de atualização (git + npm; persistido na configuração).
* `--tag <dist-tag|version>`: substitui o dist-tag do npm ou a versão apenas para esta atualização.
* `--json`: imprime JSON `UpdateRunResult` legível por máquina.
* `--timeout <seconds>`: tempo limite por etapa (o padrão é 1200s).

Nota: downgrades exigem confirmação porque versões mais antigas podem quebrar a configuração.

## `update status`

Mostra o canal de atualização ativo + tag/branch/SHA do git (para checkouts de origem), além da disponibilidade de atualização.

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw update status
openclaw update status --json
openclaw update status --timeout 10
```

Opções:

* `--json`: imprime JSON de status legível por máquina.
* `--timeout <seconds>`: tempo limite para verificações (o padrão é 3s).

## `update wizard`

Fluxo interativo para escolher um canal de atualização e confirmar se deve reiniciar o Gateway
após a atualização (o padrão é reiniciar). Se voce selecionar `dev` sem um checkout git, ele
oferece criar um.

## O que faz

Quando voce troca de canal explicitamente (`--channel ...`), o OpenClaw também mantém o
método de instalação alinhado:

* `dev` → garante um checkout git (padrão: `~/openclaw`, substitua com `OPENCLAW_GIT_DIR`),
  atualiza-o e instala a CLI global a partir desse checkout.
* `stable`/`beta` → instala a partir do npm usando o dist-tag correspondente.

## Fluxo de checkout do Git

Channels:

* `stable`: faz checkout da tag não-beta mais recente e então build + doctor.
* `beta`: faz checkout da tag `-beta` mais recente e então build + doctor.
* `dev`: faz checkout de `main` e então fetch + rebase.

High-level:

1. Requer uma worktree limpa (sem alterações não commitadas).
2. Alterna para o canal selecionado (tag ou branch).
3. Faz fetch do upstream (apenas dev).
4. Apenas dev: lint de pré-checagem + build TypeScript em uma worktree temporária; se a ponta falhar, volta até 10 commits para encontrar o build limpo mais recente.
5. Faz rebase sobre o commit selecionado (apenas dev).
6. Instala dependências (pnpm preferido; fallback para npm).
7. Build + build da Control UI.
8. Executa `openclaw doctor` como a verificação final de “atualização segura”.
9. Sincroniza plugins com o canal ativo (dev usa extensões empacotadas; stable/beta usa npm) e atualiza plugins instalados via npm.

## `--update` abreviação

`openclaw --update` é reescrito para `openclaw update` (útil para shells e scripts de inicialização).

## Veja também

* `openclaw doctor` (oferece executar a atualização primeiro em checkouts git)
* [Development channels](/install/development-channels)
* [Updating](/install/updating)
* [CLI reference](/cli)
