[KongchangAI]
Productdurable-harness

durable-harness

An open-source adapter and toolset introduced by Vercel that adds durability to coding agent frameworks such as Pi, OpenCode and Claude Code, achieving crash recovery and exactly-once semantics through log and queue mechanisms.

Timeline (last 90 days)

Oct 21

Currently available public information focuses on the feature level; the actual recovery granularity, logging overhead and specific integration methods with each agent still require examining the code and documentation to judge.

Unverified50%
Oct 21

According to MarkTechPost, durable-harness is designed to cover three runtime environments: the Vercel platform, Postgres, and local laptops.

Unverified50%
Oct 21

Recovery may replay some tool calls that have already been executed, and if these calls are not idempotent (for example, writing files or sending requests repeatedly), side effects may occur.

Unverified50%
Oct 21

durable-harness's durability is made into an independent harness layer decoupled from specific agent logic; agents still initiate model calls and tool calls as before, and the harness intercepts and records these events in between.

Unverified50%
Oct 21

Vercel's choice to open-source durable-harness rather than offer it as closed source suggests that durability for coding agents is shifting from a differentiating feature to infrastructure.

Unverified50%
Oct 21

Vercel open-sourced the durable-harness project.

Unverified50%
Oct 21

durable-harness explicitly lists Pi, OpenCode, Claude Code and Codex as supported targets.

Unverified50%
Oct 20

durable-harness's persistence layer must be embedded at the harness's loop boundaries, taking checkpoints before and after each round of model calls and tool execution.

Unverified50%
Oct 20

Different harnesses have different state models and loop structures, so it is impossible to adapt a persistence layer once and for all through a unified interface.

Unverified50%
Oct 20

The only public information is a single launch tweet from Vercel; durable-harness's pricing, technical documentation, state serialization mechanism, integration methods with various harnesses, and actual resource performance for months-long runs have all not been disclosed.

Unverified50%

14 more timeline events

All Facts (20)

Unverified

Recovery may replay some tool calls that have already been executed, and if these calls are not idempotent (for example, writing files or sending requests repeatedly), side effects may occur.

50%
Unverified

Currently available public information focuses on the feature level; the actual recovery granularity, logging overhead and specific integration methods with each agent still require examining the code and documentation to judge.

50%
Unverified

Vercel's choice to open-source durable-harness rather than offer it as closed source suggests that durability for coding agents is shifting from a differentiating feature to infrastructure.

50%
Unverified

durable-harness's durability is made into an independent harness layer decoupled from specific agent logic; agents still initiate model calls and tool calls as before, and the harness intercepts and records these events in between.

50%
Unverified

durable-harness explicitly lists Pi, OpenCode, Claude Code and Codex as supported targets.

50%
Unverified

According to MarkTechPost, durable-harness is designed to cover three runtime environments: the Vercel platform, Postgres, and local laptops.

50%
Unverified

durable-harness's persistence layer must be embedded at the harness's loop boundaries, taking checkpoints before and after each round of model calls and tool execution.

50%
Unverified

Different harnesses have different state models and loop structures, so it is impossible to adapt a persistence layer once and for all through a unified interface.

50%
Unverified

The only public information is a single launch tweet from Vercel; durable-harness's pricing, technical documentation, state serialization mechanism, integration methods with various harnesses, and actual resource performance for months-long runs have all not been disclosed.

50%
Unverified

durable-harness writes to the World interface, so the same agent can migrate from one World to another without code changes: use Vercel World on Vercel, local files during development, and Postgres, MongoDB, Redis, or Turso when self-hosting.

50%
Unverified

In durable-harness, migrating an agent to Postgres only requires setting two environment variables, WORKFLOW_TARGET_WORLD and WORKFLOW_POSTGRES_URL.

50%
Unverified

A document in durable-harness is typed JSON that lives in the session log, survives crashes, and moves with the session; tools can edit documents via io.docs, and each edit is committed to the log together with the tool result.

50%
Unverified

durable-harness uses the same mechanism that powers the Workflow SDK to resist crashes and function timeouts.

50%
Unverified

The core design of durable-harness is "log and queue": record the intent before a model call or tool call runs, and record the result after the call completes; turns are backed by queue messages, and after a function dies, a new function reads the log and continues from the breakpoint.

50%
Unverified

durable-harness records the results of completed calls in the log and reads from the log upon recovery, so it does not repeatedly pay token costs for model calls that have already completed.

50%
Unverified

An interrupted tool that is marked `replay: 'safe'` will be re-run; other tools are returned to the model with a "possibly already ran" status, and the model decides whether to check.

50%
Unverified

durable-harness offers three filesystem options: virtual() (files are kept in the session log, with a bash-compatible shell, and no access to function files or the network), virtual({ durable: false }) (files are kept in memory and cleared at the end of each turn), and sandbox() (provides a separate Vercel Sandbox, with /workspace located on Drive).

50%
Unverified

For frameworks that keep their own session files (such as Claude Code's transcript, Codex's rollout, and OpenCode's event store), every record is mirrored into the log, from which new functions or Sandboxes can reconstruct them.

50%
Unverified

Claude Code and Codex always run in a Vercel Sandbox within durable-harness, because they need a real shell and filesystem and are not suited to multi-tenant use.

50%
Unverified

durable-harness places /workspace on Drive storage, which is more durable than the sandbox itself, so workspace files remain after a sandbox instance is reaped or rebuilt, and a new sandbox can mount the same Drive to continue working.

50%

Source Articles