paperclipai/paperclip · error
no Codex credentials provisioned for managed home
Error message
no Codex credentials provisioned for managed home "${input.effectiveCodexHome}" (no usable auth.json and OPENAI_API_KEY is empty). Sign in to Codex on the host with a ChatGPT subscription, or configure a per-agent OPENAI_API_KEY. What it means
Error "no Codex credentials provisioned for managed home "${input.effectiveCodexHome}" (no usable auth.json and OPENAI_API_KEY is empty). Sign in to Codex on the host with a ChatGPT subscription, or configure a per-agent OPENAI_API_KEY." thrown in paperclipai/paperclip.
Solutions
- Sign in to Codex on the host with a ChatGPT subscription.
- Configure a per-agent OPENAI_API_KEY.
When it happens
Trigger: Thrown at packages/adapters/codex-local/src/server/execute.ts:431 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@3f1d897a7c (2026-08-18).
Data as JSON: /api/errors/2efaf302c742e41a.
Report an issue: GitHub.
Appendix: source
Thrown at packages/adapters/codex-local/src/server/execute.ts:432
if (sandboxAuthJson === "unknown") {
// The probe failing is an operational problem, not evidence that the
// sandbox lacks a login — proceeding lets a genuinely credentialed
// sandbox run, and a credential-less one still fails at Codex's first
// request with the provider's own error.
await input.onLog(
"stderr",
`Could not verify the sandbox's Codex login (probe failed); proceeding. ` +
`If the sandbox has no credentials, Codex will fail at its first request.\n`,
);
return;
}
throw new Error(
`no Codex credentials provisioned for managed home "${input.effectiveCodexHome}" ` +
`(no usable auth.json, OPENAI_API_KEY is empty, and the sandbox has no Codex login). ` +
`Use a sandbox image that is signed in to Codex, configure a per-agent OPENAI_API_KEY, ` +
`or sign in to Codex on the host with a ChatGPT subscription.`,
);
}
throw new Error(
`no Codex credentials provisioned for managed home "${input.effectiveCodexHome}" ` +
`(no usable auth.json and OPENAI_API_KEY is empty). ` +
`Sign in to Codex on the host with a ChatGPT subscription, or configure a per-agent ` +
`OPENAI_API_KEY.`,
);
}
async function emitSandboxAuthPrecedenceWarningIfNeeded(input: {
runId: string;
target: MaybeResolvedExecutionTarget;
cwd: string;
configuredApiKey: boolean;
hostAuthJson: boolean;
onLog: AdapterExecutionContext["onLog"];
onEvent: AdapterExecutionContext["onEvent"];
}): Promise<void> {View on GitHub (pinned to 3f1d897a7c)