GitHub CLI

GitHub · лицензия MIT

Агент сам создаёт репозиторий на GitHub, выкладывает проект, открывает запросы на слияние и смотрит, прошла ли сборка. Официальная консольная программа GitHub.

macOS · Windows · LinuxНа компьютере, на сервере и в контейнереБесплатно, MIT

Установили 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
Исходный код
github.com/cli/cli
Лицензия
MIT
Версия
2.101.0 на 28.09.2026
Системы
macOS · Windows · Linux
Где работает
На компьютере, на сервере и в контейнере
Цена
Бесплатно
Проверка
Установили 28.09, без задачи

Установить агентом

Для Claude Code, Codex, Hermes и любого агента с терминалом
Установи программу «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
Объём
Установили и вывели версию, на задаче не запускали
Что именно сделали
  1. Ubuntu 24.04: в чистом образе нет gh, git и wget. Для команд документации поставлен sudo, в образе его нет.
  2. Команда для 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.
  3. SHA256 файла ключей совпал с документацией (6084d5d7…811b). В файле два ключа: 2C6106201985B60E6C7AC87323F3D4EA75716059, истёк 05.09.2026, и новый 7F38BBB59D064DBCB3D84D725612B36462313325.
  4. apt поставил gh 2.101.0 из cli.github.com/packages и ещё 42 новых пакета: у пакета зависимость git, и apt подтянул Git с зависимостями. Скачано 33,3 МБ, занято 132 МБ; сам gh после установки - 39,3 МБ.
  5. gh --version: gh version 2.101.0 (2026-09-15). apt-cache policy: без официального репозитория Ubuntu 24.04 поставила бы gh 2.45.0-1ubuntu0.3.
  6. Без входа 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). Вход не выполнялся, токены не вводились.
  7. Справка gh auth login: вход через браузер, токен в хранилище паролей системы, без хранилища - открытым текстом; минимальные разрешения repo, read:org, gist. Справка gh auth logout: токен не отзывается, отзыв - github.com/settings/applications.
  8. Справка gh repo delete: удаление требует разрешения delete_repo. gh repo create без вопросов создаёт репозиторий только с флагом --public, --private или --internal; gh repo edit --visibility требует флага --accept-visibility-change-consequences.
  9. gh skill install cli/cli gh --agent claude-code --scope user сработал без входа: навык gh из выпуска v2.101.0 лёг в ~/.claude/skills/gh/SKILL.md (12 135 байт); gh предупредил, что навыки GitHub не проверяет.
  10. gh config list: telemetry=enabled. GH_TELEMETRY=log gh skill list показал, что ушло бы в GitHub: команда, флаги, система, версия, номер устройства. После gh config set telemetry disabled значение - disabled.
  11. Удаление в 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 остался.
  12. 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.
  13. Удаление в Fedora: sudo dnf remove gh убрал программу, файл /etc/yum.repos.d/gh-cli.repo остался; после sudo rm этого файла dnf repolist репозиторий gh-cli не показывает.
ДатаВерсияОбъёмГдеИтог
28.09.20262.101.0источникибез установкиполучилось
28.09.20262.101.0установкаконтейнер, Linuxполучилось

«Проверено» ставим, только когда сами поставили программу и прогнали её на задаче. Сверка ссылок и вывод версии так не называются.

Похожие программы

Программу делают её авторы. Мы сверяем официальные источники и описываем, что ей нужно, но код остаётся чужим. Перед установкой посмотри план агента: что он поставит и что поменяет в системе.