What’s the holdup?
Know what every AI agent is waiting for.
Agents stop when they need an approval, an answer or a review, and they often stop without telling anyone. Holdups puts every wait on one board, tells the right person, and sends the answer back to the agent.
Works with Claude Code, Codex and any agent that can use MCP. Sits beside Jira and GitHub.
Try it
This is the real board layout with made-up issues. Open one and decide. Nothing is sent or saved.
Waiting on you
Oldest firstApprove the migration plan before the schema change Blocked: Dev agent · Checkout Waiting1d 3h Open
The agent wrote: “I need to add a loyalty_tier column to customers and backfill 1.2 million rows. The plan is in the linked issue. It needs a five-minute maintenance window. May I run it on staging tonight?”
What this unblocks: SHOP-142, and SHOP-150 which depends on it. Project rule: ask before any schema change.
Should archived users keep their login? Blocked: Analyst agent · Checkout Waiting5h Open
The agent wrote: “The spec says archived users are hidden from reports but does not say whether they can still sign in. Which is it? I have not guessed.”
Stalled: no heartbeat
The agent stopped without reporting a blockerDev agent stopped reporting on SHOP-149 Last heartbeat 47 minutes ago · Checkout Flagged32m Open
The agent claimed SHOP-149 and then stopped checking in. It may have hit a usage limit, or its session may have ended. Holdups cannot tell which, and it does not restart the agent.
Dealt with
What happens nextOpen a row to see what the agent asked.
The agents are fast. The waiting is not.
- An agent went quiet an hour ago. Did it finish, or did it stall?
- It asked a question in a terminal nobody was watching.
- Your client has to approve the change, and has no idea it is waiting on them.
One board for everything that is stuck
Clients answer from a link
No account needed. They get an email, then approve, decline or type an answer, and the agent carries on.
One list of what is waiting on you
Every approval, answer, review and access request with your name on it, oldest first, with one button to deal with it.
Stalled agents, caught
Agents check in as they work. One that goes quiet is flagged within minutes, even if it never said why.
Answers go back to the agent
The agent reads your answer the next time it checks in. You can also send its question back for more detail. Decisions are kept with the project, so no agent asks twice.
In step with Jira and GitHub
Who an issue is waiting on shows in Jira. Review requests on GitHub become blockers and close when the review is done.
See where the time goes
How long work waited, on whom, week by week, and how long each agent spent working against how long it spent blocked.
Why not just Jira, GitHub and Slack?
Each of them knows part of the story. None of them knows that an agent stopped an hour ago and is waiting for you.
| Tool | What it knows | What it misses |
|---|---|---|
| Jira | What work exists, and its status. | That the agent on an “In progress” issue has stopped, and who it is waiting for. |
| GitHub | Pull requests and who was asked to review. | Questions and approvals that are not a pull request, and agents that stalled before opening one. |
| Slack or Teams | Whatever somebody posted. | Anything the agent did not post. A message has no owner, no clock and no record of the answer. |
| The agent’s own prompt | That it needs a yes or no, right now. | Everyone except the person at that terminal. When the session ends, the question goes with it. |
| Holdups | Who is waiting on whom, across every agent, project and provider: with an owner, a clock, the answer on record, and a flag when an agent goes quiet. It keeps Jira and GitHub in step instead of replacing them. | |
How it works
- Agents report inYou add Holdups to your agent as an MCP server and paste in a short set of instructions. From then on it says what it is working on and what it needs.
- People are toldThe right person gets an email, the project's Slack, Teams or Telegram channel gets a message, and the blocker appears on the board. Limits count working hours, so nothing escalates over the weekend.
- The answer goes backYou answer on the board, the agent picks it up, and work carries on. If nobody answers in time, an admin hears about it.
Who it is for
- Agencies and consultancies whose clients have to approve or answer before work can move.
- Teams running coding agents on real projects, who need to know what is stuck without watching terminals.
- Anyone running more than one agent, from more than one provider.
Works with
- Agents: Claude Code, Codex, and anything that can use an MCP server or call an HTTPS API.
- Trackers: Jira Cloud and GitHub.
- Notices: email, Slack, Microsoft Teams and Telegram, per project or for everything.
What it does not do, and where your data is
- It does not run your agents. They stay where they are, on whatever plan or key you use.
- It never connects to your repositories and never sees your AI provider keys or logins. It holds only what agents and people write in a blocker, so tell your agents not to paste secrets into one.
- It does not replace your tracker. Issues stay in Jira and GitHub.
- Your data is hosted in the United Kingdom. There are no advertising or analytics trackers on this site.
Two-factor sign-in, an audit log of every change that you can export, and tracker tokens encrypted at rest. Holdups is made by Fastidious LLP, part of Byte Digital Ltd. Who we are · Privacy
Questions
What does Holdups do?
It gives your team one board showing everything your AI agents are waiting for: approvals, answers, reviews, access, and agents that have gone quiet. It tells the right person, and passes their answer back to the agent.
Do I have to change my agents?
No. You add one MCP server and paste a short set of instructions into the file your agent already reads at the start of a session.
Does Holdups run, restart or resume my agents?
No. Holdups records the decision and makes it available, and the agent reads it the next time it checks in. If the agent’s session has ended, it has to be started again by you or your own tooling. Holdups does not do that today.
Does it replace Jira or GitHub?
No. Issues stay in Jira and code review stays in GitHub. Holdups adds who each issue is waiting on, as a comment and three fields in Jira, and turns GitHub review requests into blockers that close when the review is done.
What happens when I approve a request or answer a question?
The blocker closes, your answer is stored with it, and the agent reads it at its next check-in. If the issue is in Jira, it gets a comment and its waiting fields are cleared. You can also save the answer as a project decision, so no agent asks the same thing again.
Can clients approve requests without an account?
Yes. Add them as a guest, and any blocker waiting on them arrives as an email with a link. The link works once, expires after 7 days, and lets them approve, decline or answer that one request and nothing else.
Is my code and project data secure?
Holdups never connects to your repositories and never holds your AI provider keys. It stores what agents and people write in blockers, so tell your agents not to paste secrets into one. Sign-in supports two-factor, tracker tokens are encrypted, and data is hosted in the United Kingdom. It has had an internal security review, not an independent audit, and holds no certifications. Read the security page.
Is it ready, and what does it cost?
Everything on this site is built. It is in early access, by invitation and free of charge while that lasts. Pricing has not been set.
All questions and answers · How to connect an agent · Security and data
Request early access
Tell us who you are and what you run. We read every request ourselves and reply by email. If it looks like a fit, we set up your organisation and send you a sign-in link.