---
title: InBandSupersededError
description: A World throws this error when it refuses an in-band write from an orchestrator invocation that another invocation of the same run has superseded.
docs_index: /llms.txt
lastUpdated: 2026-10-29
type: reference
summary: "InBandSupersededError is the in-band fence's refusal. The runtime handles it by stopping the superseded orchestrator invocation, which sends the queue messages its own writes owe and then asks for a redelivery of its message."
related:
  - /docs/api-reference/workflow-errors/workflow-world-error
  - /docs/changelog/spec-9
---

> For an index of all documentation, see [/llms.txt](/llms.txt).

A World throws `InBandSupersededError` (HTTP 412, code `in-band-superseded`) when it refuses a write made by a run's orchestrator because another invocation of the same run's orchestrator has written in-band since this one loaded the event log. It applies only to runs of the experimental spec 9 runtime (`WORKFLOW_SPEC_VERSION=9`).

> The Workflow runtime handles this error. The refused invocation stops writing, sends the queue messages its own committed writes still owe, and asks for a redelivery of its queue message instead of acknowledging it. You will only encounter it when interacting with World storage APIs directly.

See [The in-band fence](/docs/changelog/spec-9#the-in-band-fence) on the spec 9 page.

```typescript lineNumbers
import { InBandSupersededError } from "workflow/errors"
declare const world: { events: { create(...args: any[]): Promise<any> } }; // @setup
declare const runId: string; // @setup
declare const event: any; // @setup

try {
  await world.events.create(runId, event, { inBand: true, expectedSeqInBand: 3 });
} catch (error) {
  if (InBandSupersededError.is(error)) { // [!code highlight]
    console.log("Another orchestrator invocation holds this run");
  }
}
```

## API signature

### Properties

### Static methods

#### `InBandSupersededError.is(value)`

Type-safe check for `InBandSupersededError` instances. Preferred over `instanceof` because it works across module boundaries and VM contexts.

```typescript
import { InBandSupersededError } from "workflow/errors"
declare const error: unknown; // @setup

if (InBandSupersededError.is(error)) {
  // error is typed as InBandSupersededError
}
```

---

For a semantic overview of all documentation, see [/sitemap.md](/sitemap.md)

For an index of all available documentation, see [/llms.txt](/llms.txt)

For agent-facing discovery, including API and MCP surfaces, see [/agents.md](/agents.md)