stop

A command for ending a leased development machine or sandbox session. A lease is a temporary claim on a machine or hosted coding environment.

In plain words
What is it for?
It is for stopping leases by name or ID, selecting a provider, releasing coordinator-managed environments, tearing down delegated sandboxes, and cleaning up connections to static SSH hosts.
Why use it?
It releases the environment when work is finished and removes the local claim and connection records where appropriate, without deleting a static SSH host.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/openclaw/crabbox/stop
Clone the repo
git clone --depth 1 https://github.com/openclaw/crabbox
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,490 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.03490
Opus 5 $0.00000 $0.01745
Sonnet 5 $0.00000 $0.00698
Haiku 4.5 $0.00000 $0.00349

Measured 2d ago against content hash e3a093d8d650, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

stop scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

docs/commands/stop.md · 259 lines

How it starts

The opening of the file, as written. The whole thing — 259 lines — stays where its author put it; the contents beside it link to each section on GitHub.

stop

crabbox stop ends a single lease. For coordinator-backed and direct cloud providers it releases or deletes the backing machine; for delegated runners it tears down the underlying sandbox; for static provider=ssh hosts it attempts connection cleanup and removes the local claim without stopping or deleting the machine.

crabbox stop swift-crab
crabbox stop --id cbx_0a1b2c3d4e5f
crabbox stop --provider namespace-devbox swift-crab
crabbox stop --provider daytona swift-crab
crabbox stop --provider e2b swift-crab
crabbox stop --provider ssh --static-host mac-studio.local mac-studio.local

crabbox release is a compatibility alias for crabbox stop.

For coordinator-backed leases, the preliminary lookup has a ten-second budget. If it stalls, ordinary stop warns and proceeds through the existing provider-scoped release request. Provider identity mismatches still block release; --force still requires successful inspection. Canceling the command does not start a release fallback. Cleanup must still be confirmed before local claim and SSH artifacts are removed.

Identifying the lease

Pass the lease as a positional argument or with --id; both accept the canonical cbx_... ID or an active friendly slug (see Identifiers). Supplying both --id and a positional argument, or more than one positional argument, is an error.

Several providers also accept their own native identifiers in addition to the Crabbox lease ID and local slug:

  • aws — direct fixed-ID canonical stops can replay a retained terminal receipt after successful instance/key cleanup, with fresh account, configured region, identity, and inventory checks. Older compact tombstones lack the required binding and still fail closed after upgrading; missing inventory alone never acknowledges cleanup. This does not extend to slug, raw instance, or ordinary non-fixed lookups. See AWS fixed-ID replay.
  • blacksmith-testbox — accepts a tbx_... ID or local slug and forwards to blacksmith testbox stop.
  • blaxel — accepts a Crabbox lease ID (blx_<sandbox-id>) or local slug and deletes the Blaxel sandbox only when the local claim and remote ownership labels match. Missing sandboxes keep the local claim unless --blaxel-forget-missing is set.
  • namespace-devbox — shuts down the Namespace Devbox by default and retains its exact local claim and SSH files for reuse. Set namespace.deleteOnRelease (or pass --namespace-delete-on-release) to delete the Devbox and local SSH files instead. Both operations reject missing or mismatched claims; --force is unsupported because Devbox inventory cannot independently prove lost-claim ownership.
  • namespace-instance — accepts a lease ID, local slug, or Namespace instance ID and destroys the Compute instance only with an exact scoped local claim. --force --id <exact-instance-id> can recover a lost claim after verifying the instance's live Crabbox ownership labels and Namespace tenant.
  • morph — requires an exact API-scoped local ownership claim and fresh matching instance metadata before pausing or deleting an instance. It pauses by default and retains the claim and SSH key for reuse; set morph.deleteOnRelease (or pass --morph-delete-on-release) to delete the instance and key instead. Failed provider operations preserve the claim.
  • exe-dev — accepts a Crabbox lease ID, local slug, or exe.dev VM name only when an unchanged local claim binds the exact deterministic VM name, complete remote ownership tags, and current control route. Claimless or legacy unscoped tagged VMs require explicit --reclaim through a normal reuse command before stop; untagged VMs remain read-only inventory. Failed deletion keeps the claim.
  • semaphore — requires an exact organization-host/project-scoped local claim and fresh live job ownership before stopping the Semaphore CI job. Failed stops preserve the claim and SSH key; verified legacy claims are safely upgraded before the fenced stop.
  • sprites — requires an exact API-scoped local claim plus fresh matching provider ownership labels before deleting the sprite. Failed deletion keeps the claim; claimless sprites require explicit --reclaim reuse.
  • tenki — requires an exact endpoint/workspace/project-scoped local claim plus fresh matching session ownership metadata before terminating the sandbox. Failed termination keeps the claim; claimless sessions require explicit --reclaim reuse.
  • daytona — deletes the Daytona sandbox.
  • coder — stops the Coder workspace by default and removes the local claim. Set coder.deleteOnRelease or pass --coder-delete-on-release to delete the workspace instead.
  • islo — accepts an exactly claimed isb_... ID, Crabbox-created sandbox name, or local slug and deletes the Islo sandbox. Claimless canonical names must first be adopted through an explicit supported --reclaim reuse.
  • freestyle — accepts an exactly claimed fsb_... ID, Crabbox-created VM name, or local slug and deletes the Freestyle VM. Claimless canonical names remain visible to status/list but cannot be deleted until explicit --reclaim reuse persists a claim.
  • runpod — accepts a lease ID, pod ID, pod name, or local slug only when an exact local claim binds that RunPod id and provider-returned name. Unclaimed and legacy pods remain visible to status/list but require explicit --reclaim reuse before deletion.
  • e2b — accepts a Crabbox lease ID, local slug, or E2B sandbox ID only when an exact local claim binds the sandbox and configured API endpoint. Claimless raw or e2b_<sandboxID> identifiers require explicit --reclaim; Crabbox re-reads canonical remote ownership metadata and persists the exact claim before deletion. Failed deletion retains the claim for an exact retry.
  • railway — refuses unclaimed service IDs. Use --reclaim only after inspecting the configured API endpoint, project, environment, service, and current deployment; Crabbox persists that exact one-deployment binding before stopping it. Failed stops retain the claim for an exact retry, while successful stops remove it.
  • hetzner — requires canonical remote ownership labels and an exact local claim bound to the server ID and lease ID. Unclaimed resources must first be explicitly reclaimed through a normal reuse command; failed deletion keeps the claim for an exact retry.
  • vercel-sandbox — accepts a Crabbox-created local slug or vsbx_... lease ID, verifies ownership metadata, deletes the Vercel Sandbox, and removes the local claim. Missing remote sandboxes preserve the claim unless --vercel-sandbox-forget-missing is explicit.
  • cloudflare-dynamic-workers — accepts a local claim, lifecycle run ID, or slug, deletes loader metadata for that run, and removes the local claim. Stable and explicit Worker cache IDs are not lifecycle IDs. If the loader already reports not found, Crabbox removes the stale local claim.
  • cloudflare-sandbox — accepts a Crabbox-created local slug or cfsbx_... lease ID, verifies ownership metadata, deletes the Cloudflare Sandbox through the configured bridge, and removes the local claim. Missing remote sandboxes preserve the claim unless --cloudflare-sandbox-forget-missing is explicit.
  • docker-sandbox — accepts only a Crabbox lease ID or local slug backed by a provider=docker-sandbox local claim, then removes the sandbox with sbx rm --force. This is destructive cleanup, not Docker Sandbox pause, and it remains the manual cleanup path for clone-mode Docker Sandbox runs that Crabbox keeps after a successful one-shot command.
  • hostinger — stops the VPS and retains its local claim and SSH key for later reuse. Hostinger still owns the subscription and may continue billing it.
  • ssh (static hosts) — attempts shared connection cleanup, then removes the local claim without stopping or deleting the host. See Static SSH connection cleanup.
  • xcp-ng — requires an exact pool/account-scoped local claim for the same Crabbox lease, slug, and VM UUID, then verifies fresh live ownership metadata before deleting the VM. Missing or mismatched claims never authorize deletion, and provider failures preserve the claim for a safe retry.

Read the full file on GitHub · 259 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 259 lines · 0 tokens per session scan A e3a093d8d650

Subscribe to this mod's changes

stop is a command published in the GitHub repository openclaw/crabbox (1,343 stars, last pushed 2d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 3,490 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.