client: preserve OAuth discovery metadata across browser redirects #1816
Claude / Claude Code Review
completed
Apr 8, 2026 in 13m 18s
Code review found 2 important issues
Found 5 candidates, confirmed 3. See review comments for details.
Details
| Severity | Count |
|---|---|
| 🔴 Important | 2 |
| 🟡 Nit | 0 |
| 🟣 Pre-existing | 0 |
| Severity | File:Line | Issue |
|---|---|---|
| 🔴 Important | packages/client/src/providers/oauthProvider.ts:19 |
OAuthProvider is non-functional: broken import and no-op createTransportWithRestoredState() |
| 🔴 Important | packages/client/src/client/streamableHttp.ts:205-210 |
StreamableHTTPClientTransport missing sessionStorage persistence for OAuth redirect flows |
Annotations
Check failure on line 19 in packages/client/src/providers/oauthProvider.ts
claude / Claude Code Review
OAuthProvider is non-functional: broken import and no-op createTransportWithRestoredState()
The new OAuthProvider class in packages/client/src/providers/oauthProvider.ts has two critical bugs that make it non-functional. Line 19 imports from "../client/index.js", but no index.ts barrel exists in packages/client/src/client/ — this is a compilation error that prevents the file from building. Additionally, createTransportWithRestoredState() accepts resourceMetadataUrl and scope options but silently ignores them: it creates a bare StreamableHTTPClientTransport with empty options {} and onl
Check failure on line 210 in packages/client/src/client/streamableHttp.ts
claude / Claude Code Review
StreamableHTTPClientTransport missing sessionStorage persistence for OAuth redirect flows
StreamableHTTPClientTransport is missing the sessionStorage persistence that this PR claims to implement for it. The PR description states "persist interactive OAuth metadata (resource_metadata URL and scope) in browser sessionStorage for **both** Streamable HTTP and SSE client transports", but only SSEClientTransport received the implementation. In a real browser redirect flow, the new StreamableHTTPClientTransport instance will start with undefined _resourceMetadataUrl and _scope and must redo
Loading