earendil-works/pi · error · CredentialSynchronizationError
Credential ${operation} committed for ${providerId}, but loc
Error message
Credential ${operation} committed for ${providerId}, but local synchronization failed What it means
Error "Credential ${operation} committed for ${providerId}, but local synchronization failed" thrown in earendil-works/pi.
Source
Thrown at packages/coding-agent/src/core/model-runtime.ts:532
private async synchronizeCredentialState(
providerId: string,
operation: CredentialSynchronizationOperation,
credential: Credential | undefined,
signal: AbortSignal,
): Promise<void> {
try {
signal.throwIfAborted();
this.recomposeProvider(providerId);
const compositionError = this.compositionErrors.get(providerId);
if (compositionError) throw new Error(compositionError);
const result = await this.models.refresh({ allowNetwork: false, providers: [providerId], signal });
if (result.aborted) signal.throwIfAborted();
const refreshError = result.errors.get(providerId);
if (refreshError) throw refreshError;
this.updateModelSnapshot();
await this.refreshProviderAvailability(providerId, signal);
} catch (cause) {
throw new CredentialSynchronizationError(providerId, operation, credential, { cause });
}
}
setRuntimeApiKey(providerId: string, apiKey: string, options: AuthOperationOptions = {}): Promise<void> {
const signal = operationSignal(options.signal);
return this.enqueueCredentialOperation(providerId, signal, async () => {
this.credentials.setRuntimeApiKey(providerId, apiKey);
await this.synchronizeCredentialState(
providerId,
"setRuntimeApiKey",
{ type: "api_key", key: apiKey },
signal,
);
});
}
removeRuntimeApiKey(providerId: string, options: AuthOperationOptions = {}): Promise<void> {
const signal = operationSignal(options.signal);View on GitHub (pinned to 4af9d21d3b)
When it happens
Trigger: Thrown at packages/coding-agent/src/core/model-runtime.ts:532 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of earendil-works/pi@4af9d21d3b (2026-08-24).
Data as JSON: /api/errors/55351d0f62b9926b.
Report an issue: GitHub.