Skip to main content
Build and run

Concurrency, Slots, and the Run Queue

Your organization has a ceiling on how many automation runs can be going at once. When you hit it, work waits in a durable queue instead of being thrown away. This page covers where the ceiling comes…

Written By Christopher Scaminaci

Last updated 3 days ago

Your organization has a ceiling on how many automation runs can be going at once. When you hit it, work waits in a durable queue instead of being thrown away. This page covers where the ceiling comes from, what happens at it, and how to read the Concurrency card on Automations → Credits.

Slots: what sets your ceiling

  • No Agent Runner plan. Your organization runs on the platform allowance, which is currently 25 concurrent runs. This is a StackJack-set number, not something you buy.
  • An active Agent Runner plan. Your ceiling is the number of slots your plan includes, plus any add-on slots, and never less than 1. The Pro plan includes 1 slot and Business includes 3. Add-on slots only count while the base plan is live.
  • A negotiated Enterprise agreement. Your ceiling is the slot count agreed with StackJack; the Concurrency card labels it Enterprise plan.

A plan whose payment is past due or paused stops contributing its slots until payment recovers; your ceiling falls back to the platform allowance while that lasts.

To change your slot count, or to start an Agent Runner plan, contact StackJack — there is no buy button in the portal for either. See Agent Runner Plans and Concurrency Slots.

One consequence worth knowing before you cancel anything: the platform allowance (25) is higher than the slots a Pro (1) or Business (3) plan includes. So ending an Agent Runner plan can raise this number rather than lower it — while also ending the flat-fee billing and, if your own Anthropic key was admitted by that plan, pausing your runs entirely (see When an Agent Runner plan ends.

What counts against a slot

A run counts while it is starting or running.

A run paused waiting for your approval does not hold a slot. That is deliberate: if a paused run held one, a single unanswered approval could block your whole organization.

At the limit, work waits — it is not dropped

When every slot is busy, a triggered run becomes a durable Queued run with a real run id, and it starts on its own as soon as a slot frees. The queue lives in StackJack's database, so it survives a restart of StackJack's automation service.

Queue-eligible: Run now, scheduled occurrences, webhook deliveries, builder test messages, and a connected AI assistant calling stackjack_run_agent — that launch never blocks on the result, so at the ceiling it comes back as a Queued run with a run id to poll.

Not queue-eligible — these are refused with a "try again shortly" response instead, because the caller is blocking on an answer a queued run cannot give:

  • one automation calling another automation as a tool,
  • resuming a paused run after you approve or deny a tool call.

Runs that StackJack support starts on your behalf for diagnosis are not subject to your organization's ceiling at all.

The refusal names your organization, not the platform

If you do see a refusal rather than a queued run, the wording tells you which ceiling you met. An organization with an Agent Runner plan reads:

All N of your organization's concurrency slots are in use. Wait for a run to finish, or add slots to run more automations at once.

Everyone else reads:

Maximum concurrent agent runs for this organization reached (N). Please try again later.

In the portal these can appear under a banner titled All agent slots are busy — read the message body, not the title: the title is fixed copy and the body is the sentence above. See Automation Detail Page.

Approving a paused run obeys the ceiling too

This is the behavior change most likely to surprise you. Resuming a run that is Awaiting input needs a free execution slot, just like starting one does. If your organization has an Agent Runner plan and all of its slots are in use, the approval is refused:

  • the run stays Awaiting input,
  • nothing is sent to the AI model and no tool call is made,
  • the portal shows "All agent slots are busy right now — try again shortly."

The run's 60-minute approval deadline keeps running while you retry, so a paused run is no longer a guarantee that there will be room to resume it. Free a slot — let a run finish, or interrupt one — rather than retrying blindly. See Run Detail.

Without an Agent Runner plan, an approval is only refused when the shared platform pool is full, which is rare.

How long a queued run waits

By default, 60 minutes. Past that deadline the run is marked Skipped, and because it never started it used no credits.

You can change the wait per automation with Queued-run patience (minutes) in the builder's Guardrails & Deploy section — editing it needs an Agent Runner plan. Blank inherits the 60-minute default, a positive number replaces it, and 0 waits indefinitely. See Advanced Builder.

Scheduled automations are the exception. A queued scheduled run also expires at half the interval to its next occurrence, whichever is sooner — and that clamp applies even when patience is set to wait indefinitely. Patience buys a longer wait for a slot; it never buys the right to still be waiting when the next occurrence fires, because that would start two runs from one schedule.

Drain order

When slots free up, waiting runs are started in this order: on-demand first, then webhooks, then schedules, and oldest first within each of those.

Treat that as a priority ordering, not a promised start time — a busy organization's scheduled run can wait behind on-demand work, which is also why a scheduled run is the one most likely to reach its deadline.

After a service restart, expect a queueing window

After a StackJack service restart, slots held by interrupted runs can take about an hour to free. A run queued in that window can expire as Skipped; its run history entry says it was skipped for capacity. Give important automations a longer Queued-run patience, or set it to wait indefinitely.

A scheduled occurrence has a second, tighter bound on top of that: its deadline is also clamped to half the interval until its next occurrence, so a short cadence expires sooner still — that is deliberate, so one occurrence can never still be waiting when the next arrives.

The Concurrency card

The card sits at the top of Automations → Credits, above your balance. It shows three tiles:

TileWhat it means
Concurrency slotsYour enforced ceiling. The caption says where it came from: "Agent Runner Pro plan" (or Business), "Enterprise plan" for a negotiated agreement, or "Credit plan allowance" if you have no Agent Runner plan.
In use nowRuns holding a slot right now, captioned "of N slots in use". It turns amber when you are at the ceiling — that is the product working, not a fault.
Waiting for a slotQueued runs. They start automatically as slots free up.

Below the tiles, the card reports your average and peak concurrency over the last 30 days, and lists recent runs that never started — queued runs that were given up on, each with the reason.

Two caveats the card states itself, because they are visible if you check the arithmetic against your run history:

  • a run paused waiting for your approval is counted in these figures, even though it never counts against your slots,
  • a run that was retried after an interruption is counted once, as its final attempt.

One known over-read: for an organization with no Agent Runner plan, the card can briefly show you at capacity just after a restart while a new run would in fact still be admitted. It can never do the reverse — it will not show headroom that a launch would refuse.

If a lookup fails, the card shows "Concurrency details are unavailable" with a Retry button and the rest of the tab keeps working. It never guesses a number.