Appstrate
[Agents & Runtime]

Kill a runaway agent in one call.

Cancel any run mid-flight. Signals propagate to the container, tool calls abort, sidecars reclaim. No orphans, no cleanup debt.

[01 · Why it matters]

Autonomous agents that can't be stopped aren't autonomous. They're liabilities.

An agent stuck in a loop. A tool call hitting a hung upstream. A prompt that just decided to read every row in your database. The moment agents run in production, you need the kill switch — the real one, not "wait for the timeout".

Appstrate exposes cancellation as a first-class API. The request hits any node in your cluster; a Redis Pub/Sub broadcast reaches the worker holding the run; the worker flips an AbortController; the signal propagates to the LLM request, the tool call, the sidecar proxy. Containers are reclaimed. State is persisted. The audit log records who killed what.

0
call to cancel
N
workers reached via pub/sub
0
orphan containers
<1s
typical abort propagation

[02 · How it works]

One request. Signal propagation across your whole cluster.

POST /v1/runs/:id/cancel. The coordinator publishes a cancel event; whichever worker tracks the run flips its AbortController; in-flight LLM calls, tool executions, and sidecar requests observe the signal and terminate cleanly. The run lands in status: "cancelled" with a reason.

In practice

Every piece of Appstrate is a declared, versioned artifact — the agent, its tools, its skills, its provider connections. You describe them once; the platform handles packaging, dependencies, isolation, and execution.

Each section below goes deeper on what that means for kill a runaway agent in one call.

View the full example in the docs →

[03 · Deep dive]

What makes it work.

📡

Distributed signal

Redis Pub/Sub reaches the run wherever it lives. Works across N workers, zero coordination.

🧹

Graceful cleanup

Container reclaimed, sidecar released back to the pool, state persisted up to the abort point.

🪝

AbortSignal everywhere

LLM calls, tool executions, outbound fetch — all respect the signal. No dangling work.

📜

Auditable

Every cancel logs actor, reason, timestamp. Webhook fires on cancellation.


Run autonomous agents you can actually stop.

Cancellation is one call. Propagation is sub-second. Cleanup is guaranteed.