paperclipai/paperclip · error · PaperclipRunnerProviderProfileError
paperclip_runner_claude_managed_retention_required
paperclip_runner_claude_managed_retention_required
Error message
Paperclip Runner Claude Managed requires acknowledgement of stateful beta retention.
What it means
Guard in resolvePaperclipRunnerProviderProfile for claude_managed: adapterConfig.managedAgentsRetentionAcknowledged must be explicitly true, else 'paperclip_runner_claude_managed_retention_required' is thrown. Claude Managed agents are stateful server-side and retain data, so the operator must have acknowledged that retention before runs are allowed.
Source
Thrown at server/src/services/native-runtime/provider-profile.ts:349
);
}
return {
provider: "opencode",
backend: "opencode_server",
model,
};
}
if (candidate === "claude_managed") {
const managedProfileId = optionalString(config.managedProfileId);
if (!managedProfileId) {
throw new PaperclipRunnerProviderProfileError(
"paperclip_runner_claude_managed_profile_required",
"Paperclip Runner Claude Managed requires a company managed-agent profile.",
);
}
if (config.managedAgentsRetentionAcknowledged !== true) {
throw new PaperclipRunnerProviderProfileError(
"paperclip_runner_claude_managed_retention_required",
"Paperclip Runner Claude Managed requires acknowledgement of stateful beta retention.",
);
}
if (model !== null && model !== CLAUDE_MANAGED_QUALIFIED_MODEL) {
throw new PaperclipRunnerProviderProfileError(
"paperclip_runner_claude_managed_model_unqualified",
`The Claude Managed profile requires exact model ${CLAUDE_MANAGED_QUALIFIED_MODEL}.`,
);
}
return {
provider: "claude_managed",
backend: "claude_managed_agents_api",
managedProfileId,
model,
maxSessionListCostUsd: positiveNumberOrNull(
config.maxSessionListCostUsd,
"paperclip_runner_claude_managed_spend_cap_invalid",View on GitHub (pinned to 01ad858492)
Solutions
- Set managedAgentsRetentionAcknowledged to true in adapterConfig after the operator accepts the retention terms.
- Drive the acknowledgement through the UI/provider onboarding flow rather than editing config by hand.
- Use a stateless provider (codex/opencode) if retention cannot be accepted.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/services/native-runtime/provider-profile.ts:343 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-09-02).
Data as JSON: /api/errors/f2c10807785b8898.
Report an issue: GitHub.