View on GitHub

ghub-desk

GitHub Organization Management CLI & MCP Server written in Go.

Installation

Linux / macOS:

curl -sSL https://takihito.github.io/ghub-desk/install.sh | sh

Windows (PowerShell):

irm https://takihito.github.io/ghub-desk/install.ps1 | iex

Automatically detects the latest version, verifies checksums, and installs to ~/.local/bin. No sudo required.

If ~/.local/bin is not in your PATH, add the following to your shell profile (~/.bashrc, ~/.zshrc, etc.):

export PATH="$HOME/.local/bin:$PATH"

To change the install directory:

curl -sSL https://takihito.github.io/ghub-desk/install.sh | GHUB_DESK_INSTALL_DIR=/usr/local/bin sh

go install

GO111MODULE=on go install github.com/takihito/ghub-desk@latest

Ensure $GOBIN is on your $PATH, then run ghub-desk version to confirm.

Pre-built binaries

For manual downloads, see the Releases page.

# Example: macOS arm64, version 0.2.3
VERSION=0.2.3
OS=Darwin      # Darwin, Linux, or Windows
ARCH=arm64     # arm64 or x86_64
ARTIFACT="ghub-desk_${VERSION}_${OS}_${ARCH}.tar.gz"

curl -L -o "${ARTIFACT}" \
  "https://github.com/takihito/ghub-desk/releases/download/v${VERSION}/${ARTIFACT}"

# Verify checksum (value from the releases page checksums.txt)
echo "EXPECTED_SHA256  ${ARTIFACT}" | shasum -a 256 --check

tar -xzf "${ARTIFACT}" ghub-desk
sudo mv ghub-desk /usr/local/bin/

Build from source

git clone https://github.com/takihito/ghub-desk.git
cd ghub-desk
make deps
make build
sudo cp build/ghub-desk /usr/local/bin/

Run make test before installing if you are modifying the codebase locally.

Configuration

After installation, create a config skeleton:

ghub-desk init config

Edit ~/.ghub-desk/config.yaml:

organization: "your-org"
github_token: "${GHUB_DESK_GITHUB_TOKEN}"
database_path: "./ghub-desk.db"   # optional

mcp:
  allow_pull: true    # expose pull/view tools to MCP clients
  allow_write: false  # keep push disabled by default

Then initialize the database:

ghub-desk init db

Authentication

Choose one authentication method:

Personal Access Token (PAT):

export GHUB_DESK_ORGANIZATION="your-org"
export GHUB_DESK_GITHUB_TOKEN="ghp_..."

GitHub App:

export GHUB_DESK_APP_ID="123456"
export GHUB_DESK_INSTALLATION_ID="76543210"
export GHUB_DESK_PRIVATE_KEY="$(cat /path/to/private-key.pem)"

Do not configure both at the same time — the tool will refuse to start.