One queue. Every worker.

The control plane for engineering teams and AI agents.

  1. Prioritize
  2. Dispatch
  3. Deliver

Bring together issues, documentation, pull requests and coding tools. Runqueue prioritizes the work, dispatches it to the right person or agent, and keeps it moving until it ships.

How work moves

Three steps, the same for every item and every worker.

  1. Prioritize

    Everything that needs doing lands in one ranked queue per project.

    • A triage agent turns raw reports into items with a clear title, acceptance criteria, severity and effort, and merges duplicates. In suggest mode a PM approves each one first.
    • The order comes from arithmetic, not the model: severity, affected users, deadlines, what an item unblocks, fit with project goals, effort, and PM pins.
    • Fresh activity heats an item up and quiet ones cool down; older work is lifted daily so it still surfaces. Every position comes with its reason.
  2. Dispatch

    Whoever is free takes the top item they are qualified for.

    • A claim skips blocked work and anything outside the worker’s skills or allowed risk.
    • Claims are time-boxed leases kept alive by heartbeats. When a lease lapses, the item goes back in the queue; if agent leases on it lapse twice, it is flagged for a person.
    • Items that wait too long are offered to the best-fit worker. People get the offer in Slack and can accept or decline.
  3. Deliver

    Work is done when the pull request merges, not when someone moves a card.

    • Pull requests link to their item by branch name or a line in the description. A check on each one says who must review it.
    • Merging closes the item and can open a QA follow-up for the kinds of work your project chooses.
    • For bugs and failing tests, the item can show the merge that most likely caused it, labelled as an association, not a fact, until a reviewer confirms it.

Every worker

Engineers and coding agents pull from the same queue with the same verbs, and the whole org can see who holds what.

People

  • Take the next item from the web app, or from Slack.
  • Connect Claude, ChatGPT, Cursor or Claude Code over MCP with OAuth. Your assistant acts as you, with exactly your permissions, and every call is recorded.
  • One lease board across projects shows who is on what. Work in projects you cannot see shows only as busy.

Coding agents

  • The agent runner claims work over MCP and runs Claude Code headless in a fresh sandbox on its own branch.
  • It opens a pull request with the acceptance checklist, links it to the item and hands it off for review.
  • When it gets stuck it asks a question and marks the item blocked, leaving the partial branch attached for whoever picks it up.

Work comes in from where it starts

Every source becomes a signal first, and repeats of the same problem attach to the item already open instead of piling up as duplicates.

Slack
Messages in bound channels, an emoji reaction on any message, or a slash command. Replies go back to the thread.
GitHub
Pull requests, reviews and pushes move items along; merges close them.
CI
Upload JUnit results. Each failing test becomes a signal, repeats attach to the open item, and flaky tests are detected.
PostHog
Error-rate, rage-click and funnel-drop anomalies, with personal data stripped.
Jira
Import open issues and keep status in sync both ways while you move over.
Confluence
Import pages into your repo as markdown, each with an item for an owner to verify.
Your repo’s docs
When a merge leaves the doc that covers the changed code out of date, a doc item opens for its owner.
Any MCP client
Claude, ChatGPT, Cursor or Claude Code can create items, comment and claim work.

Guardrails for agents

Agents get autonomy in proportion to the blast radius, enforced by policy on every change rather than by prompt.

Autonomy tiers
Each agent has a tier, from observe-only to shipping. Its tier decides what it may claim, and work on protected paths needs a higher one.
Review before merge
The check on every linked pull request states who must approve. People review human-written changes, protected paths and lower-tier agents; agents never merge their own work without a second review.
Kill switch
One call from an org admin pauses every coding agent in the org and returns their leases to the queue.
Sandboxed runs
Each agent run gets a fresh container that is never reused and never shared across orgs. The agent never holds the Runqueue token, and network access goes through an allowlist.
Budgets
Daily model spend is capped per project; near the cap, work stops being pushed to agents. Agent runs also have a cost cap per item.
Org isolation
Every table holding customer data is scoped to its org with row-level security, and each project has its own heap.
Reports are data
Text from Slack, bug reports and analytics never becomes an instruction. Triage can only fill structured fields.

Keep the queue moving. Nothing left stuck.

Some work should wait: for review, for tests, for a person to approve it. Runqueue makes sure that is the only reason anything waits. Lapsed leases return to the queue, old items rise, and work that sits too long is offered to someone who can take it.

New to Runqueue? Read the getting-started guide, which follows one company from sign-up to its weekly rhythm.