Getting started

Requirements

  • Node.js ≥ 20
  • A GitHub account with an active Copilot subscription (Individual, Business, or Enterprise — Pro+ tier required for Claude/GPT model access)

Installation

Install globally from npm for the most convenient usage:

npm install -g copillm

Or invoke it on demand with npx (no global install needed). For repeatable automation, pin a version (e.g. npx copillm@0.1.0 ...).

1. Log in

copillm auth login

This kicks off GitHub’s device-flow OAuth — you’ll see a code to paste into github.com/login/device. The resulting token is stored in your OS keychain when available, otherwise in ~/.copillm/credentials.json with 0600 perms.

Verify with:

copillm auth status
logged in as @your-handle (Your Name) (OS keychain)

The token is never printed. The (Your Name) part shows only when your display name differs from your login. Once you add a named account with --as (or otherwise have multiple accounts), auth status switches to a per-account listing — see copillm auth.

2. Launch an agent

The fastest path — copillm auto-starts the daemon and installs the agent on demand:

copillm claude     # launches Claude Code
copillm codex      # launches Codex CLI
copillm copilot    # launches GitHub Copilot CLI (reuses your stored token)
copillm pi         # launches the pi coding agent

Extra args are forwarded to the underlying agent:

copillm claude --model opus
copillm codex --help

That’s it — you’re talking to your Copilot seat through the agent of your choice.

3. (Optional) Run the daemon manually

If you’d rather manage the daemon yourself:

copillm start          # foreground
copillm start --detach # background
copillm status
copillm stop

Default bind is http://127.0.0.1:4141.

Next steps


Unofficial. Not affiliated with GitHub, Microsoft, OpenAI, or Anthropic.

This site uses Just the Docs, a documentation theme for Jekyll.