FabricFabricHarness
EcosystemSandboxes

Vercel Sandbox

Adapt @vercel/sandbox instances to Fabric sessions.

pnpm add @fabric-harness/connectors @vercel/sandbox
fh add vercel
import { Sandbox } from '@vercel/sandbox';
import { vercelSandbox } from '@fabric-harness/connectors/vercel';

const remote = await Sandbox.create({
  runtime: 'node24',
  timeout: 300_000,
});
const fabric = await init({
  sandbox: vercelSandbox(remote, { cleanup: true }),
});

The connector maps the Vercel 1.x command object, async output readers, output streams, AbortSignal, file APIs, and lifecycle operations without exposing provider credentials to the model. The supported range is @vercel/sandbox >=1.10.1 <2.

sandboxId becomes a portable ref automatically. Register the receiving process once:

registerStandardSandboxRefDecoders({
  vercel: { connect: ({ sandboxId }) => Sandbox.get({ sandboxId }) },
});

Run assertSandboxCertification() from the sandbox connector guide in the deployment account. The live workflow writes the secret-free report as a CI artifact.