Skip to content
PortBay

Copilot CLI, working a card in a running app

PortBay spawns `copilot -p` against the card's brief, in a project that is already serving at a real URL with its database attached. Your GitHub Copilot subscription, your machine, no proxy in between.

The short answerVerified against the product, 2026-09-11

Can I run GitHub Copilot CLI on a task board?

Yes. PortBay detects the `copilot` binary on your PATH and offers it in the agent picker alongside ten others. Assign it to a card, move the card to To Do, and PortBay spawns `copilot -p "<the card>"` headless with the working directory set to your project — no terminal tab to keep open and nothing to babysit. What makes the run different from the same command typed by hand is what surrounds it: the project is already running on its own .test domain with a certificate macOS trusts, a per-project database is attached and injected as DATABASE_URL, and outgoing mail lands in a local inbox. Copilot can therefore fetch the page it just edited rather than reasoning about it. Each card gets its own git worktree, so several runs share the repo without sharing files, and a strike system stops a card that has failed three times. Copilot runs on the GitHub subscription you already hold; PortBay proxies nothing.

In the app

A Copilot run, headless and on a card

acme-shop · Board6 cards3 agents online
Pending2
infra
Rate-limit the API
P1
Dark mode polish
P2
Todo2
auth
Add OAuth login
P0Claude Code0/3oauth-login
Auto-dispatching
implement OAuth on app.test
db
Migrate to Postgres
P1
In Progress1
Fix flaky checkout test
P0
Done2
Set up Mailpit inbox
P2
Seed demo data
P2
1/5 · AssignA card lands in Todo and @claude is mentioned

The card supplies the prompt; the environment supplies the URL, the database and the logs the run checks itself against.

Walkthrough

Your first Copilot CLI card

Five steps from a clean Mac to a Copilot run you can open in a browser. Every command runs as written.

  1. Install PortBay
  2. Add your project and press play
  3. Check Copilot CLI is on your PATH
  4. Write a card and assign Copilot CLI
  5. Move the card to To Do and review at a URL

Install PortBay

Homebrew installs the app and the bundled portbay CLI. Prefer a direct download? Grab the DMG from GitHub Releases and drag PortBay.app into Applications.

brew tap portbay-app/portbay && brew install --cask portbay

Add your project and press play

Pick the folder; PortBay reads the stack and fills in the runtime, start command and port. Pressing play issues the certificate, resolves the hostname and attaches the database — the environment the run inherits.

portbay add ~/code/myapp

Check Copilot CLI is on your PATH

PortBay resolves the copilot binary and shows it in the agent picker when it finds one. If yours lives somewhere unusual, set the path by hand in Settings. Authentication stays with GitHub, exactly as it is in your terminal.

which copilot

Write a card and assign Copilot CLI

Describe the task the way you would in a pull request. Assign Copilot CLI on the card itself, or make it the board default. The card is a Markdown file in your repo, so it reviews and merges like code.

.portbay/tasks/fix-webhook-retry.md

Move the card to To Do and review at a URL

The run starts, takes its own worktree, and comments what it changed when it finishes. Open the project URL and use the feature rather than reading the patch. Turn on Require review to hold finished work until you approve it.

https://myapp.test
Without PortBay

Copilot without the board

Nothing stops you running the CLI by hand. The cost shows up on the third task, not the first.

The board's contribution is not the dispatch — it is the running app on the other side of it.

Questions

Asked before downloading

How does PortBay launch Copilot CLI?

As a headless subprocess: `copilot -p "<the card>"`, with the working directory set to the project. PortBay uses the copilot install already on your Mac and the GitHub subscription already attached to it. No key is stored by PortBay and no request is proxied through it.

Can Copilot CLI claim cards itself over MCP?

No. PortBay wires MCP both ways for four agents — Claude Code, Codex, Cursor and Gemini — and Copilot CLI is not one of them. Dispatch works in full; only the reverse direction is missing, so cards move because you move them or because auto-dispatch does.

Can I choose which model a Copilot card uses?

Not from PortBay. Copilot CLI is one of six agents with no wired model flag, so PortBay offers no model selector for it and appends nothing to the command. The CLI uses whatever it is configured to use.

Can Copilot CLI run next to other agents on one board?

Yes. Assign per card or set a board default, and a concurrency cap decides how many run at once. Each card takes its own git worktree under .portbay/worktrees/, so a Copilot run and a Claude Code run on the same repo never touch the same file.

PortBay mascot — a friendly blue tugboat

Give your projects and your agents a real local home.

Download for macOS

Free & open source · macOS 11+ on Apple Silicon · Pro from $10/mo