---
read_when:
    - Відповіді на поширені запитання щодо налаштування, встановлення, онбордингу або підтримки під час роботи
    - Первинне опрацювання проблем, про які повідомили користувачі, перед глибшим налагодженням
summary: Поширені запитання про налаштування, конфігурацію та використання OpenClaw
title: Поширені запитання
x-i18n:
    generated_at: "2026-04-28T11:15:57Z"
    model: gpt-5.5
    provider: openai
    source_hash: b95bbc31c42d69d2aed142bdfba6b77ac203eb557765a864a2d3b6bd67e4d3ff
    source_path: help/faq.md
    workflow: 16
---

Короткі відповіді та глибше усунення несправностей для реальних налаштувань (локальна розробка, VPS, кілька агентів, OAuth/API-ключі, резервне перемикання моделей). Для діагностики середовища виконання див. [Усунення несправностей](/uk/gateway/troubleshooting). Повний довідник конфігурації див. у [Конфігурація](/uk/gateway/configuration).

## Перші 60 секунд, якщо щось зламалося

1. **Швидкий стан (перша перевірка)**

   ```bash
   openclaw status
   ```

   Швидкий локальний підсумок: ОС + оновлення, доступність gateway/служби, агенти/сеанси, конфігурація провайдера + проблеми середовища виконання (коли Gateway доступний).

2. **Звіт для вставлення (безпечний для поширення)**

   ```bash
   openclaw status --all
   ```

   Діагностика лише для читання з хвостом журналу (токени приховано).

3. **Стан демона + порту**

   ```bash
   openclaw gateway status
   ```

   Показує середовище виконання супервізора порівняно з доступністю RPC, цільову URL-адресу перевірки та яку конфігурацію, ймовірно, використала служба.

4. **Глибокі перевірки**

   ```bash
   openclaw status --deep
   ```

   Запускає живу перевірку стану Gateway, включно з перевірками каналів, якщо вони підтримуються
   (потрібен доступний Gateway). Див. [Стан](/uk/gateway/health).

5. **Переглянути хвіст останнього журналу**

   ```bash
   openclaw logs --follow
   ```

   Якщо RPC недоступний, використайте запасний варіант:

   ```bash
   tail -f "$(ls -t /tmp/openclaw/openclaw-*.log | head -1)"
   ```

   Файлові журнали відокремлені від журналів служби; див. [Журналювання](/uk/logging) і [Усунення несправностей](/uk/gateway/troubleshooting).

6. **Запустіть doctor (виправлення)**

   ```bash
   openclaw doctor
   ```

   Виправляє/мігрує конфігурацію/стан + запускає перевірки стану. Див. [Doctor](/uk/gateway/doctor).

7. **Знімок Gateway**

   ```bash
   openclaw health --json
   openclaw health --verbose   # shows the target URL + config path on errors
   ```

   Запитує в запущеного Gateway повний знімок (лише WS). Див. [Стан](/uk/gateway/health).

## Швидкий старт і перше налаштування

Питання й відповіді для першого запуску — встановлення, онбординг, маршрути автентифікації, підписки, початкові збої —
розміщені в [FAQ першого запуску](/uk/help/faq-first-run).

## Що таке OpenClaw?

<AccordionGroup>
  <Accordion title="Що таке OpenClaw одним абзацом?">
    OpenClaw — це персональний AI-асистент, який ви запускаєте на власних пристроях. Він відповідає в каналах обміну повідомленнями, якими ви вже користуєтеся (WhatsApp, Telegram, Slack, Mattermost, Discord, Google Chat, Signal, iMessage, WebChat і вбудовані Plugin каналів, як-от QQ Bot), а також може підтримувати голос + живий Canvas на підтримуваних платформах. **Gateway** — це постійно ввімкнена площина керування; асистент — це продукт.
  </Accordion>

  <Accordion title="Ціннісна пропозиція">
    OpenClaw — це не «просто оболонка для Claude». Це **локально-орієнтована площина керування**, яка дає змогу запускати
    потужного асистента на **вашому власному обладнанні**, доступного з чат-застосунків, якими ви вже користуєтеся, із
    сеансами зі станом, пам’яттю та інструментами - без передавання контролю над вашими робочими процесами розміщеному
    SaaS.

    Основне:

    - **Ваші пристрої, ваші дані:** запускайте Gateway там, де хочете (Mac, Linux, VPS), і зберігайте
      робочий простір + історію сеансів локально.
    - **Реальні канали, а не веб-пісочниця:** WhatsApp/Telegram/Slack/Discord/Signal/iMessage/тощо,
      плюс мобільний голос і Canvas на підтримуваних платформах.
    - **Незалежність від моделі:** використовуйте Anthropic, OpenAI, MiniMax, OpenRouter тощо з маршрутизацією
      та резервним перемиканням для кожного агента.
    - **Опція лише локально:** запускайте локальні моделі, щоб **усі дані могли залишатися на вашому пристрої**, якщо хочете.
    - **Маршрутизація між кількома агентами:** окремі агенти для кожного каналу, облікового запису чи завдання, кожен зі своїм
      робочим простором і типовими налаштуваннями.
    - **Відкритий код і можливість модифікації:** перевіряйте, розширюйте й самостійно хостіть без прив’язки до постачальника.

    Документація: [Gateway](/uk/gateway), [Канали](/uk/channels), [Кілька агентів](/uk/concepts/multi-agent),
    [Пам’ять](/uk/concepts/memory).

  </Accordion>

  <Accordion title="Я щойно все налаштував - що зробити спочатку?">
    Хороші перші проєкти:

    - Створіть вебсайт (WordPress, Shopify або простий статичний сайт).
    - Створіть прототип мобільного застосунку (план, екрани, план API).
    - Упорядкуйте файли й папки (очищення, іменування, тегування).
    - Під’єднайте Gmail і автоматизуйте зведення або подальші дії.

    Він може виконувати великі завдання, але найкраще працює, коли ви розбиваєте їх на фази й
    використовуєте підагентів для паралельної роботи.

  </Accordion>

  <Accordion title="Які п’ять найпопулярніших щоденних сценаріїв використання OpenClaw?">
    Щоденна користь зазвичай виглядає так:

    - **Особисті брифінги:** зведення вхідних, календаря та новин, які вас цікавлять.
    - **Дослідження й чернетки:** швидке дослідження, зведення та перші чернетки для електронних листів або документів.
    - **Нагадування та подальші дії:** підказки й контрольні списки, керовані Cron або Heartbeat.
    - **Автоматизація браузера:** заповнення форм, збирання даних і повторення вебзавдань.
    - **Координація між пристроями:** надішліть завдання з телефона, дозвольте Gateway виконати його на сервері й отримайте результат у чаті.

  </Accordion>

  <Accordion title="Чи може OpenClaw допомогти з лідогенерацією, аутричем, рекламою та блогами для SaaS?">
    Так, для **дослідження, кваліфікації та створення чернеток**. Він може сканувати сайти, формувати короткі списки,
    узагальнювати потенційних клієнтів і писати чернетки аутричу або рекламних текстів.

    Для **аутричу або запусків реклами** залишайте людину в процесі. Уникайте спаму, дотримуйтеся місцевих законів і
    політик платформ та переглядайте все перед надсиланням. Найбезпечніший підхід — дозволити
    OpenClaw підготувати чернетку, а вам її затвердити.

    Документи: [Безпека](/uk/gateway/security).

  </Accordion>

  <Accordion title="Які переваги порівняно з Claude Code для веброзробки?">
    OpenClaw — це **персональний асистент** і координаційний шар, а не заміна IDE. Використовуйте
    Claude Code або Codex для найшвидшого прямого циклу програмування всередині репозиторію. Використовуйте OpenClaw, коли вам
    потрібні довготривала пам’ять, доступ із різних пристроїв і оркестрація інструментів.

    Переваги:

    - **Постійна пам’ять + робочий простір** між сеансами
    - **Багатоплатформний доступ** (WhatsApp, Telegram, TUI, WebChat)
    - **Оркестрація інструментів** (браузер, файли, планування, хуки)
    - **Постійно ввімкнений Gateway** (запускайте на VPS, взаємодійте звідусіль)
    - **Node** для локального браузера/екрана/камери/exec

    Демонстрація: [https://openclaw.ai/showcase](https://openclaw.ai/showcase)

  </Accordion>
</AccordionGroup>

## Skills і автоматизація

<AccordionGroup>
  <Accordion title="Як налаштувати Skills, не залишаючи репозиторій зміненим?">
    Використовуйте керовані перевизначення замість редагування копії в репозиторії. Розмістіть свої зміни в `~/.openclaw/skills/<name>/SKILL.md` (або додайте папку через `skills.load.extraDirs` у `~/.openclaw/openclaw.json`). Пріоритет: `<workspace>/skills` → `<workspace>/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → вбудовані → `skills.load.extraDirs`, тому керовані перевизначення все одно мають перевагу над вбудованими Skills без змін у git. Якщо вам потрібно встановити skill глобально, але зробити його видимим лише для деяких агентів, тримайте спільну копію в `~/.openclaw/skills` і керуйте видимістю через `agents.defaults.skills` та `agents.list[].skills`. Лише зміни, варті внесення в upstream, мають жити в репозиторії та виходити як PR.
  </Accordion>

  <Accordion title="Чи можу я завантажувати Skills із власної папки?">
    Так. Додайте додаткові каталоги через `skills.load.extraDirs` у `~/.openclaw/openclaw.json` (найнижчий пріоритет). Стандартний пріоритет: `<workspace>/skills` → `<workspace>/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → вбудовані → `skills.load.extraDirs`. `clawhub` стандартно встановлює в `./skills`, що OpenClaw під час наступного сеансу трактує як `<workspace>/skills`. Якщо skill має бути видимим лише певним агентам, поєднайте це з `agents.defaults.skills` або `agents.list[].skills`.
  </Accordion>

  <Accordion title="Як використовувати різні моделі для різних завдань?">
    Сьогодні підтримуються такі шаблони:

    - **Cron завдання**: ізольовані завдання можуть задавати перевизначення `model` для кожного завдання.
    - **Субагенти**: спрямовуйте завдання до окремих агентів із різними моделями за замовчуванням.
    - **Перемикання на вимогу**: використовуйте `/model`, щоб будь-коли перемкнути модель поточного сеансу.

    Див. [Cron завдання](/uk/automation/cron-jobs), [Маршрутизація між кількома агентами](/uk/concepts/multi-agent) і [Slash-команди](/uk/tools/slash-commands).

  </Accordion>

  <Accordion title="Бот зависає під час важкої роботи. Як це винести окремо?">
    Використовуйте **субагентів** для довгих або паралельних завдань. Субагенти працюють у власному сеансі,
    повертають підсумок і зберігають основний чат responsive.

    Попросіть бота "spawn a sub-agent for this task" або використайте `/subagents`.
    Використовуйте `/status` у чаті, щоб побачити, що Gateway робить зараз (і чи він зайнятий).

    Порада щодо токенів: довгі завдання й субагенти споживають токени. Якщо вартість має значення, задайте
    дешевшу модель для субагентів через `agents.defaults.subagents.model`.

    Документи: [Субагенти](/uk/tools/subagents), [Фонові завдання](/uk/automation/tasks).

  </Accordion>

  <Accordion title="Як працюють прив’язані до тредів сеанси субагентів у Discord?">
    Використовуйте прив’язки тредів. Ви можете прив’язати тред Discord до субагента або цільового сеансу, щоб подальші повідомлення в цьому треді залишалися в цьому прив’язаному сеансі.

    Базовий процес:

    - Створіть через `sessions_spawn` з `thread: true` (і, за потреби, `mode: "session"` для постійного продовження).
    - Або прив’яжіть вручну через `/focus <target>`.
    - Використовуйте `/agents`, щоб перевірити стан прив’язки.
    - Використовуйте `/session idle <duration|off>` і `/session max-age <duration|off>`, щоб керувати автоматичним зняттям фокуса.
    - Використовуйте `/unfocus`, щоб від’єднати тред.

    Обов’язкова конфігурація:

    - Глобальні значення за замовчуванням: `session.threadBindings.enabled`, `session.threadBindings.idleHours`, `session.threadBindings.maxAgeHours`.
    - Перевизначення Discord: `channels.discord.threadBindings.enabled`, `channels.discord.threadBindings.idleHours`, `channels.discord.threadBindings.maxAgeHours`.
    - Автоматична прив’язка під час створення: установіть `channels.discord.threadBindings.spawnSubagentSessions: true`.

    Документи: [Субагенти](/uk/tools/subagents), [Discord](/uk/channels/discord), [Довідник конфігурації](/uk/gateway/configuration-reference), [Slash-команди](/uk/tools/slash-commands).

  </Accordion>

  <Accordion title="Субагент завершив роботу, але оновлення про завершення пішло не туди або взагалі не опублікувалося. Що перевірити?">
    Спершу перевірте визначений маршрут запитувача:

    - Доставка субагента в режимі завершення надає перевагу будь-якому прив’язаному треду або маршруту розмови, якщо він існує.
    - Якщо джерело завершення містить лише канал, OpenClaw повертається до збереженого маршруту сеансу запитувача (`lastChannel` / `lastTo` / `lastAccountId`), щоб пряма доставка все одно могла спрацювати.
    - Якщо немає ні прив’язаного маршруту, ні придатного збереженого маршруту, пряма доставка може не вдатися, і результат натомість повернеться до доставки через чергу сеансу, без негайної публікації в чат.
    - Недійсні або застарілі цілі все одно можуть примусити fallback до черги або остаточну помилку доставки.
    - Якщо остання видима відповідь дочірнього асистента — точний тихий токен `NO_REPLY` / `no_reply` або точно `ANNOUNCE_SKIP`, OpenClaw навмисно пригнічує оголошення замість публікації застарілого попереднього прогресу.
    - Якщо дочірній процес завершився за тайм-аутом після самих лише викликів інструментів, оголошення може згорнути це в короткий підсумок часткового прогресу замість повторення сирого виводу інструментів.

    Налагодження:

    ```bash
    openclaw tasks show <runId-or-sessionKey>
    ```

    Документи: [Субагенти](/uk/tools/subagents), [Фонові завдання](/uk/automation/tasks), [Інструменти сеансу](/uk/concepts/session-tool).

  </Accordion>

  <Accordion title="Cron або нагадування не спрацьовують. Що перевірити?">
    Cron працює всередині процесу Gateway. Якщо Gateway не працює безперервно,
    заплановані завдання не виконуватимуться.

    Контрольний список:

    - Переконайтеся, що cron увімкнено (`cron.enabled`) і `OPENCLAW_SKIP_CRON` не встановлено.
    - Перевірте, що Gateway працює 24/7 (без сну/перезапусків).
    - Перевірте налаштування часового поясу для завдання (`--tz` проти часового поясу хоста).

    Налагодження:

    ```bash
    openclaw cron run <jobId>
    openclaw cron runs --id <jobId> --limit 50
    ```

    Документи: [Cron завдання](/uk/automation/cron-jobs), [Автоматизація та завдання](/uk/automation).

  </Accordion>

  <Accordion title="Cron спрацював, але нічого не було надіслано в канал. Чому?">
    Спершу перевірте режим доставлення:

    - `--no-deliver` / `delivery.mode: "none"` означає, що резервне надсилання від runner не очікується.
    - Відсутня або недійсна ціль оголошення (`channel` / `to`) означає, що runner пропустив вихідне доставлення.
    - Помилки автентифікації каналу (`unauthorized`, `Forbidden`) означають, що runner спробував доставити повідомлення, але облікові дані це заблокували.
    - Тихий ізольований результат (лише `NO_REPLY` / `no_reply`) вважається навмисно непридатним для доставлення, тому runner також пригнічує резервне доставлення з черги.

    Для ізольованих cron-завдань агент усе ще може надсилати напряму за допомогою інструмента `message`,
    коли доступний маршрут чату. `--announce` керує лише резервним шляхом runner
    для фінального тексту, який агент ще не надіслав.

    Налагодження:

    ```bash
    openclaw cron runs --id <jobId> --limit 50
    openclaw tasks show <runId-or-sessionKey>
    ```

    Документація: [Cron-завдання](/uk/automation/cron-jobs), [Фонові завдання](/uk/automation/tasks).

  </Accordion>

  <Accordion title="Чому ізольований запуск cron перемкнув моделі або повторився один раз?">
    Зазвичай це шлях перемикання live-моделі, а не дубльоване планування.

    Ізольований cron може зберегти runtime-передавання моделі та повторити запуск, коли активний
    запуск викидає `LiveSessionModelSwitchError`. Повтор зберігає перемкненого
    провайдера/модель, а якщо перемикання принесло нове перевизначення auth-профілю, cron
    також зберігає його перед повтором.

    Пов’язані правила вибору:

    - Перевизначення моделі Gmail hook має пріоритет, коли застосовне.
    - Потім `model` окремого завдання.
    - Потім будь-яке збережене перевизначення моделі cron-сесії.
    - Потім звичайний вибір моделі агента/за замовчуванням.

    Цикл повторів обмежений. Після початкової спроби плюс 2 повтори перемикання
    cron переривається замість нескінченного циклу.

    Налагодження:

    ```bash
    openclaw cron runs --id <jobId> --limit 50
    openclaw tasks show <runId-or-sessionKey>
    ```

    Документація: [Cron-завдання](/uk/automation/cron-jobs), [cron CLI](/uk/cli/cron).

  </Accordion>

  <Accordion title="Як установити Skills у Linux?">
    Використовуйте нативні команди `openclaw skills` або помістіть skills у свій робочий простір. Інтерфейс macOS Skills у Linux недоступний.
    Переглядайте skills на [https://clawhub.ai](https://clawhub.ai).

    ```bash
    openclaw skills search "calendar"
    openclaw skills search --limit 20
    openclaw skills install <skill-slug>
    openclaw skills install <skill-slug> --version <version>
    openclaw skills install <skill-slug> --force
    openclaw skills update --all
    openclaw skills list --eligible
    openclaw skills check
    ```

    Нативна команда `openclaw skills install` записує в каталог `skills/`
    активного робочого простору. Установлюйте окремий CLI `clawhub` лише якщо хочете публікувати або
    синхронізувати власні skills. Для спільних установлень між агентами помістіть skill у
    `~/.openclaw/skills` і використовуйте `agents.defaults.skills` або
    `agents.list[].skills`, якщо хочете звузити перелік агентів, які можуть його бачити.

  </Accordion>

  <Accordion title="Чи може OpenClaw виконувати завдання за розкладом або безперервно у фоновому режимі?">
    Так. Використовуйте планувальник Gateway:

    - **Cron-завдання** для запланованих або повторюваних завдань (зберігаються після перезапусків).
    - **Heartbeat** для періодичних перевірок "основної сесії".
    - **Ізольовані завдання** для автономних агентів, які публікують підсумки або доставляють повідомлення в чати.

    Документація: [Cron-завдання](/uk/automation/cron-jobs), [Автоматизація і завдання](/uk/automation),
    [Heartbeat](/uk/gateway/heartbeat).

  </Accordion>

  <Accordion title="Чи можу я запускати skills лише для Apple macOS з Linux?">
    Не напряму. macOS skills обмежуються `metadata.openclaw.os` плюс потрібними двійковими файлами, і skills з’являються в системному промпті лише тоді, коли вони придатні на **хості Gateway**. У Linux skills лише для `darwin` (як-от `apple-notes`, `apple-reminders`, `things-mac`) не завантажаться, якщо ви не перевизначите це обмеження.

    Є три підтримувані шаблони:

    **Варіант A - запустіть Gateway на Mac (найпростіше).**
    Запустіть Gateway там, де існують двійкові файли macOS, а потім підключіться з Linux у [віддаленому режимі](#gateway-ports-already-running-and-remote-mode) або через Tailscale. Skills завантажуються звичайно, бо хост Gateway — це macOS.

    **Варіант B - використовуйте вузол macOS (без SSH).**
    Запустіть Gateway у Linux, спарте вузол macOS (програму в рядку меню) і встановіть **Node Run Commands** на "Always Ask" або "Always Allow" на Mac. OpenClaw може вважати skills лише для macOS придатними, коли потрібні двійкові файли існують на вузлі. Агент запускає ці skills через інструмент `nodes`. Якщо вибрати "Always Ask", схвалення "Always Allow" у промпті додає цю команду до allowlist.

    **Варіант C - проксіюйте двійкові файли macOS через SSH (розширено).**
    Залиште Gateway у Linux, але зробіть так, щоб потрібні CLI-двійкові файли розв’язувалися в SSH-обгортки, які запускаються на Mac. Потім перевизначте skill, щоб дозволити Linux і зберегти його придатним.

    1. Створіть SSH-обгортку для двійкового файла (приклад: `memo` для Apple Notes):

       ```bash
       #!/usr/bin/env bash
       set -euo pipefail
       exec ssh -T user@mac-host /opt/homebrew/bin/memo "$@"
       ```

    2. Додайте обгортку до `PATH` на хості Linux (наприклад, `~/bin/memo`).
    3. Перевизначте метадані skill (у робочому просторі або `~/.openclaw/skills`), щоб дозволити Linux:

       ```markdown
       ---
       name: apple-notes
       description: Manage Apple Notes via the memo CLI on macOS.
       metadata: { "openclaw": { "os": ["darwin", "linux"], "requires": { "bins": ["memo"] } } }
       ---
       ```

    4. Запустіть нову сесію, щоб snapshot skills оновився.

  </Accordion>

  <Accordion title="Чи є у вас інтеграція з Notion або HeyGen?">
    Сьогодні вбудованої немає.

    Варіанти:

    - **Власний skill / plugin:** найкраще для надійного доступу до API (Notion/HeyGen обидва мають API).
    - **Автоматизація браузера:** працює без коду, але повільніша й крихкіша.

    Якщо хочете зберігати контекст для кожного клієнта (робочі процеси агенції), простий шаблон такий:

    - Одна сторінка Notion на клієнта (контекст + налаштування + активна робота).
    - Попросіть агента отримати цю сторінку на початку сесії.

    Якщо потрібна нативна інтеграція, відкрийте запит на функцію або створіть skill
    для цих API.

    Установлення skills:

    ```bash
    openclaw skills install <skill-slug>
    openclaw skills update --all
    ```

    Нативні встановлення потрапляють у каталог `skills/` активного робочого простору. Для спільних skills між агентами розмістіть їх у `~/.openclaw/skills/<name>/SKILL.md`. Якщо лише деякі агенти мають бачити спільне встановлення, налаштуйте `agents.defaults.skills` або `agents.list[].skills`. Деякі skills очікують двійкові файли, встановлені через Homebrew; у Linux це означає Linuxbrew (див. запис FAQ Homebrew Linux вище). Див. [Skills](/uk/tools/skills), [Конфігурація Skills](/uk/tools/skills-config) і [ClawHub](/uk/tools/clawhub).

  </Accordion>

  <Accordion title="Як використовувати мій наявний Chrome, у якому вже виконано вхід, з OpenClaw?">
    Використовуйте вбудований браузерний профіль `user`, який під’єднується через Chrome DevTools MCP:

    ```bash
    openclaw browser --browser-profile user tabs
    openclaw browser --browser-profile user snapshot
    ```

    Якщо хочете власну назву, створіть явний профіль MCP:

    ```bash
    openclaw browser create-profile --name chrome-live --driver existing-session
    openclaw browser --browser-profile chrome-live tabs
    ```

    Цей шлях може використовувати локальний браузер хоста або підключений браузерний вузол. Якщо Gateway працює деінде, запустіть хост вузла на машині з браузером або використовуйте віддалений CDP.

    Поточні обмеження `existing-session` / `user`:

    - дії керуються `ref`, а не CSS-селекторами
    - завантаження вимагають `ref` / `inputRef` і наразі підтримують один файл за раз
    - `responsebody`, експорт PDF, перехоплення завантажень і пакетні дії все ще потребують керованого браузера або сирого профілю CDP

  </Accordion>
</AccordionGroup>

## Пісочниця та пам’ять

<AccordionGroup>
  <Accordion title="Чи є окрема документація про пісочницю?">
    Так. Див. [Пісочниця](/uk/gateway/sandboxing). Для налаштування, специфічного для Docker (повний Gateway у Docker або образи пісочниці), див. [Docker](/uk/install/docker).
  </Accordion>

  <Accordion title="Docker здається обмеженим - як увімкнути повні можливості?">
    Типовий образ насамперед орієнтований на безпеку і запускається від користувача `node`, тому він не
    містить системних пакетів, Homebrew або вбудованих браузерів. Для повнішого налаштування:

    - Зберігайте `/home/node` за допомогою `OPENCLAW_HOME_VOLUME`, щоб кеші переживали перезапуски.
    - Вбудуйте системні залежності в образ за допомогою `OPENCLAW_DOCKER_APT_PACKAGES`.
    - Установіть браузери Playwright через вбудований CLI:
      `node /app/node_modules/playwright-core/cli.js install chromium`
    - Задайте `PLAYWRIGHT_BROWSERS_PATH` і переконайтеся, що шлях зберігається.

    Документація: [Docker](/uk/install/docker), [Браузер](/uk/tools/browser).

  </Accordion>

  <Accordion title="Чи можу я залишити DM особистими, але зробити групи публічними/ізольованими в пісочниці з одним агентом?">
    Так - якщо ваш приватний трафік — це **DM**, а публічний трафік — **групи**.

    Використовуйте `agents.defaults.sandbox.mode: "non-main"`, щоб групові/канальні сесії (ключі non-main) запускалися в налаштованому backend пісочниці, тоді як основна DM-сесія залишалася на хості. Docker є типовим backend, якщо ви не виберете інший. Потім обмежте, які інструменти доступні в сесіях пісочниці, через `tools.sandbox.tools`.

    Покрокове налаштування + приклад конфігурації: [Групи: особисті DM + публічні групи](/uk/channels/groups#pattern-personal-dms-public-groups-single-agent)

    Ключове посилання на конфігурацію: [Конфігурація Gateway](/uk/gateway/config-agents#agentsdefaultssandbox)

  </Accordion>

  <Accordion title="Як прив’язати папку хоста до пісочниці?">
    Задайте `agents.defaults.sandbox.docker.binds` як `["host:path:mode"]` (наприклад, `"/home/user/src:/src:ro"`). Глобальні та агентні прив’язки об’єднуються; агентні прив’язки ігноруються, коли `scope: "shared"`. Використовуйте `:ro` для всього чутливого і пам’ятайте, що прив’язки обходять файлові межі пісочниці.

    OpenClaw перевіряє джерела прив’язок і за нормалізованим шляхом, і за канонічним шляхом, розв’язаним через найглибшого наявного предка. Це означає, що виходи через батьківський symlink усе ще закриваються відмовою, навіть коли останній сегмент шляху ще не існує, а перевірки дозволеного кореня все ще застосовуються після розв’язання symlink.

    Див. [Пісочниця](/uk/gateway/sandboxing#custom-bind-mounts) і [Пісочниця vs політика інструментів vs підвищені права](/uk/gateway/sandbox-vs-tool-policy-vs-elevated#bind-mounts-security-quick-check) для прикладів і нотаток щодо безпеки.

  </Accordion>

  <Accordion title="Як працює пам’ять?">
    Пам’ять OpenClaw — це просто Markdown-файли в робочому просторі агента:

    - Щоденні нотатки в `memory/YYYY-MM-DD.md`
    - Кураторські довгострокові нотатки в `MEMORY.md` (лише основні/приватні сесії)

    OpenClaw також запускає **тихе скидання пам’яті перед Compaction**, щоб нагадати моделі
    записати довговічні нотатки перед автоматичною Compaction. Це виконується лише тоді, коли робочий простір
    доступний для запису (пісочниці лише для читання пропускають це). Див. [Пам’ять](/uk/concepts/memory).

  </Accordion>

  <Accordion title="Пам’ять постійно забуває речі. Як зробити так, щоб вони зберігалися?">
    Попросіть бота **записати факт у пам’ять**. Довгострокові нотатки належать до `MEMORY.md`,
    короткостроковий контекст іде в `memory/YYYY-MM-DD.md`.

    Це все ще напрям, який ми покращуємо. Корисно нагадувати моделі зберігати спогади;
    вона знатиме, що робити. Якщо вона й далі забуває, перевірте, що Gateway використовує той самий
    робочий простір під час кожного запуску.

    Документація: [Пам’ять](/uk/concepts/memory), [Робочий простір агента](/uk/concepts/agent-workspace).

  </Accordion>

  <Accordion title="Чи зберігається пам’ять назавжди? Які є обмеження?">
    Файли пам’яті живуть на диску й зберігаються, доки ви їх не видалите. Обмеженням є ваше
    сховище, а не модель. **Контекст сесії** все ще обмежений вікном контексту
    моделі, тому довгі розмови можуть compact або обрізатися. Саме тому
    існує пошук у пам’яті - він повертає в контекст лише релевантні частини.

    Документація: [Пам’ять](/uk/concepts/memory), [Контекст](/uk/concepts/context).

  </Accordion>

  <Accordion title="Чи потребує семантичний пошук у пам’яті ключа OpenAI API?">
    Лише якщо ви використовуєте **OpenAI embeddings**. Codex OAuth покриває чат/завершення й
    **не** надає доступу до embeddings, тому **вхід через Codex (OAuth або
    логін Codex CLI)** не допомагає для семантичного пошуку в пам’яті. OpenAI embeddings
    усе одно потребують справжнього API-ключа (`OPENAI_API_KEY` або `models.providers.openai.apiKey`).

    Якщо ви явно не задаєте постачальника, OpenClaw автоматично вибирає постачальника, коли
    може визначити API-ключ (профілі автентифікації, `models.providers.*.apiKey` або змінні середовища).
    Він віддає перевагу OpenAI, якщо визначено ключ OpenAI, інакше Gemini, якщо
    визначено ключ Gemini, потім Voyage, потім Mistral. Якщо віддалений ключ недоступний, пошук у
    пам’яті лишається вимкненим, доки ви його не налаштуєте. Якщо у вас налаштований
    і наявний шлях до локальної моделі, OpenClaw
    віддає перевагу `local`. Ollama підтримується, коли ви явно задаєте
    `memorySearch.provider = "ollama"`.

    Якщо ви волієте лишатися локально, задайте `memorySearch.provider = "local"` (і за бажанням
    `memorySearch.fallback = "none"`). Якщо вам потрібні Gemini embeddings, задайте
    `memorySearch.provider = "gemini"` і надайте `GEMINI_API_KEY` (або
    `memorySearch.remote.apiKey`). Ми підтримуємо моделі embeddings **OpenAI, Gemini, Voyage, Mistral, Ollama або локальні** -
    подробиці налаштування див. у [Пам’ять](/uk/concepts/memory).

  </Accordion>
</AccordionGroup>

## Де все розташовано на диску

<AccordionGroup>
  <Accordion title="Чи всі дані, що використовуються з OpenClaw, зберігаються локально?">
    Ні - **стан OpenClaw є локальним**, але **зовнішні сервіси все одно бачать те, що ви їм надсилаєте**.

    - **Локально за замовчуванням:** сеанси, файли пам’яті, конфігурація й робоча область розташовані на хості Gateway
      (`~/.openclaw` + каталог вашої робочої області).
    - **Віддалено за потребою:** повідомлення, які ви надсилаєте постачальникам моделей (Anthropic/OpenAI/тощо), ідуть до
      їхніх API, а чат-платформи (WhatsApp/Telegram/Slack/тощо) зберігають дані повідомлень на своїх
      серверах.
    - **Ви контролюєте обсяг даних:** використання локальних моделей зберігає підказки на вашій машині, але трафік каналів
      усе одно проходить через сервери відповідного каналу.

    Див. також: [Робоча область агента](/uk/concepts/agent-workspace), [Пам’ять](/uk/concepts/memory).

  </Accordion>

  <Accordion title="Де OpenClaw зберігає свої дані?">
    Усе розташовано в `$OPENCLAW_STATE_DIR` (за замовчуванням: `~/.openclaw`):

    | Шлях                                                            | Призначення                                                       |
    | --------------------------------------------------------------- | ----------------------------------------------------------------- |
    | `$OPENCLAW_STATE_DIR/openclaw.json`                             | Основна конфігурація (JSON5)                                      |
    | `$OPENCLAW_STATE_DIR/credentials/oauth.json`                    | Імпорт застарілого OAuth (копіюється в профілі автентифікації під час першого використання) |
    | `$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth-profiles.json` | Профілі автентифікації (OAuth, API-ключі й необов’язкові `keyRef`/`tokenRef`) |
    | `$OPENCLAW_STATE_DIR/secrets.json`                              | Необов’язкове файлове секретне навантаження для постачальників SecretRef `file` |
    | `$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth.json`          | Файл сумісності із застарілими версіями (статичні записи `api_key` очищено) |
    | `$OPENCLAW_STATE_DIR/credentials/`                              | Стан постачальника (наприклад, `whatsapp/<accountId>/creds.json`) |
    | `$OPENCLAW_STATE_DIR/agents/`                                   | Стан для кожного агента (`agentDir` + сеанси)                     |
    | `$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/`                | Історія розмов і стан (для кожного агента)                        |
    | `$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/sessions.json`   | Метадані сеансів (для кожного агента)                             |

    Застарілий шлях для одного агента: `~/.openclaw/agent/*` (мігрується через `openclaw doctor`).

    Ваша **робоча область** (AGENTS.md, файли пам’яті, skills тощо) є окремою й налаштовується через `agents.defaults.workspace` (за замовчуванням: `~/.openclaw/workspace`).

  </Accordion>

  <Accordion title="Де мають розміщуватися AGENTS.md / SOUL.md / USER.md / MEMORY.md?">
    Ці файли розташовуються в **робочій області агента**, а не в `~/.openclaw`.

    - **Робоча область (для кожного агента)**: `AGENTS.md`, `SOUL.md`, `IDENTITY.md`, `USER.md`,
      `MEMORY.md`, `memory/YYYY-MM-DD.md`, необов’язковий `HEARTBEAT.md`.
      Кореневий `memory.md` у нижньому регістрі є лише вхідними даними для відновлення застарілої конфігурації; `openclaw doctor --fix`
      може об’єднати його в `MEMORY.md`, коли існують обидва файли.
    - **Каталог стану (`~/.openclaw`)**: конфігурація, стан каналів/постачальників, профілі автентифікації, сеанси, журнали
      і спільні Skills (`~/.openclaw/skills`).

    Типова робоча область: `~/.openclaw/workspace`, її можна налаштувати через:

    ```json5
    {
      agents: { defaults: { workspace: "~/.openclaw/workspace" } },
    }
    ```

    Якщо бот «забуває» після перезапуску, переконайтеся, що Gateway використовує ту саму
    робочу область під час кожного запуску (і пам’ятайте: віддалений режим використовує **робочу область хоста gateway**,
    а не вашого локального ноутбука).

    Порада: якщо вам потрібна стійка поведінка або налаштування, попросіть бота **записати це в
    AGENTS.md або MEMORY.md**, а не покладатися на історію чату.

    Див. [Робоча область агента](/uk/concepts/agent-workspace) і [Пам’ять](/uk/concepts/memory).

  </Accordion>

  <Accordion title="Рекомендована стратегія резервного копіювання">
    Розмістіть вашу **робочу область агента** в **приватному** git-репозиторії та створюйте її резервну копію в приватному місці
    (наприклад, GitHub private). Це зберігає пам’ять + файли AGENTS/SOUL/USER
    і дає змогу пізніше відновити «розум» асистента.

    **Не** комітьте нічого з `~/.openclaw` (облікові дані, сеанси, токени або зашифровані секретні навантаження).
    Якщо вам потрібне повне відновлення, окремо створіть резервні копії як робочої області, так і каталогу стану
    (див. питання про міграцію вище).

    Документація: [Робоча область агента](/uk/concepts/agent-workspace).

  </Accordion>

  <Accordion title="Як повністю видалити OpenClaw?">
    Див. окремий посібник: [Видалення](/uk/install/uninstall).
  </Accordion>

  <Accordion title="Чи можуть агенти працювати поза робочою областю?">
    Так. Робоча область - це **типовий cwd** і якір пам’яті, а не жорстка пісочниця.
    Відносні шляхи визначаються всередині робочої області, але абсолютні шляхи можуть отримувати доступ до інших
    розташувань хоста, якщо пісочницю не ввімкнено. Якщо вам потрібна ізоляція, використовуйте
    [`agents.defaults.sandbox`](/uk/gateway/sandboxing) або налаштування пісочниці для окремого агента. Якщо ви
    хочете, щоб репозиторій був типовим робочим каталогом, укажіть для `workspace` цього агента
    корінь репозиторію. Репозиторій OpenClaw - це лише вихідний код; тримайте
    робочу область окремо, якщо ви навмисно не хочете, щоб агент працював усередині нього.

    Приклад (репозиторій як типовий cwd):

    ```json5
    {
      agents: {
        defaults: {
          workspace: "~/Projects/my-repo",
        },
      },
    }
    ```

  </Accordion>

  <Accordion title="Віддалений режим: де зберігаються сеанси?">
    Стан сеансів належить **хосту gateway**. Якщо ви у віддаленому режимі, потрібне вам сховище сеансів розташоване на віддаленій машині, а не на вашому локальному ноутбуці. Див. [Керування сеансами](/uk/concepts/session).
  </Accordion>
</AccordionGroup>

## Основи конфігурації

<AccordionGroup>
  <Accordion title="Який формат має конфігурація? Де вона розташована?">
    OpenClaw читає необов’язкову конфігурацію **JSON5** з `$OPENCLAW_CONFIG_PATH` (за замовчуванням: `~/.openclaw/openclaw.json`):

    ```
    $OPENCLAW_CONFIG_PATH
    ```

    Якщо файл відсутній, використовуються відносно безпечні типові значення (зокрема типова робоча область `~/.openclaw/workspace`).

  </Accordion>

  <Accordion title='Я задав gateway.bind: "lan" (або "tailnet"), і тепер нічого не слухає / UI каже, що немає авторизації'>
    Прив’язки не до loopback **потребують дійсного шляху автентифікації gateway**. На практиці це означає:

    - автентифікація зі спільним секретом: токен або пароль
    - `gateway.auth.mode: "trusted-proxy"` за правильно налаштованим identity-aware reverse proxy

    ```json5
    {
      gateway: {
        bind: "lan",
        auth: {
          mode: "token",
          token: "replace-me",
        },
      },
    }
    ```

    Примітки:

    - `gateway.remote.token` / `.password` **не** вмикають локальну автентифікацію gateway самі по собі.
    - Локальні шляхи викликів можуть використовувати `gateway.remote.*` як резервний варіант лише тоді, коли `gateway.auth.*` не задано.
    - Для автентифікації паролем натомість задайте `gateway.auth.mode: "password"` разом із `gateway.auth.password` (або `OPENCLAW_GATEWAY_PASSWORD`).
    - Якщо `gateway.auth.token` / `gateway.auth.password` явно налаштовано через SecretRef і його не вдалося визначити, визначення завершується закрито (без маскування віддаленим резервним варіантом).
    - Налаштування Control UI зі спільним секретом автентифікуються через `connect.params.auth.token` або `connect.params.auth.password` (зберігається в налаштуваннях застосунку/UI). Режими з ідентичністю, як-от Tailscale Serve або `trusted-proxy`, натомість використовують заголовки запиту. Уникайте розміщення спільних секретів в URL.
    - З `gateway.auth.mode: "trusted-proxy"` reverse proxy на тому самому хості через loopback потребують явного `gateway.auth.trustedProxy.allowLoopback = true` і запису loopback у `gateway.trustedProxies`.

  </Accordion>

  <Accordion title="Чому тепер мені потрібен токен на localhost?">
    OpenClaw типово застосовує автентифікацію gateway, зокрема loopback. У звичайному типовому шляху це означає автентифікацію токеном: якщо явний шлях автентифікації не налаштовано, запуск gateway переходить у режим токена й автоматично генерує його, зберігаючи в `gateway.auth.token`, тому **локальні WS-клієнти мають автентифікуватися**. Це блокує іншим локальним процесам викликати Gateway.

    Якщо ви віддаєте перевагу іншому шляху автентифікації, можна явно вибрати режим пароля (або, для identity-aware reverse proxy, `trusted-proxy`). Якщо ви **справді** хочете відкритий loopback, явно задайте `gateway.auth.mode: "none"` у вашій конфігурації. Doctor може згенерувати для вас токен будь-коли: `openclaw doctor --generate-gateway-token`.

  </Accordion>

  <Accordion title="Чи потрібно перезапускати після зміни конфігурації?">
    Gateway відстежує конфігурацію й підтримує hot-reload:

    - `gateway.reload.mode: "hybrid"` (за замовчуванням): гаряче застосування безпечних змін, перезапуск для критичних
    - `hot`, `restart`, `off` також підтримуються

  </Accordion>

  <Accordion title="Як вимкнути кумедні слогани CLI?">
    Задайте `cli.banner.taglineMode` у конфігурації:

    ```json5
    {
      cli: {
        banner: {
          taglineMode: "off", // random | default | off
        },
      },
    }
    ```

    - `off`: приховує текст слогана, але зберігає рядок назви/версії банера.
    - `default`: щоразу використовує `All your chats, one OpenClaw.`.
    - `random`: ротація кумедних/сезонних слоганів (типова поведінка).
    - Якщо ви взагалі не хочете банера, задайте змінну середовища `OPENCLAW_HIDE_BANNER=1`.

  </Accordion>

  <Accordion title="Як увімкнути вебпошук (і веботримання)?">
    `web_fetch` працює без API-ключа. `web_search` залежить від вибраного
    постачальника:

    - Постачальники на базі API, як-от Brave, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search, Perplexity і Tavily, потребують свого звичайного налаштування API-ключа.
    - Ollama Web Search не потребує ключа, але використовує ваш налаштований хост Ollama і потребує `ollama signin`.
    - DuckDuckGo не потребує ключа, але це неофіційна інтеграція на основі HTML.
    - SearXNG не потребує ключа/самостійно хоститься; налаштуйте `SEARXNG_BASE_URL` або `plugins.entries.searxng.config.webSearch.baseUrl`.

    **Рекомендовано:** виконайте `openclaw configure --section web` і виберіть постачальника.
    Альтернативи через середовище:

    - Brave: `BRAVE_API_KEY`
    - Exa: `EXA_API_KEY`
    - Firecrawl: `FIRECRAWL_API_KEY`
    - Gemini: `GEMINI_API_KEY`
    - Grok: `XAI_API_KEY`
    - Kimi: `KIMI_API_KEY` або `MOONSHOT_API_KEY`
    - MiniMax Search: `MINIMAX_CODE_PLAN_KEY`, `MINIMAX_CODING_API_KEY` або `MINIMAX_API_KEY`
    - Perplexity: `PERPLEXITY_API_KEY` або `OPENROUTER_API_KEY`
    - SearXNG: `SEARXNG_BASE_URL`
    - Tavily: `TAVILY_API_KEY`

    ```json5
    {
      plugins: {
        entries: {
          brave: {
            config: {
              webSearch: {
                apiKey: "BRAVE_API_KEY_HERE",
              },
            },
          },
        },
        },
        tools: {
          web: {
            search: {
              enabled: true,
              provider: "brave",
              maxResults: 5,
            },
            fetch: {
              enabled: true,
              provider: "firecrawl", // optional; omit for auto-detect
            },
          },
        },
    }
    ```

    Конфігурація вебпошуку для конкретного провайдера тепер розміщується в `plugins.entries.<plugin>.config.webSearch.*`.
    Застарілі шляхи провайдера `tools.web.search.*` тимчасово ще завантажуються для сумісності, але їх не слід використовувати для нових конфігурацій.
    Конфігурація резервного веботримання Firecrawl розміщується в `plugins.entries.firecrawl.config.webFetch.*`.

    Примітки:

    - Якщо ви використовуєте списки дозволів, додайте `web_search`/`web_fetch`/`x_search` або `group:web`.
    - `web_fetch` увімкнено за замовчуванням (якщо його явно не вимкнено).
    - Якщо `tools.web.fetch.provider` пропущено, OpenClaw автоматично визначає першого готового резервного провайдера отримання з доступних облікових даних. Наразі вбудований провайдер — Firecrawl.
    - Демони читають змінні середовища з `~/.openclaw/.env` (або із середовища служби).

    Документація: [Вебінструменти](/uk/tools/web).

  </Accordion>

  <Accordion title="config.apply стер мою конфігурацію. Як відновитися й уникнути цього?">
    `config.apply` замінює **всю конфігурацію**. Якщо ви надсилаєте частковий об'єкт, усе
    інше видаляється.

    Поточний OpenClaw захищає від багатьох випадкових перезаписів:

    - Записи конфігурації, що належать OpenClaw, перевіряють повну конфігурацію після зміни перед записом.
    - Недійсні або руйнівні записи, що належать OpenClaw, відхиляються й зберігаються як `openclaw.json.rejected.*`.
    - Якщо пряме редагування ламає запуск або гаряче перезавантаження, Gateway відновлює останню відому справну конфігурацію й зберігає відхилений файл як `openclaw.json.clobbered.*`.
    - Головний агент отримує попередження під час запуску після відновлення, щоб він не записав знову помилкову конфігурацію наосліп.

    Відновлення:

    - Перевірте `openclaw logs --follow` на наявність `Config auto-restored from last-known-good`, `Config write rejected:` або `config reload restored last-known-good config`.
    - Перегляньте найновіший `openclaw.json.clobbered.*` або `openclaw.json.rejected.*` поруч з активною конфігурацією.
    - Залиште активну відновлену конфігурацію, якщо вона працює, а потім скопіюйте назад лише потрібні ключі за допомогою `openclaw config set` або `config.patch`.
    - Запустіть `openclaw config validate` і `openclaw doctor`.
    - Якщо у вас немає останньої відомої справної конфігурації або відхиленого вмісту, відновіть із резервної копії або повторно запустіть `openclaw doctor` і переналаштуйте канали/моделі.
    - Якщо це було неочікувано, повідомте про помилку й додайте останню відому конфігурацію або будь-яку резервну копію.
    - Локальний агент для програмування часто може відтворити робочу конфігурацію з журналів або історії.

    Як уникнути:

    - Використовуйте `openclaw config set` для малих змін.
    - Використовуйте `openclaw configure` для інтерактивного редагування.
    - Спочатку використовуйте `config.schema.lookup`, якщо ви не впевнені щодо точного шляху або форми поля; він повертає неглибокий вузол схеми та зведення безпосередніх дочірніх елементів для деталізації.
    - Використовуйте `config.patch` для часткових RPC-редагувань; залишайте `config.apply` лише для заміни повної конфігурації.
    - Якщо ви використовуєте інструмент `gateway`, доступний лише власнику, із запуску агента, він усе одно відхилятиме записи до `tools.exec.ask` / `tools.exec.security` (включно із застарілими псевдонімами `tools.bash.*`, які нормалізуються до тих самих захищених шляхів exec).

    Документація: [Конфігурація](/uk/cli/config), [Налаштування](/uk/cli/configure), [Усунення несправностей Gateway](/uk/gateway/troubleshooting#gateway-restored-last-known-good-config), [Doctor](/uk/gateway/doctor).

  </Accordion>

  <Accordion title="Як запустити центральний Gateway зі спеціалізованими працівниками на різних пристроях?">
    Типовий шаблон — **один Gateway** (наприклад, Raspberry Pi) плюс **вузли** й **агенти**:

    - **Gateway (центральний):** володіє каналами (Signal/WhatsApp), маршрутизацією та сеансами.
    - **Вузли (пристрої):** Macs/iOS/Android підключаються як периферійні пристрої та надають локальні інструменти (`system.run`, `canvas`, `camera`).
    - **Агенти (працівники):** окремі мізки/робочі простори для спеціальних ролей (наприклад, "Операції Hetzner", "Особисті дані").
    - **Підагенти:** запускають фонову роботу з головного агента, коли потрібен паралелізм.
    - **TUI:** підключається до Gateway і перемикає агентів/сеанси.

    Документація: [Вузли](/uk/nodes), [Віддалений доступ](/uk/gateway/remote), [Маршрутизація кількох агентів](/uk/concepts/multi-agent), [Підагенти](/uk/tools/subagents), [TUI](/uk/web/tui).

  </Accordion>

  <Accordion title="Чи може браузер OpenClaw працювати без інтерфейсу?">
    Так. Це параметр конфігурації:

    ```json5
    {
      browser: { headless: true },
      agents: {
        defaults: {
          sandbox: { browser: { headless: true } },
        },
      },
    }
    ```

    Значення за замовчуванням — `false` (з інтерфейсом). Безінтерфейсний режим частіше може спрацьовувати на перевірки проти ботів на деяких сайтах. Див. [Браузер](/uk/tools/browser).

    Безінтерфейсний режим використовує **той самий рушій Chromium** і працює для більшості автоматизації (форми, кліки, скрапінг, входи). Основні відмінності:

    - Немає видимого вікна браузера (використовуйте знімки екрана, якщо потрібне візуальне підтвердження).
    - Деякі сайти суворіше ставляться до автоматизації в безінтерфейсному режимі (CAPTCHA, захист від ботів).
      Наприклад, X/Twitter часто блокує безінтерфейсні сеанси.

  </Accordion>

  <Accordion title="Як використовувати Brave для керування браузером?">
    Установіть `browser.executablePath` на бінарний файл Brave (або будь-який браузер на основі Chromium) і перезапустіть Gateway.
    Повні приклади конфігурації див. у [Браузері](/uk/tools/browser#use-brave-or-another-chromium-based-browser).
  </Accordion>
</AccordionGroup>

## Віддалені Gateway і вузли

<AccordionGroup>
  <Accordion title="Як команди поширюються між Telegram, Gateway і вузлами?">
    Повідомлення Telegram обробляє **Gateway**. Gateway запускає агента й
    лише потім викликає вузли через **Gateway WebSocket**, коли потрібен інструмент вузла:

    Telegram → Gateway → Агент → `node.*` → Вузол → Gateway → Telegram

    Вузли не бачать вхідного трафіку провайдера; вони отримують лише RPC-виклики вузлів.

  </Accordion>

  <Accordion title="Як мій агент може отримати доступ до мого комп'ютера, якщо Gateway розміщено віддалено?">
    Коротка відповідь: **спаруйте свій комп'ютер як вузол**. Gateway працює в іншому місці, але може
    викликати інструменти `node.*` (екран, камера, система) на вашій локальній машині через Gateway WebSocket.

    Типове налаштування:

    1. Запустіть Gateway на постійно ввімкненому хості (VPS/домашній сервер).
    2. Додайте хост Gateway і свій комп'ютер до однієї tailnet.
    3. Переконайтеся, що Gateway WS доступний (прив'язка tailnet або SSH-тунель).
    4. Відкрийте програму macOS локально й підключіться в режимі **Remote over SSH** (або напряму через tailnet),
       щоб вона могла зареєструватися як вузол.
    5. Схваліть вузол на Gateway:

       ```bash
       openclaw devices list
       openclaw devices approve <requestId>
       ```

    Окремий TCP-міст не потрібен; вузли підключаються через Gateway WebSocket.

    Нагадування про безпеку: спарювання вузла macOS дозволяє `system.run` на цій машині. Спарюйте
    лише пристрої, яким довіряєте, і перегляньте [Безпеку](/uk/gateway/security).

    Документація: [Вузли](/uk/nodes), [Протокол Gateway](/uk/gateway/protocol), [Віддалений режим macOS](/uk/platforms/mac/remote), [Безпека](/uk/gateway/security).

  </Accordion>

  <Accordion title="Tailscale підключено, але я не отримую відповідей. Що далі?">
    Перевірте базові речі:

    - Gateway працює: `openclaw gateway status`
    - Справність Gateway: `openclaw status`
    - Справність каналу: `openclaw channels status`

    Потім перевірте автентифікацію та маршрутизацію:

    - Якщо ви використовуєте Tailscale Serve, переконайтеся, що `gateway.auth.allowTailscale` налаштовано правильно.
    - Якщо ви підключаєтеся через SSH-тунель, підтвердьте, що локальний тунель активний і вказує на правильний порт.
    - Підтвердьте, що ваші списки дозволів (DM або група) містять ваш обліковий запис.

    Документація: [Tailscale](/uk/gateway/tailscale), [Віддалений доступ](/uk/gateway/remote), [Канали](/uk/channels).

  </Accordion>

  <Accordion title="Чи можуть два екземпляри OpenClaw спілкуватися один з одним (локальний + VPS)?">
    Так. Вбудованого мосту "бот-бот" немає, але це можна налаштувати кількома
    надійними способами:

    **Найпростіше:** використовуйте звичайний чат-канал, до якого обидва боти мають доступ (Telegram/Slack/WhatsApp).
    Нехай Бот A надішле повідомлення Боту B, а потім Бот B відповість як зазвичай.

    **CLI-міст (загальний):** запустіть скрипт, який викликає інший Gateway за допомогою
    `openclaw agent --message ... --deliver`, націлюючись на чат, де слухає інший бот.
    Якщо один бот працює на віддаленому VPS, спрямуйте свій CLI на цей віддалений Gateway
    через SSH/Tailscale (див. [Віддалений доступ](/uk/gateway/remote)).

    Приклад шаблону (запускайте з машини, яка може досягти цільового Gateway):

    ```bash
    openclaw agent --message "Hello from local bot" --deliver --channel telegram --reply-to <chat-id>
    ```

    Порада: додайте запобіжник, щоб два боти не зациклювалися без кінця (лише згадки, списки
    дозволів каналів або правило "не відповідати на повідомлення ботів").

    Документація: [Віддалений доступ](/uk/gateway/remote), [CLI агента](/uk/cli/agent), [Надсилання агентом](/uk/tools/agent-send).

  </Accordion>

  <Accordion title="Чи потрібні окремі VPS для кількох агентів?">
    Ні. Один Gateway може розміщувати кількох агентів, кожен зі своїм робочим простором, типовими моделями
    й маршрутизацією. Це звичайне налаштування, і воно значно дешевше та простіше, ніж запускати
    по одному VPS на агента.

    Використовуйте окремі VPS лише тоді, коли потрібна жорстка ізоляція (межі безпеки) або дуже
    різні конфігурації, якими ви не хочете ділитися. В іншому разі залишайте один Gateway і
    використовуйте кількох агентів або підагентів.

  </Accordion>

  <Accordion title="Чи є користь від використання вузла на моєму особистому ноутбуку замість SSH із VPS?">
    Так - вузли є першокласним способом дістатися до вашого ноутбука з віддаленого Gateway, і вони
    відкривають більше, ніж доступ до оболонки. Gateway працює на macOS/Linux (Windows через WSL2) і є
    легким (невеликий VPS або пристрій класу Raspberry Pi цілком підходить; 4 ГБ RAM достатньо), тому типовим
    налаштуванням є постійно ввімкнений хост плюс ваш ноутбук як вузол.

    - **Вхідний SSH не потрібен.** Вузли підключаються назовні до Gateway WebSocket і використовують спарювання пристроїв.
    - **Безпечніші засоби керування виконанням.** `system.run` обмежується списками дозволів/схваленнями вузла на цьому ноутбуку.
    - **Більше інструментів пристрою.** Вузли надають `canvas`, `camera` і `screen` на додачу до `system.run`.
    - **Локальна автоматизація браузера.** Тримайте Gateway на VPS, але запускайте Chrome локально через хост вузла на ноутбуку або підключайтеся до локального Chrome на хості через Chrome MCP.

    SSH підходить для разового доступу до оболонки, але вузли простіші для постійних робочих процесів агентів і
    автоматизації пристроїв.

    Документація: [Вузли](/uk/nodes), [CLI вузлів](/uk/cli/nodes), [Браузер](/uk/tools/browser).

  </Accordion>

  <Accordion title="Чи запускають вузли службу Gateway?">
    Ні. Лише **один Gateway** має працювати на хост, якщо ви навмисно не запускаєте ізольовані профілі (див. [Кілька Gateway](/uk/gateway/multiple-gateways)). Вузли — це периферійні пристрої, які підключаються
    до Gateway (вузли iOS/Android або "режим вузла" macOS у програмі рядка меню). Для безінтерфейсних хостів вузлів
    і керування через CLI див. [CLI хоста вузла](/uk/cli/node).

    Для змін `gateway`, `discovery` і `canvasHost` потрібен повний перезапуск.

  </Accordion>

  <Accordion title="Чи є API / RPC спосіб застосувати конфігурацію?">
    Так.

    - `config.schema.lookup`: перегляньте одне піддерево конфігурації з його неглибоким вузлом схеми, відповідною підказкою UI та зведеннями безпосередніх дочірніх елементів перед записом
    - `config.get`: отримайте поточний знімок + hash
    - `config.patch`: безпечне часткове оновлення (бажане для більшості RPC-редагувань); виконує гаряче перезавантаження, коли це можливо, і перезапуск, коли потрібно
    - `config.apply`: перевіряє + замінює повну конфігурацію; виконує гаряче перезавантаження, коли це можливо, і перезапуск, коли потрібно
    - Інструмент runtime `gateway`, доступний лише власнику, усе одно відмовляється переписувати `tools.exec.ask` / `tools.exec.security`; застарілі псевдоніми `tools.bash.*` нормалізуються до тих самих захищених шляхів exec

  </Accordion>

  <Accordion title="Мінімальна розумна конфігурація для першого встановлення">
    ```json5
    {
      agents: { defaults: { workspace: "~/.openclaw/workspace" } },
      channels: { whatsapp: { allowFrom: ["+15555550123"] } },
    }
    ```

    Це задає ваш робочий простір і обмежує, хто може запускати бота.

  </Accordion>

  <Accordion title="Як налаштувати Tailscale на VPS і підключитися з мого Mac?">
    Мінімальні кроки:

    1. **Установіть і ввійдіть на VPS**

       ```bash
       curl -fsSL https://tailscale.com/install.sh | sh
       sudo tailscale up
       ```

    2. **Установіть і ввійдіть на вашому Mac**
       - Використайте застосунок Tailscale і ввійдіть у той самий tailnet.
    3. **Увімкніть MagicDNS (рекомендовано)**
       - У консолі адміністратора Tailscale увімкніть MagicDNS, щоб VPS мав стабільне ім’я.
    4. **Використовуйте ім’я хоста tailnet**
       - SSH: `ssh user@your-vps.tailnet-xxxx.ts.net`
       - Gateway WS: `ws://your-vps.tailnet-xxxx.ts.net:18789`

    Якщо вам потрібен Control UI без SSH, використайте Tailscale Serve на VPS:

    ```bash
    openclaw gateway --tailscale serve
    ```

    Це залишає gateway прив’язаним до local loopback і відкриває HTTPS через Tailscale. Див. [Tailscale](/uk/gateway/tailscale).

  </Accordion>

  <Accordion title="Як підключити Mac-вузол до віддаленого Gateway (Tailscale Serve)?">
    Serve відкриває **Gateway Control UI + WS**. Вузли підключаються через той самий кінцевий пункт Gateway WS.

    Рекомендоване налаштування:

    1. **Переконайтеся, що VPS і Mac перебувають в одному tailnet**.
    2. **Використовуйте застосунок macOS у віддаленому режимі** (SSH-ціллю може бути ім’я хоста tailnet).
       Застосунок тунелюватиме порт Gateway і підключиться як вузол.
    3. **Схваліть вузол** на gateway:

       ```bash
       openclaw devices list
       openclaw devices approve <requestId>
       ```

    Документація: [Протокол Gateway](/uk/gateway/protocol), [Виявлення](/uk/gateway/discovery), [Віддалений режим macOS](/uk/platforms/mac/remote).

  </Accordion>

  <Accordion title="Чи варто встановлювати на другий ноутбук, чи просто додати вузол?">
    Якщо вам потрібні лише **локальні інструменти** (екран/камера/exec) на другому ноутбуці, додайте його як
    **вузол**. Так зберігається один Gateway і уникається дублювання конфігурації. Локальні інструменти вузлів
    наразі доступні лише для macOS, але ми плануємо поширити їх на інші ОС.

    Установлюйте другий Gateway лише тоді, коли потрібна **жорстка ізоляція** або два повністю окремі боти.

    Документація: [Вузли](/uk/nodes), [CLI вузлів](/uk/cli/nodes), [Кілька gateway](/uk/gateway/multiple-gateways).

  </Accordion>
</AccordionGroup>

## Env vars і завантаження .env

<AccordionGroup>
  <Accordion title="Як OpenClaw завантажує змінні середовища?">
    OpenClaw читає env vars з батьківського процесу (shell, launchd/systemd, CI тощо) і додатково завантажує:

    - `.env` з поточного робочого каталогу
    - глобальний резервний `.env` з `~/.openclaw/.env` (також `$OPENCLAW_STATE_DIR/.env`)

    Жоден файл `.env` не перевизначає наявні env vars.

    Ви також можете визначити inline env vars у конфігурації (застосовуються лише якщо їх немає в process env):

    ```json5
    {
      env: {
        OPENROUTER_API_KEY: "sk-or-...",
        vars: { GROQ_API_KEY: "gsk-..." },
      },
    }
    ```

    Див. [/environment](/uk/help/environment), щоб дізнатися повний порядок пріоритетів і джерела.

  </Accordion>

  <Accordion title="Я запустив Gateway через сервіс, і мої env vars зникли. Що тепер?">
    Два поширені виправлення:

    1. Помістіть відсутні ключі в `~/.openclaw/.env`, щоб їх було підхоплено навіть тоді, коли сервіс не успадковує shell env.
    2. Увімкніть імпорт shell (зручність за явним вибором):

    ```json5
    {
      env: {
        shellEnv: {
          enabled: true,
          timeoutMs: 15000,
        },
      },
    }
    ```

    Це запускає ваш login shell і імпортує лише відсутні очікувані ключі (ніколи не перевизначає). Відповідники env var:
    `OPENCLAW_LOAD_SHELL_ENV=1`, `OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000`.

  </Accordion>

  <Accordion title='Я задав COPILOT_GITHUB_TOKEN, але статус моделей показує "Shell env: off." Чому?'>
    `openclaw models status` повідомляє, чи ввімкнено **імпорт shell env**. "Shell env: off"
    **не** означає, що ваші env vars відсутні: це лише означає, що OpenClaw не завантажуватиме
    ваш login shell автоматично.

    Якщо Gateway працює як сервіс (launchd/systemd), він не успадкує ваше shell
    environment. Виправте це одним із таких способів:

    1. Помістіть токен у `~/.openclaw/.env`:

       ```
       COPILOT_GITHUB_TOKEN=...
       ```

    2. Або увімкніть імпорт shell (`env.shellEnv.enabled: true`).
    3. Або додайте його до блока `env` у вашій конфігурації (застосовується лише якщо відсутній).

    Потім перезапустіть gateway і перевірте ще раз:

    ```bash
    openclaw models status
    ```

    Токени Copilot читаються з `COPILOT_GITHUB_TOKEN` (також `GH_TOKEN` / `GITHUB_TOKEN`).
    Див. [/concepts/model-providers](/uk/concepts/model-providers) і [/environment](/uk/help/environment).

  </Accordion>
</AccordionGroup>

## Сесії та кілька чатів

<AccordionGroup>
  <Accordion title="Як почати нову розмову?">
    Надішліть `/new` або `/reset` як окреме повідомлення. Див. [Керування сесіями](/uk/concepts/session).
  </Accordion>

  <Accordion title="Чи скидаються сесії автоматично, якщо я ніколи не надсилаю /new?">
    Сесії можуть спливати після `session.idleMinutes`, але це **типово вимкнено** (типово **0**).
    Задайте додатне значення, щоб увімкнути спливання через неактивність. Коли це ввімкнено, **наступне**
    повідомлення після періоду неактивності починає новий ідентифікатор сесії для цього ключа чату.
    Це не видаляє транскрипти: просто починається нова сесія.

    ```json5
    {
      session: {
        idleMinutes: 240,
      },
    }
    ```

  </Accordion>

  <Accordion title="Чи є спосіб зробити команду екземплярів OpenClaw (один CEO і багато агентів)?">
    Так, через **multi-agent routing** і **sub-agents**. Ви можете створити одного координатора
    агента і кількох робочих агентів із власними робочими просторами та моделями.

    Водночас це краще розглядати як **цікавий експеримент**. Він потребує багато токенів і часто
    менш ефективний, ніж використання одного бота з окремими сесіями. Типова модель, яку ми
    уявляємо, це один бот, з яким ви спілкуєтеся, з різними сесіями для паралельної роботи. Такий
    бот також може створювати sub-agents за потреби.

    Документація: [Multi-agent routing](/uk/concepts/multi-agent), [Sub-agents](/uk/tools/subagents), [CLI агентів](/uk/cli/agents).

  </Accordion>

  <Accordion title="Чому контекст було обрізано посеред завдання? Як цьому запобігти?">
    Контекст сесії обмежений вікном моделі. Довгі чати, великі виводи інструментів або багато
    файлів можуть спричинити compaction або обрізання.

    Що допомагає:

    - Попросіть бота підсумувати поточний стан і записати його у файл.
    - Використовуйте `/compact` перед довгими завданнями, а `/new` під час зміни теми.
    - Тримайте важливий контекст у робочому просторі й просіть бота перечитати його.
    - Використовуйте sub-agents для довгої або паралельної роботи, щоб основний чат залишався меншим.
    - Виберіть модель із більшим контекстним вікном, якщо це трапляється часто.

  </Accordion>

  <Accordion title="Як повністю скинути OpenClaw, але залишити його встановленим?">
    Використайте команду reset:

    ```bash
    openclaw reset
    ```

    Повне неінтерактивне скидання:

    ```bash
    openclaw reset --scope full --yes --non-interactive
    ```

    Потім повторно запустіть налаштування:

    ```bash
    openclaw onboard --install-daemon
    ```

    Примітки:

    - Onboarding також пропонує **Скидання**, якщо знаходить наявну конфігурацію. Див. [Onboarding (CLI)](/uk/start/wizard).
    - Якщо ви використовували профілі (`--profile` / `OPENCLAW_PROFILE`), скиньте кожен каталог стану (типово `~/.openclaw-<profile>`).
    - Скидання для розробки: `openclaw gateway --dev --reset` (лише для розробки; стирає dev-конфігурацію + облікові дані + сесії + робочий простір).

  </Accordion>

  <Accordion title='Я отримую помилки "context too large": як виконати reset або compact?'>
    Використайте один із цих варіантів:

    - **Compact** (зберігає розмову, але підсумовує старіші ходи):

      ```
      /compact
      ```

      або `/compact <instructions>`, щоб скерувати підсумок.

    - **Reset** (новий ID сесії для того самого ключа чату):

      ```
      /new
      /reset
      ```

    Якщо це продовжує траплятися:

    - Увімкніть або налаштуйте **обрізання сесії** (`agents.defaults.contextPruning`), щоб скорочувати старий вивід інструментів.
    - Використовуйте модель із більшим контекстним вікном.

    Документація: [Compaction](/uk/concepts/compaction), [Обрізання сесії](/uk/concepts/session-pruning), [Керування сесіями](/uk/concepts/session).

  </Accordion>

  <Accordion title='Чому я бачу "LLM request rejected: messages.content.tool_use.input field required"?'>
    Це помилка валідації провайдера: модель видала блок `tool_use` без обов’язкового
    `input`. Зазвичай це означає, що історія сесії застаріла або пошкоджена (часто після довгих тредів
    або зміни інструмента/схеми).

    Виправлення: почніть нову сесію за допомогою `/new` (окреме повідомлення).

  </Accordion>

  <Accordion title="Чому я отримую повідомлення heartbeat кожні 30 хвилин?">
    Heartbeat типово запускається кожні **30m** (**1h** під час використання OAuth-автентифікації). Налаштуйте або вимкніть їх:

    ```json5
    {
      agents: {
        defaults: {
          heartbeat: {
            every: "2h", // or "0m" to disable
          },
        },
      },
    }
    ```

    Якщо `HEARTBEAT.md` існує, але фактично порожній (лише порожні рядки й markdown
    заголовки на кшталт `# Heading`), OpenClaw пропускає запуск heartbeat, щоб зберегти API-виклики.
    Якщо файл відсутній, heartbeat усе одно запускається, і модель вирішує, що робити.

    Перевизначення для окремого агента використовують `agents.list[].heartbeat`. Документація: [Heartbeat](/uk/gateway/heartbeat).

  </Accordion>

  <Accordion title='Чи потрібно додавати "обліковий запис бота" до групи WhatsApp?'>
    Ні. OpenClaw працює з **вашим власним обліковим записом**, тому якщо ви є в групі, OpenClaw може її бачити.
    Типово відповіді в групах заблоковані, доки ви не дозволите відправників (`groupPolicy: "allowlist"`).

    Якщо ви хочете, щоб лише **ви** могли запускати відповіді в групі:

    ```json5
    {
      channels: {
        whatsapp: {
          groupPolicy: "allowlist",
          groupAllowFrom: ["+15551234567"],
        },
      },
    }
    ```

  </Accordion>

  <Accordion title="Як отримати JID групи WhatsApp?">
    Варіант 1 (найшвидший): перегляньте logs у режимі tail і надішліть тестове повідомлення в групі:

    ```bash
    openclaw logs --follow --json
    ```

    Шукайте `chatId` (або `from`), що закінчується на `@g.us`, наприклад:
    `1234567890-1234567890@g.us`.

    Варіант 2 (якщо вже налаштовано/додано до allowlist): виведіть список груп із конфігурації:

    ```bash
    openclaw directory groups list --channel whatsapp
    ```

    Документація: [WhatsApp](/uk/channels/whatsapp), [Directory](/uk/cli/directory), [Logs](/uk/cli/logs).

  </Accordion>

  <Accordion title="Чому OpenClaw не відповідає в групі?">
    Дві поширені причини:

    - Mention gating увімкнено (типово). Ви маєте @mention бота (або збігтися з `mentionPatterns`).
    - Ви налаштували `channels.whatsapp.groups` без `"*"`, і групу не додано до allowlist.

    Див. [Групи](/uk/channels/groups) і [Групові повідомлення](/uk/channels/group-messages).

  </Accordion>

  <Accordion title="Чи групи/треди спільно використовують контекст із DM?">
    Прямі чати типово зводяться до основної сесії. Групи/канали мають власні ключі сесій, а теми Telegram / треди Discord є окремими сесіями. Див. [Групи](/uk/channels/groups) і [Групові повідомлення](/uk/channels/group-messages).
  </Accordion>

  <Accordion title="Скільки робочих просторів і агентів я можу створити?">
    Жорстких обмежень немає. Десятки (навіть сотні) підходять, але звертайте увагу на:

    - **Зростання диска:** сесії + транскрипти зберігаються в `~/.openclaw/agents/<agentId>/sessions/`.
    - **Вартість токенів:** більше агентів означає більше одночасного використання моделей.
    - **Операційні накладні витрати:** профілі автентифікації, робочі простори й маршрутизація каналів для кожного агента.

    Поради:

    - Тримайте один **активний** робочий простір на агента (`agents.defaults.workspace`).
    - Очищайте старі сесії (видаляйте JSONL або записи сховища), якщо диск зростає.
    - Використовуйте `openclaw doctor`, щоб знайти зайві робочі простори й невідповідності профілів.

  </Accordion>

  <Accordion title="Чи можу я запускати кілька ботів або чатів одночасно (Slack), і як це налаштувати?">
    Так. Використовуйте **Multi-Agent Routing**, щоб запускати кілька ізольованих агентів і маршрутизувати вхідні повідомлення за
    каналом/обліковим записом/співрозмовником. Slack підтримується як канал і може бути прив’язаний до конкретних агентів.

    Доступ через браузер потужний, але це не "можна робити все, що може людина" - захист від ботів, CAPTCHA та MFA
    все ще можуть блокувати автоматизацію. Для найнадійнішого керування браузером використовуйте локальний Chrome MCP на хості
    або CDP на машині, де фактично працює браузер.

    Налаштування за найкращими практиками:

    - Постійно ввімкнений хост Gateway (VPS/Mac mini).
    - Один агент на роль (прив’язки).
    - Канали Slack, прив’язані до цих агентів.
    - Локальний браузер через Chrome MCP або вузол, коли потрібно.

    Документація: [Multi-Agent Routing](/uk/concepts/multi-agent), [Slack](/uk/channels/slack),
    [Browser](/uk/tools/browser), [Nodes](/uk/nodes).

  </Accordion>
</AccordionGroup>

## Моделі, перемикання після збою та профілі автентифікації

Запитання й відповіді про моделі — типові значення, вибір, псевдоніми, перемикання, перемикання після збою, профілі автентифікації —
розміщені в [FAQ про моделі](/uk/help/faq-models).

## Gateway: порти, "уже запущено" та віддалений режим

<AccordionGroup>
  <Accordion title="Який порт використовує Gateway?">
    `gateway.port` керує єдиним мультиплексованим портом для WebSocket + HTTP (Control UI, хуки тощо).

    Пріоритет:

    ```
    --port > OPENCLAW_GATEWAY_PORT > gateway.port > default 18789
    ```

  </Accordion>

  <Accordion title='Чому openclaw gateway status показує "Runtime: running", але "Connectivity probe: failed"?'>
    Тому що "running" — це погляд **супервізора** (launchd/systemd/schtasks). Перевірка підключення — це фактичне підключення CLI до WebSocket Gateway.

    Використовуйте `openclaw gateway status` і довіряйте цим рядкам:

    - `Probe target:` (URL, який перевірка фактично використала)
    - `Listening:` (що фактично прив’язано до порту)
    - `Last gateway error:` (поширена першопричина, коли процес живий, але порт не прослуховується)

  </Accordion>

  <Accordion title='Чому openclaw gateway status показує різні "Config (cli)" і "Config (service)"?'>
    Ви редагуєте один файл конфігурації, а служба працює з іншим (часто це невідповідність `--profile` / `OPENCLAW_STATE_DIR`).

    Виправлення:

    ```bash
    openclaw gateway install --force
    ```

    Запустіть це з тим самим `--profile` / середовищем, яке має використовувати служба.

  </Accordion>

  <Accordion title='Що означає "another gateway instance is already listening"?'>
    OpenClaw застосовує runtime-блокування, негайно прив’язуючи прослуховувач WebSocket під час запуску (типово `ws://127.0.0.1:18789`). Якщо прив’язування завершується помилкою `EADDRINUSE`, він викидає `GatewayLockError`, указуючи, що інший екземпляр уже прослуховується.

    Виправлення: зупиніть інший екземпляр, звільніть порт або запустіть із `openclaw gateway --port <port>`.

  </Accordion>

  <Accordion title="Як запустити OpenClaw у віддаленому режимі (клієнт підключається до Gateway в іншому місці)?">
    Установіть `gateway.mode: "remote"` і вкажіть віддалений URL WebSocket, за потреби зі спільними секретними віддаленими обліковими даними:

    ```json5
    {
      gateway: {
        mode: "remote",
        remote: {
          url: "ws://gateway.tailnet:18789",
          token: "your-token",
          password: "your-password",
        },
      },
    }
    ```

    Примітки:

    - `openclaw gateway` запускається лише коли `gateway.mode` має значення `local` (або якщо ви передаєте прапорець перевизначення).
    - Застосунок macOS відстежує файл конфігурації та перемикає режими наживо, коли ці значення змінюються.
    - `gateway.remote.token` / `.password` — це лише клієнтські віддалені облікові дані; самі по собі вони не вмикають автентифікацію локального Gateway.

  </Accordion>

  <Accordion title='Control UI показує "unauthorized" (або постійно перепідключається). Що робити?'>
    Ваш шлях автентифікації Gateway і метод автентифікації UI не збігаються.

    Факти (з коду):

    - Control UI зберігає токен у `sessionStorage` для поточної сесії вкладки браузера та вибраного URL Gateway, тож оновлення в тій самій вкладці продовжують працювати без відновлення довготривалого збереження токена в localStorage.
    - За `AUTH_TOKEN_MISMATCH` довірені клієнти можуть виконати одну обмежену повторну спробу з кешованим токеном пристрою, коли Gateway повертає підказки повторної спроби (`canRetryWithDeviceToken=true`, `recommendedNextStep=retry_with_device_token`).
    - Ця повторна спроба з кешованим токеном тепер повторно використовує кешовані затверджені області доступу, збережені з токеном пристрою. Виклики з явним `deviceToken` / явними `scopes` усе ще зберігають запитаний набір областей доступу замість успадкування кешованих областей.
    - Поза цим шляхом повторної спроби пріоритет автентифікації підключення такий: явний спільний токен/пароль, потім явний `deviceToken`, потім збережений токен пристрою, потім bootstrap-токен.
    - Перевірки області доступу bootstrap-токена мають префікс ролі. Вбудований список дозволів bootstrap-оператора задовольняє лише запити оператора; вузлам або іншим неоператорським ролям усе ще потрібні області доступу з їхнім власним префіксом ролі.

    Виправлення:

    - Найшвидше: `openclaw dashboard` (друкує й копіює URL панелі, намагається відкрити; показує SSH-підказку, якщо без графічного інтерфейсу).
    - Якщо у вас ще немає токена: `openclaw doctor --generate-gateway-token`.
    - Якщо віддалено, спершу створіть тунель: `ssh -N -L 18789:127.0.0.1:18789 user@host`, потім відкрийте `http://127.0.0.1:18789/`.
    - Режим спільного секрету: установіть `gateway.auth.token` / `OPENCLAW_GATEWAY_TOKEN` або `gateway.auth.password` / `OPENCLAW_GATEWAY_PASSWORD`, потім вставте відповідний секрет у налаштування Control UI.
    - Режим Tailscale Serve: переконайтеся, що `gateway.auth.allowTailscale` увімкнено і що ви відкриваєте Serve URL, а не необроблений loopback/tailnet URL, який обходить заголовки ідентичності Tailscale.
    - Режим довіреного проксі: переконайтеся, що ви проходите через налаштований identity-aware proxy, а не необроблений URL Gateway. Loopback-проксі на тому самому хості також потребують `gateway.auth.trustedProxy.allowLoopback = true`.
    - Якщо невідповідність зберігається після однієї повторної спроби, перевипустіть або повторно затвердьте токен спареного пристрою:
      - `openclaw devices list`
      - `openclaw devices rotate --device <id> --role operator`
    - Якщо цей виклик rotate каже, що його відхилено, перевірте дві речі:
      - сесії спарених пристроїв можуть перевипускати лише свій **власний** пристрій, якщо вони також не мають `operator.admin`
      - явні значення `--scope` не можуть перевищувати поточні operator-області доступу викликача
    - Досі не працює? Запустіть `openclaw status --all` і дотримуйтеся [Усунення несправностей](/uk/gateway/troubleshooting). Див. [Dashboard](/uk/web/dashboard) для подробиць автентифікації.

  </Accordion>

  <Accordion title="Я встановив gateway.bind tailnet, але він не може прив’язатися, і нічого не прослуховується">
    Прив’язка `tailnet` вибирає IP Tailscale з ваших мережевих інтерфейсів (100.64.0.0/10). Якщо машина не в Tailscale (або інтерфейс вимкнений), немає до чого прив’язуватися.

    Виправлення:

    - Запустіть Tailscale на цьому хості (щоб він мав адресу 100.x), або
    - Перемкніться на `gateway.bind: "loopback"` / `"lan"`.

    Примітка: `tailnet` є явним. `auto` віддає перевагу loopback; використовуйте `gateway.bind: "tailnet"`, коли потрібна прив’язка лише до tailnet.

  </Accordion>

  <Accordion title="Чи можу я запускати кілька Gateway на одному хості?">
    Зазвичай ні - один Gateway може запускати кілька каналів обміну повідомленнями й агентів. Використовуйте кілька Gateway лише коли потрібна надлишковість (наприклад, резервний бот) або жорстка ізоляція.

    Так, але потрібно ізолювати:

    - `OPENCLAW_CONFIG_PATH` (конфігурація на екземпляр)
    - `OPENCLAW_STATE_DIR` (стан на екземпляр)
    - `agents.defaults.workspace` (ізоляція робочого простору)
    - `gateway.port` (унікальні порти)

    Швидке налаштування (рекомендовано):

    - Використовуйте `openclaw --profile <name> ...` для кожного екземпляра (автоматично створює `~/.openclaw-<name>`).
    - Установіть унікальний `gateway.port` у конфігурації кожного профілю (або передайте `--port` для ручних запусків).
    - Установіть службу для кожного профілю: `openclaw --profile <name> gateway install`.

    Профілі також додають суфікс до назв служб (`ai.openclaw.<profile>`; застарілі `com.openclaw.*`, `openclaw-gateway-<profile>.service`, `OpenClaw Gateway (<profile>)`).
    Повний посібник: [Кілька Gateway](/uk/gateway/multiple-gateways).

  </Accordion>

  <Accordion title='Що означає "invalid handshake" / код 1008?'>
    Gateway — це **сервер WebSocket**, і він очікує, що найперше повідомлення
    буде кадром `connect`. Якщо він отримує щось інше, він закриває з’єднання
    з **кодом 1008** (порушення політики).

    Поширені причини:

    - Ви відкрили **HTTP** URL у браузері (`http://...`) замість WS-клієнта.
    - Ви використали неправильний порт або шлях.
    - Проксі або тунель видалив заголовки автентифікації чи надіслав запит не до Gateway.

    Швидкі виправлення:

    1. Використовуйте WS URL: `ws://<host>:18789` (або `wss://...`, якщо HTTPS).
    2. Не відкривайте WS-порт у звичайній вкладці браузера.
    3. Якщо автентифікацію ввімкнено, додайте токен/пароль у кадр `connect`.

    Якщо ви використовуєте CLI або TUI, URL має виглядати так:

    ```
    openclaw tui --url ws://<host>:18789 --token <token>
    ```

    Подробиці протоколу: [Протокол Gateway](/uk/gateway/protocol).

  </Accordion>
</AccordionGroup>

## Журналювання та налагодження

<AccordionGroup>
  <Accordion title="Де журнали?">
    Файлові журнали (структуровані):

    ```
    /tmp/openclaw/openclaw-YYYY-MM-DD.log
    ```

    Ви можете встановити стабільний шлях через `logging.file`. Рівень файлового журналу керується `logging.level`. Докладність консолі керується `--verbose` і `logging.consoleLevel`.

    Найшвидший перегляд журналу наживо:

    ```bash
    openclaw logs --follow
    ```

    Журнали служби/супервізора (коли gateway працює через launchd/systemd):

    - macOS: `$OPENCLAW_STATE_DIR/logs/gateway.log` і `gateway.err.log` (типово: `~/.openclaw/logs/...`; профілі використовують `~/.openclaw-<profile>/logs/...`)
    - Linux: `journalctl --user -u openclaw-gateway[-<profile>].service -n 200 --no-pager`
    - Windows: `schtasks /Query /TN "OpenClaw Gateway (<profile>)" /V /FO LIST`

    Див. більше в [Усунення несправностей](/uk/gateway/troubleshooting).

  </Accordion>

  <Accordion title="Як запустити/зупинити/перезапустити службу Gateway?">
    Використовуйте допоміжні команди gateway:

    ```bash
    openclaw gateway status
    openclaw gateway restart
    ```

    Якщо ви запускаєте gateway вручну, `openclaw gateway --force` може повернути порт. Див. [Gateway](/uk/gateway).

  </Accordion>

  <Accordion title="Я закрив термінал у Windows - як перезапустити OpenClaw?">
    Є **два режими встановлення Windows**:

    **1) WSL2 (рекомендовано):** Gateway працює всередині Linux.

    Відкрийте PowerShell, увійдіть у WSL, потім перезапустіть:

    ```powershell
    wsl
    openclaw gateway status
    openclaw gateway restart
    ```

    Якщо ви ніколи не встановлювали службу, запустіть її на передньому плані:

    ```bash
    openclaw gateway run
    ```

    **2) Нативний Windows (не рекомендовано):** Gateway працює безпосередньо у Windows.

    Відкрийте PowerShell і виконайте:

    ```powershell
    openclaw gateway status
    openclaw gateway restart
    ```

    Якщо ви запускаєте його вручну (без служби), використовуйте:

    ```powershell
    openclaw gateway run
    ```

    Документація: [Windows (WSL2)](/uk/platforms/windows), [Runbook служби Gateway](/uk/gateway).

  </Accordion>

  <Accordion title="Gateway працює, але відповіді ніколи не надходять. Що перевірити?">
    Почніть зі швидкої перевірки стану:

    ```bash
    openclaw status
    openclaw models status
    openclaw channels status
    openclaw logs --follow
    ```

    Поширені причини:

    - Автентифікацію моделі не завантажено на **хості gateway** (перевірте `models status`).
    - Спарювання каналу/список дозволів блокує відповіді (перевірте конфігурацію каналу + журнали).
    - WebChat/Dashboard відкрито без правильного токена.

    Якщо ви працюєте віддалено, підтвердьте, що тунель/з’єднання Tailscale активне і що
    WebSocket Gateway доступний.

    Документація: [Канали](/uk/channels), [Усунення несправностей](/uk/gateway/troubleshooting), [Віддалений доступ](/uk/gateway/remote).

  </Accordion>

  <Accordion title='"Disconnected from gateway: no reason" - що тепер?'>
    Зазвичай це означає, що UI втратив з’єднання WebSocket. Перевірте:

    1. Чи запущено Gateway? `openclaw gateway status`
    2. Чи справний Gateway? `openclaw status`
    3. Чи має UI правильний токен? `openclaw dashboard`
    4. Якщо доступ віддалений, чи активне підключення через тунель/Tailscale?

    Потім перегляньте логи в реальному часі:

    ```bash
    openclaw logs --follow
    ```

    Документація: [Dashboard](/uk/web/dashboard), [Віддалений доступ](/uk/gateway/remote), [Усунення несправностей](/uk/gateway/troubleshooting).

  </Accordion>

  <Accordion title="Telegram setMyCommands завершується помилкою. Що перевірити?">
    Почніть із логів і стану каналу:

    ```bash
    openclaw channels status
    openclaw channels logs --channel telegram
    ```

    Потім зіставте помилку:

    - `BOT_COMMANDS_TOO_MUCH`: у меню Telegram забагато пунктів. OpenClaw уже скорочує їх до ліміту Telegram і повторює спробу з меншою кількістю команд, але деякі пункти меню все одно потрібно прибрати. Зменште кількість команд Plugin/навичок/власних команд або вимкніть `channels.telegram.commands.native`, якщо меню вам не потрібне.
    - `TypeError: fetch failed`, `Network request for 'setMyCommands' failed!` або подібні мережеві помилки: якщо ви на VPS або за проксі, переконайтеся, що вихідний HTTPS дозволено і DNS працює для `api.telegram.org`.

    Якщо Gateway віддалений, переконайтеся, що переглядаєте логи на хості Gateway.

    Документація: [Telegram](/uk/channels/telegram), [Усунення несправностей каналів](/uk/channels/troubleshooting).

  </Accordion>

  <Accordion title="TUI не показує виводу. Що перевірити?">
    Спершу переконайтеся, що Gateway доступний і агент може запускатися:

    ```bash
    openclaw status
    openclaw models status
    openclaw logs --follow
    ```

    У TUI використовуйте `/status`, щоб побачити поточний стан. Якщо ви очікуєте відповіді в каналі
    чату, переконайтеся, що доставку ввімкнено (`/deliver on`).

    Документація: [TUI](/uk/web/tui), [Команди зі скісною рискою](/uk/tools/slash-commands).

  </Accordion>

  <Accordion title="Як повністю зупинити, а потім запустити Gateway?">
    Якщо ви встановили службу:

    ```bash
    openclaw gateway stop
    openclaw gateway start
    ```

    Це зупиняє/запускає **контрольовану службу** (launchd на macOS, systemd на Linux).
    Використовуйте це, коли Gateway працює у фоновому режимі як демон.

    Якщо ви запускаєте у передньому плані, зупиніть за допомогою Ctrl-C, потім:

    ```bash
    openclaw gateway run
    ```

    Документація: [Runbook служби Gateway](/uk/gateway).

  </Accordion>

  <Accordion title="Поясніть просто: openclaw gateway restart проти openclaw gateway">
    - `openclaw gateway restart`: перезапускає **фонову службу** (launchd/systemd).
    - `openclaw gateway`: запускає gateway **у передньому плані** для цього сеансу термінала.

    Якщо ви встановили службу, використовуйте команди gateway. Використовуйте `openclaw gateway`, коли
    потрібен одноразовий запуск у передньому плані.

  </Accordion>

  <Accordion title="Найшвидший спосіб отримати більше деталей, коли щось не працює">
    Запустіть Gateway із `--verbose`, щоб отримати більше деталей у консолі. Потім перегляньте файл логів на наявність помилок автентифікації каналів, маршрутизації моделей і RPC.
  </Accordion>
</AccordionGroup>

## Медіа та вкладення

<AccordionGroup>
  <Accordion title="Моя навичка згенерувала зображення/PDF, але нічого не було надіслано">
    Вихідні вкладення від агента мають містити рядок `MEDIA:<path-or-url>` (в окремому рядку). Див. [Налаштування асистента OpenClaw](/uk/start/openclaw) і [Надсилання агентом](/uk/tools/agent-send).

    Надсилання через CLI:

    ```bash
    openclaw message send --target +15555550123 --message "Here you go" --media /path/to/file.png
    ```

    Також перевірте:

    - Цільовий канал підтримує вихідні медіа й не заблокований allowlist.
    - Файл у межах обмежень розміру провайдера (зображення змінюються до максимуму 2048px).
    - `tools.fs.workspaceOnly=true` обмежує надсилання локальних шляхів workspace, temp/media-store і файлами, перевіреними sandbox.
    - `tools.fs.workspaceOnly=false` дозволяє `MEDIA:` надсилати локальні файли хоста, які агент уже може читати, але лише для медіа та безпечних типів документів (зображення, аудіо, відео, PDF і документи Office). Простий текст і файли, схожі на секрети, усе одно блокуються.

    Див. [Зображення](/uk/nodes/images).

  </Accordion>
</AccordionGroup>

## Безпека та контроль доступу

<AccordionGroup>
  <Accordion title="Чи безпечно відкривати OpenClaw для вхідних приватних повідомлень?">
    Ставтеся до вхідних приватних повідомлень як до недовіреного вводу. Типові налаштування спроєктовані для зменшення ризику:

    - Типова поведінка на каналах із підтримкою приватних повідомлень — **спарювання**:
      - Невідомі відправники отримують код спарювання; бот не обробляє їхнє повідомлення.
      - Підтвердьте за допомогою: `openclaw pairing approve --channel <channel> [--account <id>] <code>`
      - Очікувані запити обмежено **3 на канал**; перевірте `openclaw pairing list --channel <channel> [--account <id>]`, якщо код не надійшов.
    - Публічне відкриття приватних повідомлень потребує явного ввімкнення (`dmPolicy: "open"` і allowlist `"*"`).

    Запустіть `openclaw doctor`, щоб виявити ризиковані політики приватних повідомлень.

  </Accordion>

  <Accordion title="Чи prompt injection є проблемою лише для публічних ботів?">
    Ні. Prompt injection стосується **недовіреного вмісту**, а не лише того, хто може писати боту в приватні повідомлення.
    Якщо ваш асистент читає зовнішній вміст (вебпошук/отримання сторінок, сторінки браузера, електронні листи,
    документи, вкладення, вставлені логи), цей вміст може містити інструкції, що намагаються
    перехопити керування моделлю. Це може статися, навіть якщо **ви єдиний відправник**.

    Найбільший ризик виникає, коли інструменти ввімкнено: модель можна обманом змусити
    ексфільтрувати контекст або викликати інструменти від вашого імені. Зменшуйте радіус ураження так:

    - використовуйте агента-"читача" з доступом лише для читання або без інструментів, щоб підсумовувати недовірений вміст
    - тримайте `web_search` / `web_fetch` / `browser` вимкненими для агентів з увімкненими інструментами
    - також вважайте декодований текст файлів/документів недовіреним: OpenResponses
      `input_file` і витягування медіавкладень обгортають витягнутий текст
      явними маркерами межі зовнішнього вмісту замість передавання сирого тексту файлу
    - використовуйте sandbox і суворі allowlist інструментів

    Деталі: [Безпека](/uk/gateway/security).

  </Accordion>

  <Accordion title="Чи має мій бот мати власну електронну пошту, обліковий запис GitHub або номер телефону?">
    Так, для більшості налаштувань. Ізоляція бота окремими обліковими записами й номерами телефону
    зменшує радіус ураження, якщо щось піде не так. Це також спрощує ротацію
    облікових даних або відкликання доступу без впливу на ваші особисті облікові записи.

    Починайте з малого. Надавайте доступ лише до інструментів і облікових записів, які справді потрібні, і розширюйте
    пізніше за потреби.

    Документація: [Безпека](/uk/gateway/security), [Спарювання](/uk/channels/pairing).

  </Accordion>

  <Accordion title="Чи можу я надати йому автономію над моїми текстовими повідомленнями, і чи це безпечно?">
    Ми **не** рекомендуємо повну автономію над вашими особистими повідомленнями. Найбезпечніший шаблон:

    - Тримайте приватні повідомлення в **режимі спарювання** або суворому allowlist.
    - Використовуйте **окремий номер або обліковий запис**, якщо хочете, щоб він надсилав повідомлення від вашого імені.
    - Дозвольте йому створити чернетку, потім **підтвердьте перед надсиланням**.

    Якщо хочете експериментувати, робіть це на виділеному обліковому записі й тримайте його ізольованим. Див.
    [Безпека](/uk/gateway/security).

  </Accordion>

  <Accordion title="Чи можу я використовувати дешевші моделі для завдань персонального асистента?">
    Так, **якщо** агент працює лише в чаті, а ввід є довіреним. Менші рівні
    більш вразливі до перехоплення інструкцій, тому уникайте їх для агентів з увімкненими інструментами
    або під час читання недовіреного вмісту. Якщо потрібно використовувати меншу модель, заблокуйте
    інструменти й запускайте всередині sandbox. Див. [Безпека](/uk/gateway/security).
  </Accordion>

  <Accordion title="Я запустив /start у Telegram, але не отримав код спарювання">
    Коди спарювання надсилаються **лише** коли невідомий відправник пише боту і
    `dmPolicy: "pairing"` увімкнено. `/start` сам по собі не генерує код.

    Перевірте очікувані запити:

    ```bash
    openclaw pairing list telegram
    ```

    Якщо хочете негайний доступ, додайте свій ID відправника до allowlist або встановіть `dmPolicy: "open"`
    для цього облікового запису.

  </Accordion>

  <Accordion title="WhatsApp: чи він писатиме моїм контактам? Як працює спарювання?">
    Ні. Типова політика приватних повідомлень WhatsApp — **спарювання**. Невідомі відправники лише отримують код спарювання, а їхнє повідомлення **не обробляється**. OpenClaw відповідає лише на чати, які отримує, або на явні надсилання, які ви запускаєте.

    Підтвердьте спарювання за допомогою:

    ```bash
    openclaw pairing approve whatsapp <code>
    ```

    Перелічіть очікувані запити:

    ```bash
    openclaw pairing list whatsapp
    ```

    Запит номера телефону в майстрі: він використовується для налаштування вашого **allowlist/власника**, щоб ваші власні приватні повідомлення були дозволені. Він не використовується для автоматичного надсилання. Якщо ви запускаєте на своєму особистому номері WhatsApp, використовуйте цей номер і ввімкніть `channels.whatsapp.selfChatMode`.

  </Accordion>
</AccordionGroup>

## Команди чату, переривання завдань і "воно не зупиняється"

<AccordionGroup>
  <Accordion title="Як зупинити показ внутрішніх системних повідомлень у чаті?">
    Більшість внутрішніх повідомлень або повідомлень інструментів з'являються лише коли для цього сеансу ввімкнено
    **verbose**, **trace** або **reasoning**.

    Виправте в чаті, де це бачите:

    ```
    /verbose off
    /trace off
    /reasoning off
    ```

    Якщо шум усе ще є, перевірте налаштування сеансу в Control UI і встановіть verbose
    у **inherit**. Також переконайтеся, що ви не використовуєте профіль бота з `verboseDefault`, установленим
    у `on` у конфігурації.

    Документація: [Міркування та verbose](/uk/tools/thinking), [Безпека](/uk/gateway/security#reasoning-verbose-output-in-groups).

  </Accordion>

  <Accordion title="Як зупинити/скасувати запущене завдання?">
    Надішліть будь-яке з наведеного **як окреме повідомлення** (без скісної риски):

    ```
    stop
    stop action
    stop current action
    stop run
    stop current run
    stop agent
    stop the agent
    stop openclaw
    openclaw stop
    stop don't do anything
    stop do not do anything
    stop doing anything
    please stop
    stop please
    abort
    esc
    wait
    exit
    interrupt
    ```

    Це тригери переривання (не команди зі скісною рискою).

    Для фонових процесів (з інструмента exec) можна попросити агента запустити:

    ```
    process action:kill sessionId:XXX
    ```

    Огляд команд зі скісною рискою: див. [Команди зі скісною рискою](/uk/tools/slash-commands).

    Більшість команд потрібно надсилати як **окреме** повідомлення, що починається з `/`, але кілька скорочень (наприклад `/status`) також працюють вбудовано для відправників з allowlist.

  </Accordion>

  <Accordion title='Як надіслати повідомлення Discord із Telegram? ("Cross-context messaging denied")'>
    OpenClaw типово блокує обмін повідомленнями **між провайдерами**. Якщо виклик інструмента прив'язаний
    до Telegram, він не надішле в Discord, якщо ви явно не дозволите це.

    Увімкніть обмін повідомленнями між провайдерами для агента:

    ```json5
    {
      tools: {
        message: {
          crossContext: {
            allowAcrossProviders: true,
            marker: { enabled: true, prefix: "[from {channel}] " },
          },
        },
      },
    }
    ```

    Перезапустіть gateway після редагування конфігурації.

  </Accordion>

  <Accordion title='Чому здається, що бот "ігнорує" повідомлення, надіслані швидко одне за одним?'>
    Режим черги керує тим, як нові повідомлення взаємодіють із поточним запуском. Використовуйте `/queue`, щоб змінити режими:

    - `steer` - нові повідомлення перенаправляють поточне завдання
    - `followup` - запускати повідомлення по одному
    - `collect` - групувати повідомлення й відповісти один раз (типово)
    - `steer-backlog` - скерувати зараз, потім обробити backlog
    - `interrupt` - перервати поточний запуск і почати заново

    Можна додати параметри на кшталт `debounce:2s cap:25 drop:summarize` для режимів followup.

  </Accordion>
</AccordionGroup>

## Різне

<AccordionGroup>
  <Accordion title='Яка модель за замовчуванням для Anthropic з API-ключем?'>
    В OpenClaw облікові дані та вибір моделі відокремлені. Налаштування `ANTHROPIC_API_KEY` (або збереження API-ключа Anthropic у профілях автентифікації) вмикає автентифікацію, але фактична модель за замовчуванням — це та, яку ви налаштуєте в `agents.defaults.model.primary` (наприклад, `anthropic/claude-sonnet-4-6` або `anthropic/claude-opus-4-6`). Якщо ви бачите `No credentials found for profile "anthropic:default"`, це означає, що Gateway не зміг знайти облікові дані Anthropic в очікуваному `auth-profiles.json` для агента, який виконується.
  </Accordion>
</AccordionGroup>

---

Досі не можете вирішити проблему? Запитайте в [Discord](https://discord.com/invite/clawd) або відкрийте [обговорення GitHub](https://github.com/openclaw/openclaw/discussions).

## Пов’язане

- [FAQ першого запуску](/uk/help/faq-first-run) — встановлення, початкове налаштування, автентифікація, підписки, ранні збої
- [FAQ щодо моделей](/uk/help/faq-models) — вибір моделі, перемикання після збою, профілі автентифікації
- [Усунення несправностей](/uk/help/troubleshooting) — діагностика за симптомами
