GitHub Copilot

Aider can connect to GitHub Copilot’s LLMs because Copilot exposes a standard OpenAI-style endpoint at:

https://api.githubcopilot.com

First, install aider:

python -m pip install aider-install
aider-install

Configure your environment

# macOS/Linux
export OPENAI_API_BASE=https://api.githubcopilot.com
export OPENAI_API_KEY=<oauth_token>

# Windows (PowerShell)
setx OPENAI_API_BASE https://api.githubcopilot.com
setx OPENAI_API_KEY  <oauth_token>
# …restart the shell after setx commands

Where do I get the token?

The easiest path is to sign in to Copilot from any JetBrains IDE (PyCharm, GoLand, etc). After you authenticate a file appears:

~/.config/github-copilot/apps.json

Copy the oauth_token value – that string is your OPENAI_API_KEY.

Note: tokens created by the Neovim copilot.lua plugin (old hosts.json) sometimes lack the needed scopes. If you see “access to this endpoint is forbidden”, regenerate the token with a JetBrains IDE or the VS Code Copilot extension.


Discover available models

Copilot hosts many models (OpenAI, Anthropic, Google, etc).
List the models your subscription allows with:

curl -s https://api.githubcopilot.com/models \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Copilot-Integration-Id: vscode-chat" | jq -r '.data[].id'

Each returned ID can be used with aider by prefixing it with openai/:

aider --model openai/gpt-4o
# or
aider --model openai/claude-3.7-sonnet-thought

Quick start

# change into your project
cd /to/your/project

# talk to Copilot
aider --model openai/gpt-4o

Optional config file (~/.aider.conf.yml)

openai-api-base: https://api.githubcopilot.com
openai-api-key:  "<oauth_token>"
model:           openai/gpt-4o
weak-model:      openai/gpt-4o-mini
show-model-warnings: false

FAQ

  • Calls made through aider are billed through your Copilot subscription
    (aider will still print estimated costs).
  • The Copilot docs explicitly allow third-party “agents” that hit this API – aider is playing by the rules.
  • Aider talks directly to the REST endpoint—no web-UI scraping or browser automation.