Ошибка Error code 128 в Stable Diffusion WebUI от AUTOMATIC1111 появляется в консоли при установке расширений или при запуске программы: Git не может выполнить операцию git clone или git fetch и возвращает системный код завершения 128. Само сообщение обычно выглядит как «GitCommandError: Cmd('git') failed due to: exit code(128)», а следом идёт уточнение вроде fatal: unable to access... или could not resolve hostname. Это не сбой нейросети и не проблема видеокарты — это отказ утилиты Git, через которую WebUI скачивает и обновляет себя и свои расширения.
Хорошая новость: код 128 — общий код ошибки Git, и он почти всегда указывает на одну из нескольких типовых причин: отсутствие или некорректную установку Git, проблемы с сетью или блокировку GitHub, повреждённую локальную копию репозитория либо конфликт прав доступа к папке. Ниже разберём каждую причину и безопасные способы её устранения.
Что означает Error code 128 в Stable Diffusion
Код 128 — это не специфичная ошибка Stable Diffusion, а стандартный код завершения Git, означающий «фатальная ошибка выполнения команды». WebUI использует Git при первом запуске (скачивает зависимости), при установке расширений из вкладки Extensions и при обновлении. Когда команда Git падает, Python-обёртка GitPython перехватывает код возврата и выводит его в консоль.
Ключ к диагностике — текст, который идёт после самого кода. Именно stderr-сообщение Git говорит, что именно пошло не так: недоступен хост, отказано в доступе к папке, репозиторий повреждён или команда не найдена. Поэтому первое действие при ошибке — внимательно прочитать полный лог в консоли, а не только строку с кодом.
Основные причины ошибки
Чаще всего за кодом 128 стоит одна из следующих ситуаций. Проверять их стоит по порядку — от самых простых к более редким.
- 🔧 Git не установлен или не добавлен в переменную PATH — WebUI не может вызвать команду
git. - 🌐 Нет доступа к GitHub — блокировка провайдером, сбой DNS, проблемы с прокси или VPN.
- 📁 Повреждён локальный репозиторий — прерванное клонирование оставило неполную папку в
extensionsилиrepositories. - 🔒 Нет прав на запись — WebUI установлен в защищённую папку вроде
Program Filesили запущен от другого пользователя. - 🛡️ Антивирус блокирует Git — защитник Windows или сторонний антивирус прерывает сетевые операции или удаляет файлы.
Обратите внимание: если ошибка возникает только с одним конкретным расширением, а остальные ставятся нормально, проблема почти наверняка в самом репозитории расширения — он мог быть удалён, переименован или перемещён автором. В этом случае чинить нужно не Git, а искать актуальную ссылку на репозиторий.
Шаг 1. Проверка установки Git
Откройте командную строку Windows (Win + R, затем cmd) и выполните простую проверку:
git --version
Если в ответ вы видите номер версии, например git version 2.x.x — Git установлен и доступен, переходите к следующему шагу. Если система отвечает, что команда не распознана, Git нужно установить: скачайте официальный установщик с сайта проекта Git и при установке оставьте включённой опцию добавления Git в PATH (она предлагается по умолчанию). После установки перезапустите командную строку и WebUI.
⚠️ Внимание: если Git установлен, но WebUI всё равно его «не видит», возможно, вы изменили PATH уже после запуска терминала или ярлыка. Полностью закройте все окна командной строки и перезагрузите компьютер — переменные окружения подхватываются только при старте процесса.
Шаг 2. Проверка доступа к GitHub
Вторая по частоте причина — сеть. Проверьте доступность GitHub напрямую из командной строки:
ping github.com
git ls-remote https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
Первая команда проверяет базовую связность, вторая — реальную возможность Git обратиться к репозиторию. Если ping проходит, а git ls-remote зависает или выдаёт ошибку, вероятна блокировка на уровне провайдера или проблема с TLS. В этом случае попробуйте: сменить DNS на публичный (например, 8.8.8.8), временно отключить VPN или, наоборот, включить его, если GitHub недоступен из вашей сети, а также проверить, не фильтрует ли трафик корпоративный прокси.
Шаг 3. Очистка повреждённых папок репозиториев
Если клонирование было прервано (закрыли консоль, отключился интернет, завис процесс), в папках WebUI остаются «битые» каталоги, и повторная попытка Git падает с кодом 128, потому что папка уже существует, но не является валидным репозиторием. Это самая частая причина повторяющейся ошибки при установке одного и того же расширения.
☑️ Очистка повреждённых репозиториев
После удаления папки WebUI при следующей установке начнёт клонирование с чистого листа. Если ошибка повторяется даже с пустой папкой — возвращайтесь к проверке сети и прав доступа: значит, проблема не в локальных остатках, а в невозможности скачать данные.
Шаг 4. Права доступа и антивирус
WebUI должен иметь возможность свободно создавать и изменять файлы в собственной папке. Установка в системные каталоги вроде C:\Program Files — частый источник проблем: Windows ограничивает запись туда для обычных процессов. Рекомендуемое расположение — отдельная папка в корне диска или в профиле пользователя, например C:\stable-diffusion-webui, без кириллицы и пробелов в пути.
Антивирусы тоже могут вмешиваться: некоторые решения расценивают массовое скачивание файлов Git как подозрительную активность и молча блокируют процесс. Добавьте папку WebUI и исполняемый файл Git в исключения защитника. Конкретный путь настройки зависит от вашего антивируса — сверьтесь с его документацией.
⚠️ Внимание: не отключайте антивирус полностью ради установки расширений. Добавление конкретной папки в исключения — обратимая и контролируемая мера, а полное отключение защиты оставляет систему открытой.
Сводная таблица: симптом → причина → действие
| Текст в логе | Вероятная причина | Что делать |
|---|---|---|
| git не является командой | Git не установлен или нет в PATH | Установить Git, перезапустить терминал |
| could not resolve hostname | DNS или блокировка сети | Сменить DNS, проверить VPN/прокси |
| already exists and is not an empty directory | Остатки прерванного клонирования | Удалить папку расширения, повторить |
| Permission denied | Нет прав на запись в папку | Перенести WebUI из Program Files |
| repository not found | Репозиторий удалён или переименован | Найти актуальную ссылку на расширение |
Как установить расширение вручную, если автоустановка не работает
Откройте командную строку в папке stable-diffusion-webui\extensions и выполните: git clone
Если ничего не помогло
Когда все типовые шаги выполнены, а ошибка сохраняется, остаётся несколько вариантов. Попробуйте запустить WebUI с флагом, отключающим автообновление, чтобы изолировать сбойный этап, либо выполните полную переустановку: удалите папку venv внутри WebUI (она пересоздастся при запуске) и повторите запуск. Это безопасно — ваши модели в папке models и сгенерированные изображения при этом не затрагиваются.
Крайняя мера — чистая установка WebUI в новую папку с последующим переносом моделей. Перед этим убедитесь, что Git работает (шаг 1) и GitHub доступен (шаг 2): без этих двух условий переустановка не решит проблему, а лишь воспроизведёт её заново.
Частые вопросы
Опасна ли Error code 128 для моих моделей и генераций?
Нет. Ошибка затрагивает только процесс скачивания кода через Git. Файлы моделей, LoRA и сгенерированные изображения хранятся отдельно и не повреждаются.
Можно ли использовать Stable Diffusion без Git?
Частично — если скачать WebUI и расширения архивами вручную. Но вы потеряете автообновления и удобную установку расширений, поэтому корректная установка Git остаётся предпочтительным решением.
Ошибка 128 появляется только для одного расширения. Что делать?
Скорее всего, репозиторий расширения удалён, переименован или недоступен. Проверьте ссылку на GitHub в браузере и поищите актуальную версию расширения или его форк.
Поможет ли запуск WebUI от имени администратора?
Иногда — если причина в правах доступа. Но правильнее перенести WebUI в папку, где права не нужны: постоянный запуск от администратора создаёт лишние риски без реальной необходимости.
Код 128 при обновлении самого WebUI — это то же самое?
Да, механизм идентичен: WebUI обновляется через git pull. Проверьте сеть, права и целостность папки .git в корне установки — при повреждении помогает свежая установка с переносом моделей.