Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context: #5748.
Summary
This PR is the foundational "auth v2" refactor: encrypted-at-rest credentials + multi-account OAuth subscriptions, and a fetch-level rotation/refresh engine so OpenCode can retry within the same user request when a subscription is throttled or expires.
Why: the current auth path is single-credential and makes pooling/rotation/refresh brittle. Auth v2 makes subscription pools and API-key mode coexist cleanly while keeping the integration point provider-agnostic.
What changed
OPENCODE_VAULT_KEYor generated locally.429(Retry-After-aware) and retries in the same request401/403where supportedspecs/provider-auth-v2.mdfor the RFC/architecture.How to test
opencode auth login→ add OAuth creds;opencode auth listshould show records.429/auth_expiredscenario and verify it rotates to the next credential and retries.bun test packages/opencode/test/credentialsandbun test packages/opencode/test/inference/rotating-fetch.test.tsFollow-ups