Skip to content
YottaCode v0.3.1 is out! πŸŽ‰ See the release notes β†—

GitHub Copilot

Bill model calls against your GitHub Copilot subscription. copilot uses GitHub’s device-code flow to authenticate; available models depend on the subscription tier (Free, Pro, Pro+).

Configure

In the TUI β€” add it straight from the provider picker:

/provider      # open the picker β†’ Add `copilot-auth`; starts the GitHub device-code flow inline
/model <id>    # pick a model your plan allows (plan-gated ones are marked "upgrade plan")

From the command line β€” sign in, then select the provider:

yottacode copilot-auth login
export YOTTACODE_PROVIDER=copilot
export YOTTACODE_MODEL=claude-haiku-4.5
export YOTTACODE_BASE_URL=https://api.githubcopilot.com

…or pass flags at launch (no --api-key β€” auth uses the stored token):

yottacode --provider copilot \
  --model claude-haiku-4.5 \
  --base-url https://api.githubcopilot.com

Context window. Copilot fronts other vendors’ models at its own (smaller) token limits β€” gpt-5.5 via Copilot is 400K, not the 1.05M the same id has on api.openai.com. The login scan captures each model’s real limit from GitHub’s models API, and window resolution reads it per provider kind, so a namesake model never inherits another backend’s number. The same overlay pinning described for ChatGPT OAuth (copilot/<model-id> entries in ~/.yottacode/context-windows.json) works here too.

Lifecycle commands:

yottacode copilot-auth login          # device code flow, saves token + caches models
yottacode copilot-auth models         # list available models (updates cache)
yottacode copilot-auth models --raw   # full API response for debugging
yottacode copilot-auth status
yottacode copilot-auth status --json
yottacode copilot-auth logout

Tokens and cached model lists live in ~/.yottacode/auth/ with restrictive file permissions. That directory is denied to model read and write tools.