paperclipai/paperclip · error · PaperclipRunnerProviderProfileError
paperclip_runner_provider_changed
paperclip_runner_provider_changed
Error message
Paperclip Runner provider changed after this run selected its native backend.
What it means
Guard in resolvePaperclipRunnerNativeProviderInput: the backend resolved from the persisted adapterConfig must equal the backend this run already selected for its native runtime; if the provider changed after run selection, a 'paperclip_runner_provider_changed...' error is thrown. This prevents mid-run provider swaps (e.g. codex -> claude_managed) that would invalidate the already-initialized execution context.
Source
Thrown at server/src/services/native-runtime/provider-profile.ts:456
id: string;
profileKey: string;
anthropicAgentId: string;
agentVersion: string;
environmentId: string;
betaVersion: string;
defaultModel: string;
defaultMaxListCostCents: number;
} | null;
agentCoreProfile?: {
id: string;
profileKey: string;
configuration: Record<string, unknown>;
} | null;
}): PaperclipRunnerNativeProviderInput {
const config = asRecord(input.adapterConfig);
const profile = resolvePaperclipRunnerProviderProfile(config);
if (profile.backend !== input.backend) {
throw new PaperclipRunnerProviderProfileError(
"paperclip_runner_provider_changed",
"Paperclip Runner provider changed after this run selected its native backend.",
);
}
if (profile.provider === "opencode") {
return {
provider: "opencode",
model: profile.model,
opencodePermissionMode: resolvePaperclipRunnerPermissionMode(
"opencode",
config.opencodePermissionMode,
) as "allow" | "ask" | "deny",
};
}
if (profile.provider === "acpx") {
return {
provider: "acpx",
model: profile.model,View on GitHub (pinned to 01ad858492)
Solutions
- Revert the adapterConfig provider change until the run completes, or cancel and start a new run with the new provider.
- Re-create the run so backend selection and adapterConfig agree.
- Investigate what mutated adapterConfig mid-run (UI save, migration, import) and gate such edits during active runs.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/services/native-runtime/provider-profile.ts:450 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/6b28d7ff670c0d43.
Report an issue: GitHub.