Crux
Errors

EFFECT_RECEIPT_NOT_FOUND

An effect receipt reference is missing, malformed, or belongs to another definition.

What failed

recover() or a definition's .recover() method could not match the supplied EffectReceiptRef to a receipt in the process ledger or, when configured, the Runtime Effects store.

Fix

Keep the exact receipt returned by .run() and recover it with the matching definition:

const execution = await updateCustomer.run(input);
await updateCustomer.recover(execution.receipt);

Do not construct, edit, or pass a scope ref in place of a receipt ref. Without a Runtime store the receipt exists only for the current process. With a store, cold recovery can load the durable row, but a missing or version-mismatched program target settles as handler_unavailable rather than EFFECT_RECEIPT_NOT_FOUND.

See Recover one receipt directly and Durability and restarts.

On this page