{"record":{"id":"f2c10807785b8898","repo":"paperclipai/paperclip","slug":"paperclip-runner-claude-managed-retention-required","errorCode":"paperclip_runner_claude_managed_retention_required","errorMessage":"Paperclip Runner Claude Managed requires acknowledgement of stateful beta retention.","messagePattern":"Paperclip Runner Claude Managed requires acknowledgement of stateful beta retention\\.","errorType":"error_code","errorClass":"PaperclipRunnerProviderProfileError","httpStatus":null,"severity":"error","filePath":"server/src/services/native-runtime/provider-profile.ts","lineNumber":349,"sourceCode":"      );\n    }\n    return {\n      provider: \"opencode\",\n      backend: \"opencode_server\",\n      model,\n    };\n  }\n\n  if (candidate === \"claude_managed\") {\n    const managedProfileId = optionalString(config.managedProfileId);\n    if (!managedProfileId) {\n      throw new PaperclipRunnerProviderProfileError(\n        \"paperclip_runner_claude_managed_profile_required\",\n        \"Paperclip Runner Claude Managed requires a company managed-agent profile.\",\n      );\n    }\n    if (config.managedAgentsRetentionAcknowledged !== true) {\n      throw new PaperclipRunnerProviderProfileError(\n        \"paperclip_runner_claude_managed_retention_required\",\n        \"Paperclip Runner Claude Managed requires acknowledgement of stateful beta retention.\",\n      );\n    }\n    if (model !== null && model !== CLAUDE_MANAGED_QUALIFIED_MODEL) {\n      throw new PaperclipRunnerProviderProfileError(\n        \"paperclip_runner_claude_managed_model_unqualified\",\n        `The Claude Managed profile requires exact model ${CLAUDE_MANAGED_QUALIFIED_MODEL}.`,\n      );\n    }\n    return {\n      provider: \"claude_managed\",\n      backend: \"claude_managed_agents_api\",\n      managedProfileId,\n      model,\n      maxSessionListCostUsd: positiveNumberOrNull(\n        config.maxSessionListCostUsd,\n        \"paperclip_runner_claude_managed_spend_cap_invalid\",","sourceCodeStart":331,"sourceCodeEnd":367,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/server/src/services/native-runtime/provider-profile.ts#L331-L367","documentation":"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.","triggerScenarios":"Thrown at server/src/services/native-runtime/provider-profile.ts:343 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","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."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-09-02T18:44:00.616Z","contentChangedAt":"2026-09-02T18:44:00.616Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}