GitHub CLI
GitHub · лицензия MIT
Агент сам создаёт репозиторий на GitHub, выкладывает проект, открывает запросы на слияние и смотрит, прошла ли сборка. Официальная консольная программа GitHub.
Установили 28.09.2026 (Docker 29.2.1, одноразовые контейнеры Ubuntu 24.04.5 LTS и Fedora 44 на arm64, без входа в GitHub) и вывели версию. На задаче не запускали. Что именно проверяли
Какую задачу решает
Официальная консольная программа GitHub, команда gh. Через неё агент сам работает с GitHub: создаёт репозиторий и выкладывает туда проект, открывает запросы на слияние, читает задачи (issues), делает выпуски и смотрит, прошла ли автоматическая сборка. Документация Claude Code и Codex советует поставить gh для работы с GitHub.
- Создаёт репозиторий на GitHub, закрытый или открытый, и выкладывает туда проект из папки: gh repo create.
- Открывает запрос на слияние и показывает, прошли ли по нему проверки: gh pr create, gh pr checks.
- Читает задачи (issues) и заводит новые: gh issue list, gh issue create.
- Делает выпуск с заметками и файлами: gh release create.
- Следит за автоматической сборкой GitHub Actions до конца и показывает шаги, которые не прошли: gh run watch.
Пример результата
Говоришь агенту
Создай закрытый репозиторий moy-proekt на GitHub, выложи туда проект из этой папки и пришли ссылку.
Что получится
Агент при необходимости делает из папки git-репозиторий, создаёт на GitHub закрытый репозиторий и отправляет туда файлы. В ответ приходит ссылка вида github.com/твой-логин/moy-proekt: репозиторий видишь только ты и те, кого пригласишь.
Паспорт
- Кто делает
- GitHub
- Сайт
- cli.github.com
- Исходный код
- github.com/cli/cli
- Инструкция
- github.com/cli/cli#installation
- Лицензия
- MIT
- Версия
- 2.101.0 на 28.09.2026
- Системы
- macOS · Windows · Linux
- Где работает
- На компьютере, на сервере и в контейнере
- Цена
- Бесплатно
- Проверка
- Установили 28.09, без задачи
Установить агентом
Установи программу «GitHub CLI». Работай по шагам и после каждого коротко говори, что сделал.
Что это за программа (каталог smyslokod.ru, официальные источники сверены 28.09.2026):
- официальный сайт: https://cli.github.com/
- исходный код: https://github.com/cli/cli
- инструкция по установке: https://github.com/cli/cli#installation
- актуальная версия на 28.09.2026: 2.101.0
- лицензия: MIT
- для работы нужно (обязательно): Git - gh зовёт git, когда скачивает репозиторий, отправляет изменения и переключается на запрос на слияние; пакеты для Linux ставят Git сами как зависимость
- для работы нужно (обязательно): Аккаунт на GitHub - без входа почти все команды gh только просят войти (gh auth login); подойдёт бесплатный аккаунт
Правила:
1. Ничего не устанавливай и не меняй, пока я не скажу «да» на твой план.
2. Ставь только способами из этого промпта. Сторонние сборки, скрипты с форумов и из чужих репозиториев не бери.
3. Мои проекты не трогай: не меняй их файлы, виртуальные окружения и списки зависимостей (package.json, requirements.txt, pyproject.toml).
4. Команды с sudo, правку профиля оболочки (~/.zshrc, ~/.bashrc) и переменной PATH делай только после моего отдельного «да» на каждую.
5. Не проси у меня пароли и ключи и не выводи их. Если нужен пароль администратора, дай команду, я выполню её сам.
6. Вход в GitHub делаю я сам: скажи, где запустить gh auth login - на моём компьютере или на сервере, где работаешь ты. Не запускай вход за меня, не проси у меня токен и не выводи его: не вызывай gh auth token и gh auth status с флагом --show-token, не доставай токен из связки ключей (security find-generic-password).
7. Перед созданием репозитория спроси имя и видимость. Создавай с явным флагом видимости: --private, а --public только после моего отдельного «да». Видимость существующего репозитория на открытую не меняй.
8. Не удаляй репозитории и не запрашивай разрешение delete_repo (gh auth refresh -s delete_repo).
9. Не отправляй изменения с флагом --force.
10. Если gh уже стоит, но версии 2.45 или 2.46 из репозитория Ubuntu или Debian, скажи мне: разработчики называют эти версии сломанными. Предложи официальный репозиторий из этого промпта.
11. Перед первой отправкой проекта на GitHub покажи мне, какие файлы уйдут (git status), и проверь, что .env и другие файлы с ключами есть в .gitignore.
Шаги:
0. Определи, где ты работаешь: мой компьютер, сервер или контейнер. Какая система и процессор, какие менеджеры пакетов есть (Homebrew, apt, winget, uv, pipx). Ставить нужно туда, где ты сам запускаешь команды.
- на компьютере: через Homebrew на Mac, winget на Windows или пакет из официального репозитория на Linux. Войти в GitHub нужно один раз, через браузер.
- на сервере: на Linux-сервере - пакет из официального репозитория apt или dnf. Браузера там нет: при входе gh покажет одноразовый код и адрес страницы GitHub, открой её на своём компьютере или телефоне и введи код.
- в контейнере: в образ на Debian или Ubuntu - тем же репозиторием apt, Git пакет подтянет сам. Для работы без браузера разработчики советуют токен в переменной GH_TOKEN, её задаёшь ты сам. В Dockerfile официального образа Hermes Agent на 28.09.2026 gh нет, Git есть.
1. Проверь, не стоит ли программа уже: gh --version. Если стоит и запускается, ничего не ставь и переходи к шагу 5.
2. Проверь, что есть всё нужное для работы: Git, Аккаунт на GitHub. Чего нет, внеси в план отдельным пунктом. Проверь свободное место на диске: нужно около 40 МБ на саму программу (в Ubuntu 24.04 на arm64 пакет после установки занял 39,3 МБ); если Git нет, apt или dnf поставит и его: в чистом Ubuntu 24.04 вместе с Git и зависимостями вышло 132 МБ.
3. Составь план: каким одним способом из списка ниже будешь ставить, что появится на диске и сколько места займёт, что поменяется в системе и как потом удалить. Покажи план и жди моего «да».
Способы из официальных источников:
- macOS, Homebrew: brew install gh
- Windows, winget: winget install --id GitHub.cli --source winget (установщик меняет PATH: потом открой новое окно терминала, в Windows Terminal новой вкладки мало)
- Windows, установщик msi: msiexec /i gh_2.101.0_windows_amd64.msi (файл скачать со страницы выпуска, для ARM - gh_2.101.0_windows_arm64.msi; ставит программу для всех пользователей в C:\Program Files\GitHub CLI и дописывает её в системный PATH, Windows может попросить права администратора)
- Linux, apt: sudo mkdir -p -m 755 /etc/apt/keyrings && out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg && cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && sudo mkdir -p -m 755 /etc/apt/sources.list.d && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null && sudo apt update && sudo apt install gh -y (Debian, Ubuntu, Raspberry Pi; нужен wget, если его нет - sudo apt install wget -y, с этого начинается команда в документации; Git apt поставит сам)
- Linux, dnf: sudo dnf install dnf5-plugins && sudo dnf config-manager addrepo --from-repofile=https://cli.github.com/packages/rpm/gh-cli.repo && sudo dnf install gh (Fedora 41 и новее, где DNF5; команды для DNF4, yum и zypper - на той же странице документации)
4. Установи по согласованному плану. Если что-то идёт не так, как в плане, остановись и спроси.
5. Проверь результат:
- gh --version: программа запускается без ошибки;
- Попроси меня войти в GitHub: я сам запущу gh auth login в своём терминале. Потом проверь вход и покажи пять моих репозиториев, ничего на GitHub не создавая и не меняя. Делай это во временной папке и не трогай мои файлы.
gh auth status
gh repo list --limit 5
- если ты работаешь в папке моего проекта, покажи git status: от установки в проекте не должно появиться изменений.
6. Итог одним сообщением: что установлено, какой версии и куда, сколько места заняло, что поменялось в системе и как всё удалить (macOS, Homebrew: brew uninstall gh; Windows, winget: winget uninstall --id GitHub.cli -e; Windows, установщик msi: msiexec /x gh_2.101.0_windows_amd64.msi; Linux, apt: sudo apt remove gh && sudo rm /etc/apt/sources.list.d/github-cli.list /etc/apt/keyrings/githubcli-archive-keyring.gpg; Linux, dnf: sudo dnf remove gh && sudo rm /etc/yum.repos.d/gh-cli.repo).
Если на любом шаге ошибка, не чини наугад: покажи текст ошибки и скажи, что, по-твоему, случилось. Частые проблемы: https://smyslokod.ru/cli/github-cli#problemyПромпт собран из официальных инструкций, сверенных 28.09.2026. Агент сначала проверит, что уже стоит, покажет план с местом на диске и способом удаления и без твоего «да» ничего не поставит. Сами мы этот промпт на живой установке ещё не прогоняли.
Как ставят вручную
Способы из официальных источников, у каждого ссылка на первоисточник.
macOS · Homebrew · источник
brew install gh
Windows · winget · источник
winget install --id GitHub.cli --source winget
установщик меняет PATH: потом открой новое окно терминала, в Windows Terminal новой вкладки мало
Windows · установщик msi · источник
msiexec /i gh_2.101.0_windows_amd64.msi
файл скачать со страницы выпуска, для ARM - gh_2.101.0_windows_arm64.msi; ставит программу для всех пользователей в C:\Program Files\GitHub CLI и дописывает её в системный PATH, Windows может попросить права администратора
Linux · apt · источник
sudo mkdir -p -m 755 /etc/apt/keyrings && out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg && cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && sudo mkdir -p -m 755 /etc/apt/sources.list.d && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null && sudo apt update && sudo apt install gh -y
Debian, Ubuntu, Raspberry Pi; нужен wget, если его нет - sudo apt install wget -y, с этого начинается команда в документации; Git apt поставит сам
Linux · dnf · источник
sudo dnf install dnf5-plugins && sudo dnf config-manager addrepo --from-repofile=https://cli.github.com/packages/rpm/gh-cli.repo && sudo dnf install gh
Fedora 41 и новее, где DNF5; команды для DNF4, yum и zypper - на той же странице документации
Как удалить
- macOS, Homebrew:
brew uninstall gh - Windows, winget:
winget uninstall --id GitHub.cli -e - Windows, установщик msi:
msiexec /x gh_2.101.0_windows_amd64.msi - Linux, apt:
sudo apt remove gh && sudo rm /etc/apt/sources.list.d/github-cli.list /etc/apt/keyrings/githubcli-archive-keyring.gpg - Linux, dnf:
sudo dnf remove gh && sudo rm /etc/yum.repos.d/gh-cli.repo
Что нужно для работы
- Git (обязательно) - gh зовёт git, когда скачивает репозиторий, отправляет изменения и переключается на запрос на слияние; пакеты для Linux ставят Git сами как зависимость
- Аккаунт на GitHub (обязательно) - без входа почти все команды gh только просят войти (gh auth login); подойдёт бесплатный аккаунт
Системы
- macOS - установка через Homebrew или готовые файлы со страницы выпусков: архивы zip для Apple Silicon и Intel и установщик pkg, пока без подписи Apple. На Mac с Intel новый Homebrew не ставится, его установщик работает только на Apple Silicon: там остаются только готовые файлы со страницы выпуска.
- Windows - winget (Windows 10, 11 и Windows Server 2025) или установщик msi для x64, x86 и ARM64 со страницы выпусков.
- Linux - официальные репозитории пакетов: apt для Debian, Ubuntu и Raspberry Pi, dnf для Fedora 41 и новее; готовые архивы для amd64, arm64, 386 и armv6.
Где запускать
Ставить нужно туда, где работает агент: на твой компьютер, сервер или в контейнер.
- На компьютере - через Homebrew на Mac, winget на Windows или пакет из официального репозитория на Linux. Войти в GitHub нужно один раз, через браузер.
- На сервере - на Linux-сервере - пакет из официального репозитория apt или dnf. Браузера там нет: при входе gh покажет одноразовый код и адрес страницы GitHub, открой её на своём компьютере или телефоне и введи код.
- В контейнере - в образ на Debian или Ubuntu - тем же репозиторием apt, Git пакет подтянет сам. Для работы без браузера разработчики советуют токен в переменной GH_TOKEN, её задаёшь ты сам. В Dockerfile официального образа Hermes Agent на 28.09.2026 gh нет, Git есть.
Сколько ресурсов нужно
- Место на диске
- Около 40 МБ на саму программу (в Ubuntu 24.04 на arm64 пакет после установки занял 39,3 МБ); если Git нет, apt или dnf поставит и его: в чистом Ubuntu 24.04 вместе с Git и зависимостями вышло 132 МБ
- Сеть
- Нужен интернет: почти все команды gh обращаются к GitHub. Раз в сутки gh проверяет, не вышла ли новая версия; выключается переменной GH_NO_UPDATE_NOTIFIER.
Архивы и установщики версии 2.101.0 весят 13-15 МБ, установщик pkg для macOS - 28 МБ.
Лицензия и платные замены
Лицензия MIT. Правообладатель GitHub Inc. Условия лицензии важны тем, кто распространяет gh вместе со своим продуктом; чтобы пользоваться программой, делать ничего не нужно. Текст лицензии
Цена: Бесплатно
Платные замены
Платной замены нет: программа бесплатная. Платные тарифы есть у самого GitHub, но для задач из карточки хватает бесплатного: репозитории без ограничений и 2 000 минут GitHub Actions в месяц, для открытых репозиториев сборка бесплатна.
Бесплатные замены
- GitHub Desktop - Бесплатная программа GitHub с окнами для работы с репозиториями руками, с открытым кодом (MIT). Удобна человеку, агенту привычнее gh.
- Сайт github.com - Всё то же самое в браузере, руками: репозитории, задачи, запросы на слияние, выпуски.
- GitHub MCP Server - Официальный MCP-сервер GitHub с открытым кодом (MIT): агент работает с репозиториями, задачами и запросами на слияние через подключение MCP, без консольной программы.
О чём помнить
- Вход даёт gh и агенту, который его запускает, полный доступ к твоим репозиториям, включая закрытые: код, задачи, запросы на слияние (разрешения repo, read:org и gist). Если при входе согласиться настроить Git («Authenticate Git with your GitHub credentials?»), gh пропишет себя в общие настройки Git и добавит разрешение workflow: с ним можно менять файлы сборки GitHub Actions. Удалять репозитории такой вход не даёт: для этого нужно отдельное разрешение delete_repo.
- Токен gh хранит в хранилище паролей системы (на Mac - в связке ключей), а если его нет, как бывает на сервере, - открытым текстом в своей папке настроек; где он лежит, покажет gh auth status. Сам токен выводит команда gh auth token, и агент может её вызвать: разработчики gh пишут, что с распространением агентов растёт риск, что токен достанут без твоего ведома. На сервере и в автоматизации gh берёт токен из переменной GH_TOKEN: задай её сам и в чат агенту токен не присылай.
- gh auth logout убирает вход только на этом устройстве и токен не отзывает, удаление программы тоже. Отозвать доступ: github.com/settings/applications, приложение GitHub CLI, кнопка Revoke access. Отзовутся все токены gh на всех твоих устройствах.
- gh отправляет в GitHub сведения об использовании: какие команды и флаги запускались, система, версия и номер устройства (так показывает режим GH_TELEMETRY=log). Выключить: gh config set telemetry disabled или переменная GH_TELEMETRY=false.
- У gh есть официальный навык (skill) для агентов: gh skill install cli/cli gh --agent claude-code --scope user ставит его в ~/.claude/skills, вход в GitHub для этого не нужен. Чужие навыки GitHub не проверяет и сам предупреждает, что в них бывают скрытые инструкции: ставь только из источников, которым доверяешь.
- Из России GitHub и адреса установки открываются: 28.09.2026 с сервера в России ответили github.com, api.github.com, cli.github.com, репозиторий пакетов и файлы выпусков.
Частые проблемы
To get started with GitHub CLI, please run: gh auth login
gh не вошёл в GitHub. Без входа почти все команды отвечают так и завершаются с кодом 4. Войди сам в своём терминале: gh auth login, вход через браузер. На сервере открой показанный адрес на своём компьютере или телефоне и введи одноразовый код.
The following signatures were invalid: EXPKEYSIG 23F3D4EA75716059 при sudo apt update
Старый ключ подписи пакетов GitHub CLI истёк 05.09.2026, а файл ключей в системе скачан до 08.04.2026, когда в него добавили новый ключ. Скачай файл ключей заново: sudo wget -qO /etc/apt/keyrings/githubcli-archive-keyring.gpg https://cli.github.com/packages/githubcli-archive-keyring.gpg && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg, затем sudo apt update. Так советуют разработчики в объявлении cli/cli#13118, там же команды для rpm и для образов Docker.
В Ubuntu или Debian стоит gh 2.45 или 2.46
Поставлен пакет из репозитория самого дистрибутива. Разработчики пишут, что эти версии сломаны из-за устаревших API GitHub. Добавь официальный репозиторий командой установки из карточки и выполни sudo apt install gh: apt возьмёт свежую версию из него.
Windows не находит gh сразу после установки
Установщик дописал gh в PATH, а открытое окно терминала этого ещё не знает. Открой новое окно терминала. В Windows Terminal новой вкладки мало, нужно именно новое окно.
Проверка
Установили 28.09.2026 (Docker 29.2.1, одноразовые контейнеры Ubuntu 24.04.5 LTS и Fedora 44 на arm64, без входа в GitHub) и вывели версию. На задаче не запускали.
- Когда
- 28.09.2026
- Среда
- Docker 29.2.1, одноразовые контейнеры Ubuntu 24.04.5 LTS и Fedora 44 на arm64, без входа в GitHub
- Объём
- Установили и вывели версию, на задаче не запускали
- Что именно сделали
- Ubuntu 24.04: в чистом образе нет gh, git и wget. Для команд документации поставлен sudo, в образе его нет.
- Команда для Debian и Ubuntu из docs/install_linux.md без изменений: поставила wget, скачала файл ключей cli.github.com/packages/githubcli-archive-keyring.gpg, добавила репозиторий cli.github.com/packages, выполнила apt update и apt install gh -y; код выхода 0.
- SHA256 файла ключей совпал с документацией (6084d5d7…811b). В файле два ключа: 2C6106201985B60E6C7AC87323F3D4EA75716059, истёк 05.09.2026, и новый 7F38BBB59D064DBCB3D84D725612B36462313325.
- apt поставил gh 2.101.0 из cli.github.com/packages и ещё 42 новых пакета: у пакета зависимость git, и apt подтянул Git с зависимостями. Скачано 33,3 МБ, занято 132 МБ; сам gh после установки - 39,3 МБ.
- gh --version: gh version 2.101.0 (2026-09-15). apt-cache policy: без официального репозитория Ubuntu 24.04 поставила бы gh 2.45.0-1ubuntu0.3.
- Без входа gh auth status ответил You are not logged into any GitHub hosts (код 1); gh repo view, gh issue list, gh api, gh release list, gh search repos, gh status и gh repo clone попросили gh auth login или GH_TOKEN (код 4). Вход не выполнялся, токены не вводились.
- Справка gh auth login: вход через браузер, токен в хранилище паролей системы, без хранилища - открытым текстом; минимальные разрешения repo, read:org, gist. Справка gh auth logout: токен не отзывается, отзыв - github.com/settings/applications.
- Справка gh repo delete: удаление требует разрешения delete_repo. gh repo create без вопросов создаёт репозиторий только с флагом --public, --private или --internal; gh repo edit --visibility требует флага --accept-visibility-change-consequences.
- gh skill install cli/cli gh --agent claude-code --scope user сработал без входа: навык gh из выпуска v2.101.0 лёг в ~/.claude/skills/gh/SKILL.md (12 135 байт); gh предупредил, что навыки GitHub не проверяет.
- gh config list: telemetry=enabled. GH_TELEMETRY=log gh skill list показал, что ушло бы в GitHub: команда, флаги, система, версия, номер устройства. После gh config set telemetry disabled значение - disabled.
- Удаление в Ubuntu: sudo apt remove gh -y освободил 39,3 МБ, sudo rm /etc/apt/sources.list.d/github-cli.list /etc/apt/keyrings/githubcli-archive-keyring.gpg убрал репозиторий; /usr/bin/gh нет, apt update к cli.github.com больше не обращается, Git остался.
- Fedora 44 (DNF5 5.4.3), команды DNF5 из документации с флагом -y: config-manager addrepo создал /etc/yum.repos.d/gh-cli.repo, dnf install gh поставил gh 2.101.0 и Git 2.55.0 как зависимость; gh --version - 2.101.0.
- Удаление в Fedora: sudo dnf remove gh убрал программу, файл /etc/yum.repos.d/gh-cli.repo остался; после sudo rm этого файла dnf repolist репозиторий gh-cli не показывает.
| Дата | Версия | Объём | Где | Итог |
|---|---|---|---|---|
| 28.09.2026 | 2.101.0 | источники | без установки | получилось |
| 28.09.2026 | 2.101.0 | установка | контейнер, Linux | получилось |
«Проверено» ставим, только когда сами поставили программу и прогнали её на задаче. Сверка ссылок и вывод версии так не называются.
Похожие программы
Программу делают её авторы. Мы сверяем официальные источники и описываем, что ей нужно, но код остаётся чужим. Перед установкой посмотри план агента: что он поставит и что поменяет в системе.