paperclipai/paperclip · error · ToolGatewayHttpError
mcp_remote_missing_secret
mcp_remote_missing_secret
Error message
A configured credential secret could not be resolved.
What it means
Credential resolution failure while building request headers for a tool connection: secrets.resolveSecretValue could not resolve one of the connection's credentialRefs (placement=header) — the secret is missing, its version is unavailable, or access was denied for this consumer. The masked 500 indicates an operator-side secret configuration problem, not caller input.
Solutions
- Fix the connection's credential reference: the named secret is missing from the secret store. Reconfigure the credential or create the secret.
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at server/src/services/tool-gateway.ts:2397 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@3f1d897a7c (2026-09-18).
Data as JSON: /api/errors/3015ad02f2288ac7.
Report an issue: GitHub.
Appendix: source
Thrown at server/src/services/tool-gateway.ts:4051
session,
connection,
grant,
grantRef,
// OAuth grants declare their canonical oauth.* path. Treating
// this header projection as a generic credentials.* binding loses
// the personal secret declaration created by the OAuth callback.
grantRef.configPath.startsWith("oauth.")
? grantRef.configPath
: `credentials.${ref.name}`,
);
headers[ref.key] = `${ref.prefix ?? ""}${value}`;
} catch {
await markRemoteConnectionHealth(
connection,
"missing_secret",
"A configured credential secret could not be resolved.",
);
throw new ToolGatewayHttpError(
422,
"A configured credential secret could not be resolved.",
"mcp_remote_missing_secret",
{ connectionId: connection.id, credential: ref.name },
);
}
}
const oauthAccessRef = grant.credentialSecretRefs.find(
(ref) => ref.configPath === "oauth.access_token",
);
if (oauthAccessRef && headers.Authorization === undefined) {
try {
const value = await resolveGrantSecretValue(
session,
connection,
grant,
oauthAccessRef,
);View on GitHub (pinned to 3f1d897a7c)