paperclipai/paperclip · error
Managed sandbox environment changed during reactivation
Error message
Managed sandbox environment changed during reactivation
What it means
Concurrency guard in ensureManagedSandboxEnvironment's reactivation path: the row this transaction was about to reactivate changed underneath it (archive token no longer matches), indicating a concurrent reconciler touched it. Aborts rather than overwriting the other writer's state.
Source
Thrown at server/src/services/environments.ts:575
typeof rowArchiveToken === "string" &&
matchingBindings.some((binding) => {
const bindingDefaults = binding.defaultsJson;
return bindingDefaults.status === "archived" &&
bindingDefaults[MANAGED_ENVIRONMENT_ARCHIVE_TOKEN_DEFAULTS_KEY] === rowArchiveToken;
});
if (archivedByReconciler) {
const reactivated = await tx
.update(environments)
.set({
status: "active",
metadata: withoutManagedEnvironmentArchiveToken(row.metadata),
updatedAt: new Date(),
})
.where(and(eq(environments.id, row.id), eq(environments.status, "archived")))
.returning()
.then((rows) => rows[0] ?? null);
if (!reactivated) {
throw new Error("Managed sandbox environment changed during reactivation");
}
row = reactivated;
providerReactivated = true;
for (const binding of matchingBindings) {
const reactivatedDefaults = {
...managedEnvironmentBaselineDefaults(binding.defaultsJson),
status: "active",
};
const reactivatedHash = stockHash(reactivatedDefaults);
await tx
.update(builtInManagedResources)
.set({
stockHash: reactivatedHash,
defaultsJson: reactivatedDefaults,
updatedAt: new Date(),
})
.where(and(View on GitHub (pinned to 01ad858492)
Solutions
- Retry the reactivation; the environment changed concurrently. Investigate concurrent modifications if it persists.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/services/environments.ts:575 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-08-18).
Data as JSON: /api/errors/b741447426ac7605.
Report an issue: GitHub.