can1357/oh-my-pi · error · Error
No OAuth accounts resolved for provider ${model.provider}
Error message
No OAuth accounts resolved for provider ${model.provider} What it means
The dry-balance --bench mode benchmarks each OAuth account for the target model's provider via resolveBenchTargets. If no OAuth accounts resolve for that provider, there is nothing to bench and the command throws, naming the provider. This only applies to providers authenticated through OAuth (not API keys).
Source
Thrown at packages/coding-agent/src/cli/dry-balance-cli.ts:818
progressClosed = true;
progress?.close();
};
try {
const modelSelector = command.flags.model ?? command.model;
const { model, warning } = await resolveDryBalanceModel(
modelSelector,
runtime.modelRegistry,
runtime.settings,
randomSessionId,
);
if (warning) writeStderr(`${chalk.yellow(`Warning: ${warning}`)}\n`);
let results: DryBalanceAttemptResult[];
let benchResults: DryBalanceBenchResult[] | undefined;
let summarySamples = samples;
let summaryConcurrency = concurrency;
if (isBench) {
const targets = await resolveBenchTargets(model, runtime.modelRegistry.authStorage);
if (targets.length === 0) throw new Error(`No OAuth accounts resolved for provider ${model.provider}`);
summarySamples = targets.length;
summaryConcurrency = targets.length;
const progressWrite = command.flags.json ? writeStderr : writeStdout;
const progressInteractive = command.flags.json
? (deps.stderrIsTTY ?? process.stderr.isTTY === true)
: (deps.stdoutIsTTY ?? process.stdout.isTTY === true);
const progressColumns = command.flags.json
? (deps.stderrColumns ?? process.stderr.columns ?? 80)
: (deps.stdoutColumns ?? process.stdout.columns ?? 80);
progress = createBenchProgressSink(targets.length, progressWrite, progressInteractive, progressColumns);
benchResults = await runBenchTargets(
model,
targets,
runtime.modelRegistry.authStorage,
randomSessionId,
progress,
streamFn,
now,View on GitHub (pinned to 9690622007)
Solutions
- Re-authenticate the provider with OAuth: omp auth login <provider> (or the auth command for that provider)
- Check `omp auth` (status/list) to confirm at least one OAuth account exists for the provider
- Pick a model whose provider has OAuth accounts, or run non-bench mode which uses the configured credential instead
- Re-run OAuth login if tokens expired; stale/invalid tokens may resolve to zero accounts
Example fix
// before omp dry-balance --bench --model openai/gpt-4.1 # only API-key auth configured // after omp auth login openai omp dry-balance --bench --model openai/gpt-4.1
Defensive patterns
Strategy: validation
Validate before calling
const accounts = await authStorage.list(model.provider); // provider auth storage
if (!accounts || accounts.length === 0) {
console.error(`Provider ${model.provider} has no OAuth accounts; run the auth login command first.`);
} Try / catch
try {
await runBench(model);
} catch (e) {
if (/No OAuth accounts resolved/.test((e as Error).message)) {
console.error(`Authenticate ${model.provider} via OAuth (auth login) or drop --bench to use the configured credential.`);
} else throw e;
} Prevention
- Run the OAuth login flow (omp auth) for each provider before benching
- Periodically re-login: expired/revoked tokens can drop to zero usable accounts
- Remember API-key-only providers cannot be benched per-account; skip --bench for them
When it happens
Trigger: Running `omp dry-balance --bench` with a model whose provider has zero resolved OAuth accounts: the provider was authenticated with an API key instead of OAuth, OAuth tokens expired and were dropped, or the provider is API-key-only.
Common situations: Benching an OpenAI/Anthropic-style model while logged in via API key env var rather than `omp auth` OAuth login; revoked or expired OAuth credentials; selecting a model from a provider (e.g. a custom OpenAI-compatible endpoint) that has no OAuth flow at all.
Related errors
- Usage: omp auth-broker login <provider> --via=user@host (pro
- Unknown OAuth provider '${providerArg}'. Known: ${providers
- No OAuth providers registered
- --${name} must be a positive integer
- resolved.error (model resolution failure)
AI-assisted analysis of can1357/oh-my-pi@9690622007 (2026-08-31).
Data as JSON: /api/errors/54034cf414cd1288.
Report an issue: GitHub.