Skip to content

Fix misleading Codex credential recovery guidance - #3534

Merged
steipete merged 2 commits into
mainfrom
codex/bug-3523-refresh-diagnostic
Sep 10, 2026
Merged

Fix misleading Codex credential recovery guidance#3534
steipete merged 2 commits into
mainfrom
codex/bug-3523-refresh-diagnostic

Conversation

@steipete

@steipete steipete commented Sep 10, 2026

Copy link
Copy Markdown
Owner

The shared native-credential refresh error no longer promises that CodexBar will retry through the CLI. Managed workspace selection deliberately disables that unscoped fallback, so the previous promise was false in both Auto and OAuth modes. The error now points to reauthenticating the affected account or running codex login in the same Codex home.

This corrects the diagnostic portion of #3523. It preserves nativeRefreshRequired, all strategy selection, credential ownership, and the existing reauthentication flow. The broader automatic-renewal work remains separate in #3379; #3523 should stay open.

Proof:

  • The existing production-pipeline fixture failed eight added wording assertions before the change, across expired/near-expiry managed credentials in Auto and OAuth modes.
  • 80 focused tests passed afterward, including default-account CLI delegation, managed-scope suppression, zero transport requests for stale credentials, and unchanged auth-file bytes, modification time and inode.
  • Formatting/lint and independent P0–P2 review are clean. The full local suite passed all 1,058 selections in 89 groups on the first pass, with no retries or timeouts. All exact-head CI checks passed, including both macOS shards and the Linux builds: https://github.com/steipete/CodexBar/actions/runs/34451275400.

Documentation identifies the existing account-specific Reauthenticate action and same-home CLI recovery. The 0.58.1 Unreleased entry credits @zhulijin1991 for the report. No live credentials were used.

@clawsweeper

clawsweeper Bot commented Sep 10, 2026

Copy link
Copy Markdown

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

ClawSweeper review complete

ClawSweeper finished reviewing this revision. The review result is being finalized.

View the workflow run.

@clawsweeper clawsweeper Bot added P2 Normal priority bug or improvement with limited blast radius. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Sep 10, 2026
@clawsweeper

clawsweeper Bot commented Sep 10, 2026

Copy link
Copy Markdown

Codex review: needs maintainer review before merge. Reviewed September 10, 2026, 4:17 AM ET / 08:17 UTC (Revision 2).

ClawSweeper review

What this changes

The PR replaces misleading Codex credential-refresh guidance with account-specific recovery instructions and adds matching regression assertions, documentation, and a changelog entry.

Merge readiness

Ready for maintainer review

This remains a useful, narrowly scoped correction: current main and the latest release still promise recovery that managed workspaces cannot perform. No blocking defects were found, and the previous review's empty finding list remains appropriate.

Priority: P2
Reviewed head: a6a47fa61b58a30e598d8605fdc9be2b6711c085

Review scores

Measure Result What it means
Overall readiness 🐚 platinum hermit (4/6) A focused, maintainable correction with relevant regression assertions and no blocking findings.
Proof confidence 🌊 off-meta tidepool Not applicable: This OWNER-authored diagnostic correction is exempt from the external-contributor live-proof gate; its isolated pipeline fixtures support the wording change but are not live account proof.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Not applicable Not applicable: This OWNER-authored diagnostic correction is exempt from the external-contributor live-proof gate; its isolated pipeline fixtures support the wording change but are not live account proof.
Evidence reviewed 8 items Applicable repository policy: Read the complete root AGENTS.md. No nested AGENTS.md files or maintainer-notes directory were found. Applied guidance on small changes, focused tests, account isolation, and avoiding unsolicited live credential access.
Verified introduced scope: The pinned main-to-head diff matches the supplied introduction evidence: one diagnostic string, three test assertions, documentation, and a changelog entry. No strategy, credential storage, dependency, or authorization behavior changes.
Current main still needs the correction: Current main retains the automatic CLI-retry promise. The unchanged provider resolver excludes CLI fallback for managed workspaces in Auto mode, and the explicit OAuth recovery strategy rejects managed scope.
Findings None None.
Security None None.

How this fits together

CodexBar reads credentials from the selected Codex home to retrieve account usage. Its provider pipeline prevents unscoped CLI fallback for managed workspaces, so expired credentials can surface a recovery message instead.

flowchart TD
 A[Selected Codex home] --> B[Read native credentials]
 B --> C{Credentials need renewal?}
 C -->|No| D[Retrieve account usage]
 C -->|Yes| E{Managed workspace selected?}
 E -->|No| F[Eligible CLI recovery]
 E -->|Yes| G[Account-specific recovery guidance]
Loading

Before merge

None.

Agent review details

Security

None.

Review metrics

None.

Technical review

Best possible solution:

Keep the recovery message truthful and account-specific while preserving workspace guards and handling automatic renewal separately.

Do we have a high-confidence way to reproduce the issue?

Yes, from source: expired managed credentials raise nativeRefreshRequired while both applicable CLI recovery paths are suppressed, leaving main's retry promise false. No live reproduction was executed.

Is this the best way to solve the issue?

Yes. Correcting the shared diagnostic and documenting existing targeted recovery is a bounded solution that preserves credential ownership and workspace isolation.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning medium; reviewed against 3b6864fa9248.

Labels

Label justifications:

  • P2: Corrects misleading recovery instructions for expired Codex credentials without changing authentication behavior.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🌊 off-meta tidepool and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Not applicable: This OWNER-authored diagnostic correction is exempt from the external-contributor live-proof gate; its isolated pipeline fixtures support the wording change but are not live account proof.

Evidence

What I checked:

Likely related people:

  • steipete: Suggested for follow-up; no historical authorship or introduction is verified. (role: unverified routing candidate; confidence: low)

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

History

Review history (1 earlier review cycle)
  • reviewed 2026-09-10T07:44:27.550Z sha a6a47fa :: needs maintainer review before merge. :: none

@steipete
steipete merged commit f5c94a1 into main Sep 10, 2026
9 checks passed
@steipete

Copy link
Copy Markdown
Owner Author

Landed in f5c94a1. The shared diagnostic now gives account-specific recovery guidance instead of promising a CLI retry that managed workspace scopes deliberately suppress. No credential, fallback, or auth-file behavior changed.

The regression failed eight added wording assertions before the fix. Afterward, 80 focused tests and the full 1,058-selection suite passed, with all 89 groups successful on the first pass and no retries or timeouts. Formatting/lint and independent P0–P2 review were clean. All checks passed in CI run 34451275400.

#3523 remains open: this fixes its misleading guidance, while automatic renewal remains separate in #3379. Provider documentation and the Unreleased changelog are updated, with credit to @zhulijin1991 for the report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P2 Normal priority bug or improvement with limited blast radius. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant