GitHub Copilot
Use your paid GitHub Copilot subscription in Empryo: sign in with a device code, watch the monthly allowance, run Claude, GPT and Gemini at no extra cost.
If you pay for GitHub Copilot, Empryo can use it. Claude Opus/Sonnet, GPT-4o, GPT-5.4, o-series, Gemini 2.5 Pro - all included in your Copilot subscription, no extra cost.
Unofficial integration using the same internal API as VS Code. Not endorsed by GitHub. Use at your own risk.
Setup
- 1Sign in
/login copilotA device-code flow (RFC 8628): Empryo shows a short code, opens
github.com/login/device, and waits while you approve. The resulting token is written to your system keychain. No IDE required. - 2Use it
Press
Ctrl+L, pickcopilot, choose a model.empryo --headless --model copilot/claude-sonnet-4.6 "explain this file"
Reusing an IDE token instead
If you already signed in to Copilot in VS Code or JetBrains, that token works too:
jq -r '."github.com".oauth_token' ~/.config/github-copilot/apps.json
empryo --set-key copilot <token>On Windows the path is ~\AppData\Local\github-copilot\apps.json. /keys inside the TUI does the same thing.
The credential must come from a classic OAuth App, which is what both paths above produce. Tokens minted by a GitHub App (client ids starting Ov23li) are rejected by Copilot's token exchange with a 404, so a fine-grained PAT will not work here.
Usage and quota
Copilot bills a monthly allowance, not tokens, so the number that matters is how much of the month is left. GitHub reports it and Empryo shows it next to the relay subscription meters, in the same gauge:
Subscription · copilot
● pro octocat
▸ premium [▰▰▰▰▰▱▱▱▱▱] 50% ↺ 12d
chat [▰▱▱▱▱▱▱▱▱▱] 10% ↺ 12d
completions [▱▱▱▱▱▱▱▱▱▱] 0% ↺ 12d editor onlyThree allowances come back, and they are not equivalent:
| Allowance | What spends it |
|---|---|
premium | Premium model requests — what an Empryo turn costs on a paid seat |
chat | Chat requests — what an Empryo turn costs on a Free seat |
completions | Inline ghost text in an editor. Empryo never spends this. |
That last row is why completions is drawn dimmed and marked *editor only*: a spent completions cap says nothing about whether your next turn will go through, so it must never read as "your plan is spent".
Allowances your plan does not carry are omitted rather than drawn empty. A Free seat has no premium budget, and GitHub reports it as zero-of-zero — rendering that verbatim would paint a full red bar for a limit that does not exist.
Where it shows, on every surface that can carry a plan meter:
| Surface | What appears |
|---|---|
| Terminal status bar | Ambient gauge beside the context bar, on a copilot/* model |
/usage → Plan | Every allowance, with the gating one marked |
| Desktop status bar | Same gauge; click opens the Usage drawer |
| Desktop Usage drawer | A Copilot card beside the relay and DevPass meters |
| Headless | A copilot: warning on stderr after a turn that leaves an allowance nearly spent |
The status bar carries one plan meter, and it follows the model: a copilot/* turn shows the Copilot allowance, a proxy/* turn shows the relay window. They are never both true at once, so they never compete for the slot.
Numbers are cached for five minutes; they only move monthly, and GitHub's Acceptable Use Policies discourage chatty automation against their servers.
Legal position
GitHub restructured its terms on 27 April 2026. What governs Copilot now depends on your seat:
| Seat | Governed by |
|---|---|
| Business, Enterprise | GitHub Copilot Product Specific Terms |
| Everything else | Section J (AI Features) of the GitHub Terms of Service |
Section J covers ownership of input and output, model training and the opt-out, disclaimers and indemnity. It places no restriction on which client you use. The constraints that do apply come from elsewhere in the agreement:
The official route
Since mid-2026 GitHub ships a supported path that did not exist when this integration was written:
| Package | What it is |
|---|---|
| `@github/copilot` | The official Copilot CLI |
| `@github/copilot-sdk` | MIT-licensed TypeScript SDK that drives that CLI over JSON-RPC |
If being on a sanctioned integration matters more to you than running Copilot models inside Empryo's own agent loop, that SDK is the route GitHub endorses. Empryo's provider talks to the chat endpoint directly instead, which is what lets Copilot models use the same tools, Genome and compaction as every other provider.
Re-verify if GitHub publishes updated terms after 2026-08-02.