Quick Start
Set up Delego in three steps — prepare the machine that will run your jobs, connect Linear, and create the labels Delego reads to route work.
Three things have to be in place before Delego can run a job: a runner on your machine, an active Linear integration, and a handful of labels in your Linear workspace. This page walks through each one in order.
1. Prepare your machine
The runner is a small CLI that runs on whatever computer you want jobs to execute on — your main laptop, an old machine you have lying around, a home server, or a VPS. Before you pair it, make sure the tools it shells out to are installed and signed in.
Node.js 20 or newer. The runner itself is published on npm as @delegoapp/runner and runs on Node.
A coding agent — Claude Code or Codex — already authenticated in your terminal. The runner invokes whichever one a job asks for via the executor label (see Step 3), so the one(s) you plan to use should already work when you run them by hand.
GitHub CLI (gh), authenticated. Delego uses gh to push branches and open pull requests on your behalf.
Git. Used to create the worktrees that jobs run in.
You don't install the runner itself yet — you'll get the exact npx command, with your pairing token, from the dashboard when you connect it.
2. Connect Linear
Delego isn't (yet) listed in Linear's integration directory, so each user creates their own Linear OAuth app and points it at this relay — there's no one-click install. It's a five-minute one-time setup.
The dashboard's Linear → Setup page prints the environment-specific values you need to paste into Linear (callback URL, webhook URL, logo) and collects the resulting credentials back. For the full step-by-step, including which OAuth app fields and scopes to enable, see the Linear integration page.
3. Create the labels in Linear
Delego reads three label groups off the Linear issue to decide how to run a job. Create them in your Linear workspace under Settings → Labels, as label groups (parent labels with child options):
| Group | Child labels | Purpose |
|---|---|---|
executor | claude, codex | Which agent runs the job. |
model | sonnet, opus, haiku, gpt-5.4, gpt-5.5, … | Which model the agent uses. |
repo | <owner>/<repo> — e.g. delegoapp/runner | Which GitHub repository the job works in. |
Apply one child from each group to an issue when you delegate it, and Delego will route the job accordingly. You can also set per-workspace defaults so you don't have to label every issue by hand.
Recommended: connect Linear to GitHub
This step is optional, but it makes the whole loop feel much tighter. Inside Linear, go to Settings → Integrations → GitHub and connect the repositories that Delego will be working in. Once connected:
- Pull requests that Delego (or you) open against those repos show up attached to the originating Linear issue automatically.
- You can review the PR, see its status checks, and read its description from inside Linear without jumping over to GitHub for every glance.
Combined with Delego, this means you can delegate an issue, watch the agent work in the Linear issue, and then review the resulting PR from the same view — start to finish without leaving Linear.
What's next
With your machine prepared, Linear connected, and labels in place, you're ready to pair your first runner and delegate an issue.