Crux
Errors

RUNTIME_HOST_ONLY

A host-bound runtime was used outside its required host boundary.

What failed

A runtime-backed API was called from a process that only has a host-bound runtime declaration, such as runtime: convex().

Why

Host-bound runtimes need request-scoped host context to bind store and wake ports. Crux cannot safely fall back to object-bound storage without violating the one-writer runtime rule.

What still works

Object-bound authoring still typechecks. Runtime-backed operations work inside the host entry.

Fix

Run the operation inside the host boundary, such as a generated Convex entry:

createConvexRuntimeHandlers({
  component: components.crux,
  targetExecutor,
})

For app code that starts runtime-backed work directly from a Convex action, run that call inside createCruxConvex(...).run(ctx, target, fn) so Crux can bind the current ctx, component, and scheduler before the flow starts.

On this page