paperclipai/paperclip · error · PaperclipRunnerProviderProfileError
paperclip_runner_provider_unsupported
paperclip_runner_provider_unsupported
Error message
Paperclip Runner provider must be Codex, OpenCode, Claude Managed, AWS AgentCore, or ACPX.
What it means
Guard at the top of resolvePaperclipRunnerProviderProfile: the persisted adapterConfig must name one of the five supported Paperclip Runner providers (codex, opencode, claude_managed, aws_agentcore, acpx); anything else throws 'paperclip_runner_provider_unsupported'. Fires when adapterConfig.provider is missing, mistyped, or written by a build supporting other providers.
Source
Thrown at server/src/services/native-runtime/provider-profile.ts:310
"paperclip_runner_aws_agentcore_recovery_identity_mismatch",
"The persisted AWS AgentCore identity no longer matches its qualified profile.",
);
}
}
/**
* Resolve the immutable provider identity used for a fresh Paperclip Runner
* selection. The persisted adapterConfig is the authority; runtimeConfig is
* deliberately not consulted so model-profile or migration metadata cannot
* silently switch the harness selected for a run.
*/
export function resolvePaperclipRunnerProviderProfile(
adapterConfig: unknown,
): PaperclipRunnerProviderProfile {
const config = asRecord(adapterConfig);
const candidate = config.provider ?? "codex";
if (!isPaperclipRunnerProvider(candidate)) {
throw new PaperclipRunnerProviderProfileError(
"paperclip_runner_provider_unsupported",
"Paperclip Runner provider must be Codex, OpenCode, Claude Managed, AWS AgentCore, or ACPX.",
);
}
assertPermissionMode(candidate, config);
const model = optionalString(config.model);
if (candidate === "codex") {
return {
provider: "codex",
backend: "codex_app_server",
model,
};
}
if (candidate === "opencode") {
if (!model || !model.includes("/") || model.endsWith("/")) {
throw new PaperclipRunnerProviderProfileError(View on GitHub (pinned to 01ad858492)
Solutions
- Set adapterConfig.provider to a supported value: codex, opencode, claude_managed, aws_agentcore, or acpx.
- Migrate config written by a newer build before this server can resolve it.
- Fix whatever wrote a malformed/empty provider string into adapterConfig.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/services/native-runtime/provider-profile.ts:304 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/c938e8787ef2f0a3.
Report an issue: GitHub.