PROVIDER GUIDE
GitHub Copilot
Dispatch tasks to GitHub Copilot's agent mode via the ACP protocol. Your personal Copilot subscription does the coding — CTRL NODE handles the remote dispatch and output streaming.
Fine-grained PAT ACP protocol Personal accounts only
Requirements
- ✓ A GitHub account with an active Copilot subscription (Individual or Pro)
- ✓ CTRL NODE Bridge installed on your machine (GitHub)
- ✓ Subscription mode — GitHub CLI (
gh) installed and authenticated. No PAT needed. - ✓ PAT mode — a fine-grained Personal Access Token with the Copilot Requests permission.
Important: Organisation tokens do not work. You must create a fine-grained Personal Access Token on your personal GitHub account with the Copilot Requests permission enabled.
Create a fine-grained PAT
- 1. Go to GitHub → Settings → Developer settings → Fine-grained tokens → New token
- 2. Set Resource owner to your personal account (not an org)
- 3. Under Permissions → Account permissions, find Copilot Requests and set it to Read and write
- 4. Generate the token and copy it
Quick start
Option A — GitHub CLI login
RecommendedRequires GitHub CLI — no PAT needed, just your Copilot subscription.
$gh auth login # authenticate once
$ PAIRING_TOKEN=your-pairing-token \
./ctrlnode
./ctrlnode
Option B — Fine-grained PAT
$ PAIRING_TOKEN=your-pairing-token \
COPILOT_GITHUB_TOKEN=github_pat_… \
./ctrlnode
COPILOT_GITHUB_TOKEN=github_pat_… \
./ctrlnode
Create a fine-grained PAT with the Copilot Requests permission.
.env file
PAIRING_TOKEN=your-pairing-token
# gh auth login mode — no token env var needed
# OR: PAT mode
COPILOT_GITHUB_TOKEN=github_pat_…
Environment variables
| Variable | Required | Description |
|---|---|---|
| COPILOT_GITHUB_TOKEN | Yes | Fine-grained PAT with Copilot Requests permission. |
How the Bridge dispatches to Copilot
When CTRL NODE dispatches a task to a Copilot agent:
- The Bridge connects to GitHub's ACP (Agent Control Protocol) endpoint using your PAT.
- It submits the task description as a Copilot session with the agent workspace as context.
- Responses and code edits stream back through the WebSocket to CTRL NODE in real time.
- On completion, task status updates in the dashboard. No data is stored server-side.