# Ошибки и как их исправить (/ru/docs/desktop/troubleshooting)

Что-то не сработало: синхронизация остановилась, вход не прошёл или WireCat показал предупреждение. Здесь вы узнаете,
что случилось и как это исправить: по подсказке в приложении, с помощью своего ИИ-агента или с нашей помощью. Часто на
это уходит пара минут.

**На этой странице:**

1. [Что случилось](#что-случилось)
2. [Как это исправить](#как-это-исправить)
3. [Где видна ошибка](#где-видна-ошибка)
4. [Полный текст ошибки в журнале](#полный-текст-ошибки-в-журнале)
5. [Ошибка в терминале](#ошибка-в-терминале)
6. [Попросите агента помочь](#попросите-агента-помочь)
7. [Напишите нам](#напишите-нам)
8. [Как проверить, что всё исправлено](#как-проверить-что-всё-исправлено)
9. [Справочник кодов ошибок](#справочник-кодов-ошибок)

## Что случилось [#что-случилось]

Почти любая ошибка в WireCat относится к одному из четырёх случаев:

- **Сервис попросил подождать или не ответил.** Telegram, почта или Битрикс24 ограничивают, как часто к ним можно
  обращаться, иногда бывают недоступны, или пропал интернет. Обычно это проходит само.
- **Вход больше не работает.** Сессия устарела, пароль сменили или доступ отозвали в самом сервисе.
- **Не хватает настройки.** WireCat не знает, что сделать, пока вы не выберете, например, чьи сделки копировать.
- **Что-то сломалось у нас.** Тогда исправить можем только мы, и нам поможет ваш отчёт.

Подсказка под ошибкой говорит простыми словами, какой это случай.

## Как это исправить [#как-это-исправить]

1. **Сделайте то, что советует подсказка.** Нажмите **Ещё раз**, войдите снова или подождите. Часто этого достаточно.
2. **Посмотрите полный текст ошибки** в журнале. Там написано, что именно случилось и какую команду выполнить.
3. **Попросите своего ИИ-агента**, например Claude Code. Он сам прочитает журнал и предложит решение.
4. **Напишите нам** кнопкой **Сообщить о проблеме** в приложении или в чат поддержки.

Ниже каждый способ описан подробно.

## Где видна ошибка [#где-видна-ошибка]

Ошибки синхронизации и входа появляются на странице **Инструменты**. Там подключены ваши сервисы: Telegram, почта,
Битрикс24 и другие, у каждого своя карточка. Ошибка видна в карточке аккаунта, с которым что-то случилось. Первая
строка объясняет, что произошло и что сделать.

![Карточка Telegram с ошибкой «Идёт другая синхронизация», под «Подробнее» код provider_unavailable · profile.locked и кнопка «Открыть запуск в журнале»](/screenshots/desktop/docs/sync-error-light-ru.webp)

Нажмите **Подробнее**, чтобы увидеть код ошибки, например `provider_unavailable · profile.locked`, и кнопку **Открыть
запуск в журнале**. Код пригодится агенту или нам. Что значит каждый код, сказано в
[справочнике в конце страницы](#справочник-кодов-ошибок).

Полного текста ошибки в карточке нет. В нём бывают названия чатов и имена людей, поэтому приложение показывает его
только в журнале.

## Полный текст ошибки в журнале [#полный-текст-ошибки-в-журнале]

Каждый раз, когда WireCat что-то делает с сервисом, например синхронизирует его, это записывается в журнал как
**запуск**. Кнопка **Открыть запуск в журнале** открывает запуск с ошибкой на странице **Журнал**. Блок **Что пошло не
так** показывает полный текст ошибки, на каком запросе она случилась и что ответил сервис.

![Журнал: открыт запуск с ошибкой, в блоке «Что пошло не так» rate_limited и текст «Telegram asks to wait 27 s before the next request»](/screenshots/desktop/docs/failed-run-light-ru.webp)

Текст ошибки обычно называет, что сделать, иногда готовой командой. **Скопировать JSON** копирует всю запись запуска:
её можно отдать агенту или приложить к отчёту. Личные данные в ней уже скрыты. Как искать в журнале, объясняет
страница [Журнал](/llms.mdx/docs/ru/desktop/logs/content.md).

## Ошибка в терминале [#ошибка-в-терминале]

Если вы пользуетесь терминалом или приложение не открывается, полный текст ошибки можно увидеть и там. Кнопка
**Открыть терминал** в карточке открывает терминал, где нужная программа уже доступна.

Повторите то, что не получилось. Для синхронизации это `sync`, например для Битрикс24 с аккаунтом `Anna`:

```sh
b24 Anna sync
```

Или прочитайте записи прошлых запусков:

```sh
b24 Anna runs list status:failed --limit 5
b24 Anna runs show 20261112T095912Z-sync-54a1a4 --problems
```

`runs list` показывает последние запуски с ошибкой, а `runs show` один запуск со всеми шагами. Вместо `b24` и `Anna`
подставьте свой сервис и аккаунт, например `tg personal runs list` или `mail work runs list`. Все команды журнала
описаны в разделе [Логи в терминале](/llms.mdx/docs/ru/desktop/logs/content.md#%D0%BB%D0%BE%D0%B3%D0%B8-%D0%B2-%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB%D0%B5).

Проверку целиком делает `doctor`, например `tg personal doctor` или `memo doctor`. Он проверяет вход, настройки и
файлы и говорит, что исправить.

## Попросите агента помочь [#попросите-агента-помочь]

Ваш ИИ-агент, например Claude Code или Codex, умеет сам читать журнал WireCat и часто быстрее находит причину. Дайте
ему:

- код ошибки из карточки, например `configuration_error · config.invalid`, и в каком сервисе и аккаунте она;
- запись запуска, скопированную кнопкой **Скопировать JSON**, если она у вас есть.

Можно написать так:

```text
WireCat: синхронизация Bitrix24 для аккаунта Anna падает
с configuration_error · config.invalid. Найди причину в логах b24
(b24 Anna runs list status:failed) и скажи, что сделать.
```

Не давайте агенту коды входа, пароли и ключи. Для разбора ошибки они не нужны.

## Напишите нам [#напишите-нам]

Если агент не помог, нажмите **Сообщить о проблеме** вверху окна или **Сообщить** рядом с ошибкой. Опишите, что вы
делали, что случилось и чего ждали.

![Окно «Сообщить о проблеме»: поля «Кратко», «О чём», «Что вы делали?», «Что произошло?», «Чего вы ожидали?» и кнопка «Отправить отчёт»](/screenshots/desktop/docs/report-light-ru.webp)

- Отчёт становится открытым обсуждением (issue) на GitHub, поэтому за ним можно следить. Адреса почты, номера
  телефонов и токены в тексте скрываются ещё на вашем компьютере.
- К отчёту прикладываются последние записи ошибок из журнала. Они не публикуются, хранятся на сервере WireCat 90 дней и
  удаляются. Подробнее в [политике конфиденциальности](/ru/privacy#bug-reports).
- Пока вы не нажали **Отправить отчёт**, ничего не уходит.

Или напишите в [чат поддержки в Telegram](https://t.me/wirecatdev), тема «Помощь», или в
[Discord](https://discord.gg/DebENqbRrJ), канал #help. Скопируйте пример и замените на своё:

```text
Что делал: подключал Bitrix24, нажал «Ещё раз»
Ожидал: что сделки появятся на странице «Клиенты»
Получилось: configuration_error · config.invalid, скриншот ниже
Версии: кнопка «?», «О WireCat», «Скопировать сведения о версии»
Система: Windows 11
Агент ответил: что не выбраны пользователи CRM
```

Не присылайте коды входа, пароли, ключи и чужую переписку.

## Как проверить, что всё исправлено [#как-проверить-что-всё-исправлено]

Повторите то, что не получилось, например нажмите **Ещё раз** в карточке. Всё исправлено, если ошибка пропала из
карточки, а в журнале у нового запуска статус **Успешно**. Если ошибка вернулась, напишите нам и приложите её код и
запись запуска из журнала.

## Справочник кодов ошибок [#справочник-кодов-ошибок]

Код под **Подробнее** состоит из двух частей, например `provider_unavailable · profile.locked`. **Код**
(`provider_unavailable`) говорит, к какому виду относится ошибка, и он одинаковый во всех программах WireCat.
**Причина** (`profile.locked`) уточняет, что именно произошло: здесь аккаунтом сейчас занят другой запуск.

Причины `config.invalid`, `input.invalid`, `auth.failed`, `access.denied` и `item.not-found` общие. Их ставят, когда
точной причины нет, и они говорят только о виде ошибки. Что случилось на самом деле, написано в полном тексте ошибки
в журнале.

| Код | Что значит | Что делать | Код выхода |
| --- | --- | --- | --- |
| `validation_error` | Команда или её данные неверны | Прочитайте текст ошибки, он называет, что не так | 2 |
| `configuration_error` | Не хватает настройки, или файл настроек испорчен | Текст ошибки называет команду, которая это исправит. Проверку настроек делает `doctor` | 3 |
| `authentication_error` | Вход больше не работает: сессия устарела или ключ отозван | Войдите снова в карточке аккаунта | 4 |
| `permission_error` | Аккаунту это нельзя, или вы запретили это агентам | Проверьте права аккаунта в сервисе или разрешения на странице сервиса в WireCat | 5 |
| `not_found` | Нет такого чата, записи или профиля | Проверьте имя или id и аккаунт | 6 |
| `confirmation_required` | Команда что-то меняет и ждёт подтверждения | Подтвердите, если согласны с изменением | 7 |
| `rate_limited` | Сервис просит подождать | Подождите. Синхронизация продолжит сама | 8 |
| `timeout` | Сервис не ответил вовремя | Повторите позже | 9 |
| `network_error` | Нет связи с сервисом | Проверьте интернет, VPN или прокси | 10 |
| `provider_error` | Сервис ответил ошибкой | Повторите. Если повторяется, напишите нам | 11 |
| `provider_unavailable` | Сервис или аккаунт сейчас недоступен, например идёт другая синхронизация | Подождите и нажмите **Ещё раз** | 12 |
| `invalid_response` | Сервис ответил не так, как ожидалось | Напишите нам | 13 |
| `outcome_unknown` | Неизвестно, сработало ли изменение | Сначала проверьте результат в сервисе и только потом повторяйте, чтобы не отправить дважды | 14 |
| `conflict` | Мешает текущее состояние, например такое уже есть | Прочитайте текст ошибки | 15 |
| `cancelled` | Запуск остановили | Ничего, если это сделали вы | 130 |

Код выхода нужен в терминале и скриптам: программа завершается с этим числом.
