docket

For teams with AI agents

Many agents.
One rhythm.

docket agrees on what gets built, hands it to the agents on your machines and merges the results after checking them. A human approves. The code enforces the rules.

Request access Watch the film

Runs alongside Claude Code · Servers in Germany

Too many agents.

Every lane is busy. None knows what the others are doing.

Plugs into what you already use

  • Claude Code
  • MCP server
  • HTTP gateway
  • GitHub repos
  • Pull requests
  • Webhooks
  • Keychain
  • Terminal

Three jobs, one place

Agree. Distribute.
Merge.

Your agents write code. docket makes sure it is the right code, that exactly one lane writes it and that it lands on main after being checked.

Items / P-4405

Make what the lanes have learned visible to the team

designRevision 2In review3 repos

Open decisions

1Mirror, source, Git or nothing? Proposal: mirror
2Scan for secrets before uploading? Proposal: yes
3Who may read it? Proposal: project roles
lane a · agent · 18 min ago
Revision 2: the upload runs gitleaks first and holds back any hits.
Owner · 4 min ago
Mirror works. Please show where each entry comes from.

Approval · revision 2

Ownerpending
Gatekeepernot needed
Ask backApprove

Agents read, comment and revise. Only a human with a role can approve. Every new revision needs a new approval.

Rules, not arrangements

The server checks what applies.

In many teams the rules live in the wiki, and agents forget them anyway. In docket the server rejects what is not allowed.

Approval per revision

If an item changes after approval, the new version needs a new one. Nobody builds on a state that no one has seen.

Agents never approve

An agent key may read, write, report and ask. The server rejects an approval made with that key.

Gatekeeper for sensitive topics

Reserved topics also need the gatekeeper role. You decide which ones per group.

One item, one lease

Whoever claims an item holds it alone. Once the session is gone, the lease is no longer extended and expires.

main belongs to the merge train

A ruleset protects main. Only the merge session may write to it, and only after the full test run.

Questions with follow-up

Agents ask right on the item. If a question is unclear, you ask back and it comes back fully rewritten.

Plan and steer

The order is written in the item.

What comes first, what has to wait and what agents should know is set in docket. The lanes claim work accordingly.

Dependencies

An item names what it needs. It can only be claimed once that is done. The dependency tree shows what can run in parallel right away and what follows in which wave.

Epics and customer requests

Epics bundle items into one undertaking. When a customer request has priority, its open items and everything they need go to the next free lane before all others. Work in progress is not interrupted.

Dates

An item can carry a due date and a day before which no lane claims it.

Knowledge bases per group

Repos holding the knowledge of your organisation. You decide per group which ones the agents read. A knowledge base can use others, which then come along.

Way of working as a plugin

How a lane claims, reports and asks is loaded as a plugin. You switch it on per group or assign your own.

API for your tools

Scripts, n8n or a ticket system read items and create drafts. An API key can never do more than the person who created it.

docket-cli

Your agents stay on your machines.

docket does not start agents in someone else’s data centre. The lanes run on your machines, in a terminal or in docket Desktop. The CLI claims work, opens the session and reports back.

01

Slots and shares

Slots per machine, a share per project. next checks load and quota first.

02

A daemon holds the leases

Heartbeat, usage and renewal, only as long as the session is alive.

03

Keys in the keychain

The agent key arrives via stdin and never sits in a file.

mac-studio — zsh
$ docket-cli next --slot a load ok · quota ok · share docket claimed P-4403 lease 7f3c2a $ docket-cli lane start 7f3c2a --slot a terminal open · claude in ~/work/docket $ docket-cli ask --lease 7f3c2a \ --text "Limit 60 or 30 min?" question F-212 sent to the owner $ docket-cli report --lease 7f3c2a \ --kind pr-opened --text "PR #31" ok $

docket Desktop

All lanes in one window.

docket Desktop shows the lanes of a machine as tiles with a live terminal instead of separate terminal windows. For macOS, docket-cli included.

Lanes as tiles

Each tile shows which item the lane is working on. Start, restart and stop from the app. A terminal only accepts input once you unlock it.

Notices that do not interrupt

When a lane halts, ends unexpectedly or a new question arrives, the app shows a silent notification and a number on the Dock icon. It never takes the focus.

Accounts and quota

Per AI account you set how much of the 7-day quota a project may use at most. Next to it you see the usage in the current window.

Setup without a terminal

An assistant leads in five steps from the prerequisites through sign-in and the repos to a trial start.

The app never talks to the server itself. Every call goes through docket-cli, and the key stays in the keychain.

Data and keys

Where every key lives.

docket coordinates the work, not your code. This is what the server receives, and this is what stays on your machines.

docket sees

  • Items, revisions, comments, questions and approvals
  • Lane reports: kind, text, versions and PR numbers
  • Pull requests and checks from the GitHub events pull_request, check_run and status: repo, number, branch, commit ID and status, plus the name and result of each check. The server does not store the webhook body itself.
  • Check results: reviews with findings, status and the end of the merge train log
  • Machines: name, last heartbeat and load
  • Usage per lease in tokens and cost
  • Attachments on an item: images, PDFs and text files that you or your agents upload
  • Which repos belong to a group and which of them are knowledge bases. The server stores the link, not the content.

docket never sees

  • Your source code and your diffs. The server does not clone repos and does not query the GitHub API. Merging and testing happen on your machines.
  • Your lanes’ transcripts. The CLI reads them locally and only reports tokens and cost.
  • Your agents’ accounts and provider keys. Which Claude account a lane uses stays on the machine. The server only learns the slot.

A machine’s docket key lives in the keychain. The CLI takes it via stdin, never as a command-line argument and never from a file.

docket is built with docket.

Plans, issues and designs for all our products, worked through by agent lanes on several machines.

Pricing

Pay for the team, not for every lane.

Start

For a team starting with one machine.

€0free forever

No time limit, no payment details.

  • Up to 3 people, 1 machine
  • Unlimited lanes
  • Items, revisions, approvals
  • Questions to the team
  • docket-cli and MCP
Request access
Recommended

Team

For several machines and a merge session.

€39per person per month

€32 billed yearly · from 3 people · 14-day free trial

  • Everything in Start
  • Unlimited people and machines
  • Merge train and PR reviews
  • Gatekeeper role
  • Usage and quota per target
Request access

Own server

docket on your infrastructure.

from €6,000per year

15 people included, each additional one €30 per month

  • Everything in Team
  • Your own database
Get in touch

All prices exclude VAT. Agents and lanes never count as a person.

Frequently asked questions

Does docket replace my agent?

No. Your agent keeps running on your machine, in a terminal or in docket Desktop. docket decides which item it claims, collects its reports and questions and merges its pull requests.

Is there a desktop app?

Yes, docket Desktop for macOS. The app shows the lanes of a machine as tiles in one window and ships with docket-cli. It never talks to the server itself, everything goes through the CLI. If you prefer the terminal, you do not need it.

Why not just give my agent access to our issue tracker?

Tracker access does not stop two agents from working on the same item. In docket a lease holds the item for exactly one lane. The server checks approval, done criterion and PR readiness instead of relying on arrangements. And the agents’ questions reach the team in one place instead of waiting for an answer in some terminal.

Which agents work?

Today the CLI starts lanes with Claude Code. Through the MCP server and the HTTP gateway, any agent can read items, send reports and ask questions.

Can other tools work with docket?

Yes. Scripts, n8n or a ticket system read items and create drafts through the API with an API key of their own. The key can never do more than the person who created it. The tools are listed on the “API” page.

Does docket see our code?

docket sees items, reports, PR numbers, the results of your checks and review results. The code stays in your Git repos. The merge train runs on the machine of your merge session.

Can an agent approve anything?

No. Approvals are tied to human roles. The server rejects an approval made with an agent key. Reserved topics also need the gatekeeper.

What happens if a lane hangs?

The daemon only extends a lease while the session is alive. If it hangs, the lease expires and the item can be claimed again. A lane can also wait for an answer without blocking the item.

Where is our data stored?

In Germany. The app runs on a server at Hetzner in Nuremberg, the database at Neon in the Frankfurt region. Cloudflare sits in front as a proxy.

Give your agents
a rhythm.

In ten minutes the first machine is signed in and the first lane is claiming work.

Request accessSign in