The Stack / Swarm Cloud
The hosted runtime for agentic Laravel.
laravel-swarm, fully managed. The same package you would run yourself — without the queue fleet, the observability stack, or the deploy pipeline that production agentic work demands.
Built on the framework we maintain in public. Same engine. None of the operations.
Join the waitlist
One email when the runtime opens. No drip sequence. No SDR.
Status
Hosted runtime
Stage — Pre-launch · Waitlist open
Built on — laravel-swarm
Compat — Any existing swarm install
Migration — No code changes
Audit — Encryption, redaction, evidence export on by default
The problem
Running agentic workflows in production is a second platform.
The package is free. The operations bill is not. Three things stand between a working swarm in development and a production-grade one — and they are the same three things every team rediscovers, one outage at a time.
01
A queue worker fleet
Sized for the longest provider call. Scaled for spikes. Restarted without dropping durable runs. Recovered when a node disappears. Different from a regular Laravel queue, in ways you only learn at 2 a.m.
02
An observability stack
Logs, metrics, and traces correlated by run id. A dashboard your operators trust. Replay for the run nobody can explain. The thing nobody scopes into the original budget.
03
A deploy pipeline
Migrations that do not corrupt in-flight runs. Schedulers running relay, recover, prune. A path for cancel and pause that does not require a database console.
Day one
What you get when you flip the switch.
Not features in a roadmap. The defaults a production swarm needs, configured on your behalf.
Managed durable runtime
Relay, recover, prune — handled
The schedulers laravel-swarm asks you to run are run for you, with the right cadence and the right alerting. Stranded runs come back. Expired rows leave.
Autoscaling workers
Sized for the long tail
Worker timeouts, retry windows, and concurrency tuned for the longest provider call in your swarm — not a generic queue default that drops your run.
Run inspector + replay
Every run, every event
Open any run by id. See the steps, tool calls, deltas, signals, and waits. Replay a stream after the fact. The dashboard your team would build, already built.
Audit export
Evidence on demand
The Swarm audit evidence contract, populated and exportable. SOC 2, HIPAA, internal review — same shape.
Encryption + redaction
Enforced, not optional
Persistence sealed at rest. Capture redaction enforced at the runtime boundary. Conservative defaults, opt-in expansion — same as the package, with the keys managed.
Telemetry sinks
Pre-wired to your stack
OpenTelemetry, Datadog, or your tool of choice. Logs, metrics, traces correlated by run id from the first request.
How it works
Your Laravel app calls Swarm. Swarm Cloud runs it.
Your application keeps its data, its auth, its UI. Swarm Cloud takes the part you do not want to operate — the runtime — and gives back results, events, and an audit trail.
Your application
Laravel · your data · your auth
Defines swarms. Calls dispatchDurable(), queue(), stream(). Receives lifecycle events on your own channels.
Swarm Cloud
Managed runtime
Executes agents. Persists checkpoints. Coordinates branches. Releases waits on signal. Drains the outbox. Recovers stranded runs. Exposes inspector, replay, and audit endpoints.
Your providers
Bring your own keys
OpenAI, Anthropic, Bedrock, or anything Laravel AI supports. Provider relationships stay yours. Spend stays yours. Switching costs stay near zero.
Compatibility
Same code. Same call sites. Same package.
Adopting Swarm Cloud is a configuration change, not a rewrite. The swarms you run today work tomorrow. The swarms you run on Swarm Cloud will keep working if you ever decide to bring it back in-house.
We will not build a Swarm Cloud that requires a Swarm Cloud SDK. That is a promise enforced by the fact that the package is open source — anyone can see if we break it.
// Same call you make today.
$run = ContentPipeline::make()
->dispatchDurable($task)
->onQueue('swarm-durable');
// Same response shape.
$run->runId;
$run->pause();
$run->signal('approval_received');
$run->resume();
Why we are building this
From Daniel
Every agentic build we deliver runs through the same three problems before it gets to production. Workers that are not sized for the longest call. Observability that nobody trusts. Schedulers that nobody remembers to set up. The framework solves the hard part — defining and executing swarms — and then the operational tax shows up.
Swarm Cloud is the version of that tax we would rather not charge clients to pay twice. The package stays free. The runtime is what we sell. If you would rather run it yourself, the code is on GitHub and it is the same code.
— Daniel
Two doors
Wait for the runtime — or run it yourself today.
The waitlist is one email when Swarm Cloud opens. The package is free and on GitHub right now.