You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I run a provider setup with multiple accounts/credentials behind one provider name: a Codex main+pool, several OpenRouter API keys (free-tier rotation), and chained clients. When debugging quota exhaustion, cache anomalies, or routing behavior, I need to see which specific account served each request directly in the logs — dashboard Logs panel, CLI ocx logs, and usage.jsonl.
For OpenRouter, multiple API keys under one provider are indistinguishable: the provider field shows only the provider name (e.g. openrouter), never which key made the upstream call.
The dashboard Logs panel shows model, latency, tokens — but account/credential identity is absent or requires manually cross-referencing usage.jsonl rows.
What should OpenCodex do?
When a request is routed through a provider that has multiple configured accounts or keys, each log row (dashboard Logs table, ocx logs output, and usage.jsonl) should display a stable per-account label identifying the credential that served the request. A reader should be able to answer "which account handled request X" without reading raw JSONL or the source code.
usage.jsonl row gains a populated accountLogLabel for every multi-account provider (e.g. "accountLogLabel": "key-2" on OpenRouter rows), not just Codex.
Alternatives or workarounds
Manually grepping usage.jsonl — only works for Codex rows today.
One provider entry per API key (openrouter-key1, openrouter-key2) — bloats the provider catalog and breaks free-tier rotation logic.
Area
Multiple areas
What are you trying to accomplish?
I run a provider setup with multiple accounts/credentials behind one provider name: a Codex main+pool, several OpenRouter API keys (free-tier rotation), and chained clients. When debugging quota exhaustion, cache anomalies, or routing behavior, I need to see which specific account served each request directly in the logs — dashboard Logs panel, CLI
ocx logs, andusage.jsonl.What prevents this today?
usage.jsonlhasaccountLogLabel, but it is Codex-only ("main" |p{hex}). Other OAuth providers have no per-account labeling (see closed [Feature]: persist per-account usage for OAuth providers (xai/cursor), not only Codex main/pN labels #2699).openrouter), never which key made the upstream call.usage.jsonlrows.What should OpenCodex do?
When a request is routed through a provider that has multiple configured accounts or keys, each log row (dashboard Logs table,
ocx logsoutput, andusage.jsonl) should display a stable per-account label identifying the credential that served the request. A reader should be able to answer "which account handled request X" without reading raw JSONL or the source code.Example usage or interface
Dashboard Logs table gains an Account column:
p3key-2CLI:
ocx logs --account p3 # filter rows by account label ocx logs --last 50 --account key-2usage.jsonlrow gains a populatedaccountLogLabelfor every multi-account provider (e.g."accountLogLabel": "key-2"on OpenRouter rows), not just Codex.Alternatives or workarounds
usage.jsonl— only works for Codex rows today.openrouter-key1,openrouter-key2) — bloats the provider catalog and breaks free-tier rotation logic.Additional context
Checks