All providers
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 modeGitHub 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. 1. Go to GitHub → Settings → Developer settings → Fine-grained tokens → New token
  2. 2. Set Resource owner to your personal account (not an org)
  3. 3. Under Permissions → Account permissions, find Copilot Requests and set it to Read and write
  4. 4. Generate the token and copy it

Quick start

Option A — GitHub CLI login

Recommended

Requires GitHub CLIno PAT needed, just your Copilot subscription.

$gh auth login # authenticate once
$ PAIRING_TOKEN=your-pairing-token \
  ./ctrlnode

Option B — Fine-grained PAT

$ PAIRING_TOKEN=your-pairing-token \
  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:

  1. The Bridge connects to GitHub's ACP (Agent Control Protocol) endpoint using your PAT.
  2. It submits the task description as a Copilot session with the agent workspace as context.
  3. Responses and code edits stream back through the WebSocket to CTRL NODE in real time.
  4. On completion, task status updates in the dashboard. No data is stored server-side.

Ready to dispatch Copilot tasks remotely?