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
- See the command reference for every command and flag
- Read the Claude Code or Codex guide for manual wiring and advanced tuning
- Check the HTTP API reference if you want to point your own scripts or third-party tools at copillm