---
read_when:
    - Ви хочете безпечно оновити робочу копію вихідного коду
    - Потрібно зрозуміти поведінку скорочення `--update`
summary: Довідник CLI для `openclaw update` (умовно безпечне оновлення джерела + автоматичний перезапуск Gateway)
title: Оновлення
x-i18n:
    generated_at: "2026-05-02T19:23:28Z"
    model: gpt-5.5
    provider: openai
    source_hash: 35df8c6d8b1adb9597377f6e2b4844352577992c12636a88b3f3c1854dc0666b
    source_path: cli/update.md
    workflow: 16
---

# `openclaw update`

Безпечно оновлюйте OpenClaw і перемикайтеся між каналами stable/beta/dev.

Якщо ви встановили через **npm/pnpm/bun** (глобальне встановлення, без git-метаданих),
оновлення виконуються через потік менеджера пакетів у [Оновлення](/uk/install/updating).

## Використання

```bash
openclaw update
openclaw update status
openclaw update wizard
openclaw update --channel beta
openclaw update --channel dev
openclaw update --tag beta
openclaw update --tag main
openclaw update --dry-run
openclaw update --no-restart
openclaw update --yes
openclaw update --json
openclaw --update
```

## Параметри

- `--no-restart`: пропустити перезапуск служби Gateway після успішного оновлення. Оновлення через менеджер пакетів, які перезапускають Gateway, перевіряють, що перезапущена служба повідомляє очікувану оновлену версію, перш ніж команда завершиться успішно.
- `--channel <stable|beta|dev>`: установити канал оновлення (git + npm; зберігається в конфігурації).
- `--tag <dist-tag|version|spec>`: перевизначити ціль пакета лише для цього оновлення. Для пакетних встановлень `main` відповідає `github:openclaw/openclaw#main`.
- `--dry-run`: попередньо переглянути заплановані дії оновлення (канал/тег/ціль/потік перезапуску) без запису конфігурації, встановлення, синхронізації плагінів або перезапуску.
- `--json`: вивести машиночитний JSON `UpdateRunResult`, включно з
  `postUpdate.plugins.integrityDrifts`, коли під час післяоновлювальної синхронізації плагінів
  виявлено дрейф npm-артефактів плагінів.
- `--timeout <seconds>`: тайм-аут для кожного кроку (типово 1800 с).
- `--yes`: пропустити запити підтвердження (наприклад, підтвердження пониження версії).

<Warning>
Пониження версії потребує підтвердження, оскільки старіші версії можуть порушити конфігурацію.
</Warning>

## `update status`

Показати активний канал оновлення + git-тег/гілку/SHA (для checkout-ів із вихідного коду), а також доступність оновлень.

```bash
openclaw update status
openclaw update status --json
openclaw update status --timeout 10
```

Параметри:

- `--json`: вивести машиночитний JSON стану.
- `--timeout <seconds>`: тайм-аут для перевірок (типово 3 с).

## `update wizard`

Інтерактивний потік для вибору каналу оновлення та підтвердження, чи перезапускати Gateway
після оновлення (типово перезапуск виконується). Якщо вибрати `dev` без git checkout, він
запропонує створити його.

Параметри:

- `--timeout <seconds>`: тайм-аут для кожного кроку оновлення (типово `1800`)

## Що він робить

Коли ви явно перемикаєте канали (`--channel ...`), OpenClaw також підтримує
узгодженість методу встановлення:

- `dev` → забезпечує git checkout (типово: `~/openclaw`, можна перевизначити через `OPENCLAW_GIT_DIR`),
  оновлює його та встановлює глобальний CLI із цього checkout.
- `stable` → встановлює з npm за допомогою `latest`.
- `beta` → надає перевагу npm dist-tag `beta`, але повертається до `latest`, коли beta
  відсутня або старіша за поточний stable-реліз.

Автооновлювач ядра Gateway (коли його ввімкнено через конфігурацію) запускає шлях оновлення CLI
поза активним обробником запитів Gateway. Оновлення через менеджер пакетів `update.run` у площині керування
примусово виконують невідкладний перезапуск оновлення без cooldown після заміни пакета,
оскільки старий процес Gateway усе ще може мати в пам’яті фрагменти, що вказують на
файли, видалені новим пакетом.

Для встановлень через менеджер пакетів `openclaw update` визначає цільову версію
пакета перед викликом менеджера пакетів. Глобальні npm-встановлення використовують поетапне
встановлення: OpenClaw встановлює новий пакет у тимчасовий npm-префікс, перевіряє
упакований інвентар `dist` там, а потім замінює цим чистим деревом пакета
реальний глобальний префікс. Якщо перевірка не вдається, післяоновлювальні doctor, синхронізація плагінів і
робота з перезапуску не виконуються з підозрілого дерева. Навіть коли встановлена версія
вже збігається з цільовою, команда оновлює глобальне встановлення пакета,
потім виконує синхронізацію плагінів, оновлення автодоповнення основних команд і перезапуск. Це
підтримує упаковані sidecar-и та записи плагінів, що належать каналу, узгодженими з
встановленою збіркою OpenClaw, залишаючи повні перебудови автодоповнення команд плагінів для
явних запусків `openclaw completion --write-state`.

Коли встановлено локальну керовану службу Gateway і перезапуск увімкнено,
оновлення через менеджер пакетів зупиняють запущену службу перед заміною дерева пакета,
потім оновлюють метадані служби з оновленого встановлення, перезапускають
службу та перевіряють, що перезапущений Gateway повідомляє очікувану версію. З
`--no-restart` заміна пакета все одно виконується, але керована служба не
зупиняється і не перезапускається, тому запущений Gateway може зберігати старий код, доки ви не перезапустите
його вручну.

## Потік git checkout

### Вибір каналу

- `stable`: checkout найновішого не-beta тегу, потім збірка та doctor.
- `beta`: надати перевагу найновішому тегу `-beta`, але повернутися до найновішого stable-тегу, коли beta відсутня або старіша.
- `dev`: checkout `main`, потім fetch і rebase.

### Кроки оновлення

<Steps>
  <Step title="Перевірити чистий worktree">
    Потребує відсутності незакомічених змін.
  </Step>
  <Step title="Перемкнути канал">
    Перемикає на вибраний канал (тег або гілку).
  </Step>
  <Step title="Отримати upstream">
    Лише для dev.
  </Step>
  <Step title="Попередня збірка (лише dev)">
    Запускає lint і збірку TypeScript у тимчасовому worktree. Якщо tip не проходить, відступає назад до 10 комітів, щоб знайти найновішу чисту збірку.
  </Step>
  <Step title="Rebase">
    Виконує rebase на вибраний коміт (лише dev).
  </Step>
  <Step title="Встановити залежності">
    Використовує менеджер пакетів репозиторію. Для pnpm checkout-ів оновлювач bootstrap-ить `pnpm` на вимогу (спочатку через `corepack`, потім тимчасовий fallback `npm install pnpm@10`) замість запуску `npm run build` усередині pnpm workspace.
  </Step>
  <Step title="Зібрати Control UI">
    Збирає gateway і Control UI.
  </Step>
  <Step title="Запустити doctor">
    `openclaw doctor` запускається як фінальна перевірка безпечного оновлення.
  </Step>
  <Step title="Синхронізувати плагіни">
    Синхронізує плагіни з активним каналом. Dev використовує bundled plugins; stable і beta використовують npm. Оновлює відстежувані встановлення плагінів.
  </Step>
</Steps>

На beta-каналі оновлення відстежувані встановлення npm і ClawHub-плагінів, що дотримуються
типової/latest лінії, спочатку пробують реліз плагіна `@beta`. Якщо плагін не має
beta-релізу, OpenClaw повертається до записаної default/latest spec. Точні
версії та явні теги не переписуються.

<Warning>
Якщо оновлення точно закріпленого npm-плагіна розв’язується в артефакт, цілісність якого відрізняється від збереженого запису встановлення, `openclaw update` перериває оновлення цього артефакта плагіна замість його встановлення. Перевстановіть або оновіть плагін явно лише після перевірки, що ви довіряєте новому артефакту.
</Warning>

<Note>
Збої післяоновлювальної синхронізації плагінів позначають результат оновлення як невдалий і зупиняють подальшу роботу з перезапуску. Виправте помилку встановлення або оновлення плагіна, а потім повторно запустіть `openclaw update`.

Коли оновлений Gateway запускається, завантаження плагінів працює лише в режимі перевірки: запуск не запускає менеджери пакетів і не змінює дерева залежностей. Перезапуски `update.run` через менеджер пакетів обходять звичайне відкладення під час простою та cooldown перезапуску після заміни дерева пакета, тож старий процес не може продовжувати ліниво завантажувати видалені фрагменти.

Якщо bootstrap pnpm усе ще не вдається, оновлювач зупиняється рано з помилкою, специфічною для менеджера пакетів, замість спроби виконати `npm run build` усередині checkout.
</Note>

## Скорочення `--update`

`openclaw --update` переписується на `openclaw update` (корисно для shell-ів і скриптів запуску).

## Пов’язане

- `openclaw doctor` (пропонує спочатку запустити оновлення для git checkout-ів)
- [Канали розробки](/uk/install/development-channels)
- [Оновлення](/uk/install/updating)
- [Довідник CLI](/uk/cli)
