Skip to content

fix(worker): support Claude CIMD metadata - #961

Merged
chrisdoc merged 3 commits into
mainfrom
fix/issue-942-cimd
Aug 9, 2026
Merged

fix(worker): support Claude CIMD metadata#961
chrisdoc merged 3 commits into
mainfrom
fix/issue-942-cimd

Conversation

@chrisdoc

@chrisdoc chrisdoc commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Upgrade @cloudflare/workers-oauth-provider to 0.10.2.
  • Add a regression test using Claude's published Client ID Metadata Document.
  • Add a patch changeset for @hevy-mcp/worker.

Root cause

Claude's CIMD advertises authorization_code, refresh_token, and the optional urn:ietf:params:oauth:grant-type:jwt-bearer capability. Provider 0.10.0 strictly rejected the unsupported JWT grant before rendering /authorize, producing the reported 400 Invalid authorization request. Provider 0.10.2 negotiates unsupported optional CIMD capabilities away while retaining the supported authorization-code flow.

Validation

  • mise exec -- npm run check
  • mise exec -- npm run check:types
  • mise exec -- npm run build
  • mise exec -- npm run test:pr
  • mise exec -- npm run test:performance
  • mise exec -- npm run check:changeset
  • mise exec -- npx vitest run packages/worker/src/worker-oauth.test.ts

Summary by Sourcery

Upgrade the OAuth provider dependency to restore compatibility with Claude’s CIMD-based OAuth flow and document the change as a patch release.

Enhancements:

  • Update @cloudflare/workers-oauth-provider to version 0.10.2 in the root project and worker package to support negotiation of optional unsupported grant types.

Tests:

  • Add a regression test ensuring Claude’s published CIMD metadata with an optional JWT grant type is accepted and the authorization flow proceeds successfully.

Chores:

  • Add a patch changeset for @hevy-mcp/worker describing the Claude OAuth compatibility fix.

Summary by CodeRabbit

  • Bug Fixes

    • Improved Claude OAuth compatibility when client metadata includes optional, unsupported grant types.
    • Authorization requests using PKCE, scopes, and resource parameters now complete successfully in this scenario.
  • Tests

    • Added regression coverage for Claude’s published client metadata and consent-page rendering.
  • Chores

    • Updated the OAuth provider component to the latest compatible patch release.

✨ PR Description

Purpose: Upgrade workers-oauth-provider to support Claude's CIMD metadata with optional JWT grant type support.

Main changes:

  • Updated @cloudflare/workers-oauth-provider from ^0.10.0 to ^0.10.2 in root and worker package dependencies
  • Added test case validating Claude CIMD metadata acceptance with JWT-bearer optional grant type

Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
💡 Tip: You can customize your AI Description using Guidelines Learn how

@assert-app

assert-app Bot commented Aug 9, 2026

Copy link
Copy Markdown

Review on Assert →

3 clusters identified

Merge candidate is ready!

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @chrisdoc, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@socket-security

socket-security Bot commented Aug 9, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​cloudflare/​workers-oauth-provider@​0.10.0 ⏵ 0.10.299 +1100100 +199 +1100

View full report

@sourcery-ai

sourcery-ai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Reviewer's Guide

Upgrades the Cloudflare OAuth provider to a version that negotiates optional CIMD capabilities correctly, adds a regression test using Claude's published CIMD document to ensure the authorize endpoint works when an optional JWT grant is advertised, and records the fix in a patch changeset for the worker package.

Sequence diagram for OAuth authorize flow with Claude CIMD optional JWT grant

sequenceDiagram
    actor Client
    participant WorkerHandler as worker_handler
    participant Fetch as fetch
    participant ClaudeCIMD as claude_cimd_document

    Client->>WorkerHandler: Request authorize (response_type=code, client_id, redirect_uri)
    WorkerHandler->>Fetch: fetch(client_id)
    Fetch-->>WorkerHandler: Response.json(metadata with jwt_bearer grant)
    WorkerHandler->>ClaudeCIMD: [metadata parsed]
    WorkerHandler-->>Client: 200 OK consent page (contains Claude)
Loading

File-Level Changes

Change Details Files
Upgrade OAuth provider dependency to support optional CIMD JWT grant negotiation.
  • Bump @cloudflare/workers-oauth-provider from 0.10.0 to 0.10.2 in the root package manifest.
  • Align the worker package dependency on @cloudflare/workers-oauth-provider to 0.10.2.
  • Regenerate or update lockfile entries to reflect the new provider version.
package.json
packages/worker/package.json
package-lock.json
Add regression test ensuring Claude CIMD metadata with an optional JWT grant still renders /authorize successfully.
  • Introduce a test case that stubs global fetch to return Claude's published CIMD client metadata including authorization_code, refresh_token, and jwt-bearer grants.
  • Construct an /authorize request using the Claude CIMD client_id and PKCE parameters and invoke the OAuth-enabled worker handler.
  • Assert that the response is 200, contains the expected client name, and that the CIMD document was fetched, reproducing the original failure mode under provider 0.10.0.
packages/worker/src/worker-oauth.test.ts
Document the fix as a patch release for the worker package.
  • Add a changeset marking @hevy-mcp/worker for a patch version bump.
  • Describe the fix as allowing CIMD documents that advertise optional unsupported grant types for Claude OAuth compatibility.
.changeset/issue-942-cimd-compatibility.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@deepsource-io

deepsource-io Bot commented Aug 9, 2026

Copy link
Copy Markdown

DeepSource Code Review

We reviewed changes in 66aca90...2ba81db on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

PR Report Card

Overall Grade   Security  

Reliability  

Complexity  

Hygiene  

Code Review Summary

Analyzer Status Updated (UTC) Details
JavaScript Aug 9, 2026 3:25p.m. Review ↗

Important

AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.

Comment thread packages/worker/src/worker-oauth.test.ts Outdated

@gitar-bot gitar-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gitar has auto-approved this PR (configure)

@gitar-bot gitar-bot Bot added the gitar-approved Added by Gitar label Aug 9, 2026
@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Cloudflare Worker preview

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

fix(worker): support Claude CIMD metadata

🐞 Bug fix 🧪 Tests 🕐 10-20 Minutes

Grey Divider

AI Description

• Upgrade workers OAuth provider to tolerate optional unsupported CIMD grant types.
• Add a regression test using Claude’s published Client ID Metadata Document.
• Publish a patch changeset for @hevy-mcp/worker.
Diagram

graph TD
  T(["Vitest regression test"]) --> W["Worker /authorize handler"] --> P[["workers-oauth-provider v0.10.2"]] --> F["global fetch()"] --> C{{"Claude CIMD document"}}
  C --> P --> H["Consent HTML (200)"] --> T

  subgraph Legend
    direction LR
    _test(["Test"]) ~~~ _svc["Service/Handler"] ~~~ _lib[["Library"]] ~~~ _ext{{"External"}}
  end
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Filter CIMD grant_types in worker before provider validation
  • ➕ Avoids relying on provider behavior changes across versions
  • ➕ Lets you define an explicit allowlist for supported grants
  • ➖ Duplicates provider responsibility and may drift from spec nuances
  • ➖ Harder to keep correct as CIMD/OAuth requirements evolve
2. Fork/patch workers-oauth-provider locally
  • ➕ Full control over negotiation/validation semantics
  • ➕ Can ship an immediate fix even if upstream is slow
  • ➖ Ongoing maintenance burden and potential security divergence
  • ➖ More complex release and dependency management

Recommendation: Upgrading to workers-oauth-provider 0.10.2 is the best approach because it fixes the root negotiation behavior at the source (CIMD validation/negotiation) and keeps OAuth semantics centralized in the library. The added regression test anchored to Claude’s published CIMD reduces the risk of future regressions without adding bespoke worker-side filtering logic.

Files changed (4) +45 / -2

Tests (1) +38 / -0
worker-oauth.test.tsAdd regression test for Claude CIMD optional JWT grant +38/-0

Add regression test for Claude CIMD optional JWT grant

• Adds a test that stubs Claude’s CIMD response including the optional jwt-bearer grant type. Verifies the /authorize flow renders successfully (HTTP 200) and includes the expected client name, reproducing issue #942 on older provider versions.

packages/worker/src/worker-oauth.test.ts

Documentation (1) +5 / -0
issue-942-cimd-compatibility.mdAdd patch changeset for Claude CIMD compatibility fix +5/-0

Add patch changeset for Claude CIMD compatibility fix

• Introduces a Changesets entry to publish a patch release for @hevy-mcp/worker. Notes the fix for accepting CIMD documents that advertise optional unsupported grant types.

.changeset/issue-942-cimd-compatibility.md

Other (2) +2 / -2
package.jsonBump workers-oauth-provider to 0.10.2 (root) +1/-1

Bump workers-oauth-provider to 0.10.2 (root)

• Updates the root dependency on @cloudflare/workers-oauth-provider from 0.10.0 to 0.10.2 to pick up CIMD negotiation fixes.

package.json

package.jsonBump workers-oauth-provider to 0.10.2 (worker package) +1/-1

Bump workers-oauth-provider to 0.10.2 (worker package)

• Aligns the worker package dependency on @cloudflare/workers-oauth-provider to 0.10.2 so runtime behavior matches the intended fix.

packages/worker/package.json

@codecov

codecov Bot commented Aug 9, 2026

Copy link
Copy Markdown

Bundle Report

Bundle size has no change ✅

@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor
MCP tool token cost

MCP tool token cost

Measured with o200k_base over the complete json-serialized mcp tools/list result payload: { tools }.
Targets are advisory except the enforced total-token budget.

Metric Current Target Status
Tools 22 ≤ 20 Above target
Total tokens 7247 ≤ 8900 Within target
Average tokens/tool 329.41 < 600 Within target

Component totals

Component Tokens
name 128
description 487
inputSchema 3248
outputSchema 2693
annotations 529

Change from baseline

Metric Baseline Current Delta
Tools 22 22 0
Total tokens 7247 7247 0
Average tokens/tool 329.41 329.41 0

Per-tool changes

Tool Baseline Current Delta
create-body-measurement 328 328 0
create-exercise-template 354 354 0
create-routine 420 420 0
create-routine-folder 109 109 0
create-workout 532 532 0
get-body-measurement 300 300 0
get-body-measurements 372 372 0
get-exercise-history 247 247 0
get-exercise-template 172 172 0
get-routine 332 332 0
get-routine-folder 145 145 0
get-routines 277 277 0
get-training-summary 624 624 0
get-workout 322 322 0
get-workout-events 499 499 0
get-workouts 273 273 0
replace-workout-exercises 416 416 0
search-exercise-templates 258 258 0
search-routines 280 280 0
update-body-measurement 328 328 0
update-routine 423 423 0
update-workout 232 232 0

Component changes

Component Delta
name 0
description 0
inputSchema 0
outputSchema 0
annotations 0

Per-tool breakdown

Tool name description inputSchema outputSchema annotations Total Share of total
get-training-summary 5 30 31 531 19 624 8.61%
create-workout 5 20 470 0 31 532 7.34%
get-workout-events 6 22 84 360 19 499 6.89%
update-routine 5 18 363 0 31 423 5.84%
create-routine 5 20 358 0 31 420 5.8%
replace-workout-exercises 7 17 354 0 32 416 5.74%
get-body-measurements 7 24 62 252 19 372 5.13%
create-exercise-template 6 18 292 0 32 354 4.88%
get-routine 5 23 31 247 18 332 4.58%
create-body-measurement 7 24 259 0 32 328 4.53%
update-body-measurement 7 24 259 0 32 328 4.53%
get-workout 5 23 33 235 18 322 4.44%
get-body-measurement 7 25 43 198 19 300 4.14%
search-routines 5 24 42 182 19 280 3.86%
get-routines 5 23 62 160 19 277 3.82%
get-workouts 5 25 47 169 19 273 3.77%
search-exercise-templates 7 25 113 86 19 258 3.56%
get-exercise-history 6 22 58 134 19 247 3.41%
update-workout 5 17 173 0 31 232 3.2%
get-exercise-template 6 23 33 83 19 172 2.37%
get-routine-folder 6 25 31 56 19 145 2%
create-routine-folder 6 15 50 0 32 109 1.5%

Per-component counts are diagnostic and non-additive because keys and separators live in complete tool objects. Per-tool counts encode each complete tool object independently. The total encodes the complete { tools } envelope, so punctuation and separators mean the per-tool values need not sum exactly to the total.

@gitstream-cm gitstream-cm Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✨ PR Review

The dependency upgrade and changeset look correct. The regression test validates the fix, but it leaves a global fetch stub in place without cleanup and contains a now-stale explanatory comment.

2 issues detected:

🐞 Bug - `vi.stubGlobal("fetch", fetchMock)` persists after the test exits, polluting the global environment for all subsequent tests in the suite. 🛠️

Details: vi.stubGlobal("fetch", fetchMock) is called inside the test but is never cleaned up with vi.unstubAllGlobals() or vi.restoreAllMocks(). Because Vitest does not automatically restore stubs between tests, every test that runs after this one in the same describe block will receive the mock fetch (which unconditionally returns the Claude metadata response) instead of the real global fetch. This could silently break unrelated CIMD / network-dependent tests that follow.

File: packages/worker/src/worker-oauth.test.ts (935-955)

🛠️ A suggested code correction is included in the review comments.

🧾 Readability - The phrase "until the provider is upgraded" is no longer accurate once this PR is merged, making the comment misleading. 🛠️

Details: The inline comment says "this test reproduces issue #942 until the provider is upgraded", but the provider upgrade is the very change this PR delivers. After merging, the comment describes the already-resolved past state and will mislead future readers about why the test exists.

File: packages/worker/src/worker-oauth.test.ts (950-952)

🛠️ A suggested code correction is included in the review comments.

Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
💡 Tip: You can customize your AI Review using Guidelines Learn how

Comment thread packages/worker/src/worker-oauth.test.ts Outdated
Comment thread packages/worker/src/worker-oauth.test.ts Outdated
@codecov

codecov Bot commented Aug 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.66%. Comparing base (66aca90) to head (2ba81db).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #961      +/-   ##
==========================================
+ Coverage   82.65%   82.66%   +0.01%     
==========================================
  Files          92       92              
  Lines        6249     6249              
  Branches     1769     1769              
==========================================
+ Hits         5165     5166       +1     
  Misses        491      491              
+ Partials      593      592       -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Unit Test Results

  1 files   80 suites   45s ⏱️
845 tests 845 ✅ 0 💤 0 ❌
852 runs  852 ✅ 0 💤 0 ❌

Results for commit 2ba81db.

♻️ This comment has been updated with latest results.

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Aug 9, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Informational

1. Invalid PKCE challenge test ✓ Resolved 🐞 Bug ⚙ Maintainability
Description
The new Claude CIMD regression test sets code_challenge_method=S256 but uses a hard-coded
code_challenge string that is not a valid S256 PKCE challenge. This makes the test rely on
permissive parsing and can break or provide misleading coverage if the authorize endpoint starts
validating PKCE challenges strictly.
Code

packages/worker/src/worker-oauth.test.ts[R942-943]

+		authorizeUrl.searchParams.set("code_challenge", "claude-s256-challenge");
+		authorizeUrl.searchParams.set("code_challenge_method", "S256");
Evidence
The new test hard-codes code_challenge while claiming S256, whereas another test in the same file
derives an S256 challenge from a random verifier using SHA-256, demonstrating the intended/realistic
pattern for PKCE S256 inputs.

packages/worker/src/worker-oauth.test.ts[920-946]
packages/worker/src/worker-oauth.test.ts[971-981]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The Claude CIMD regression test declares `code_challenge_method=S256` but provides a non-S256 PKCE challenge value. This reduces the test’s representativeness and can make it brittle if PKCE validation tightens.
## Issue Context
A nearby test in the same file already generates a standards-shaped PKCE verifier and derives an S256 code challenge via SHA-256 + base64url.
## Fix Focus Areas
- packages/worker/src/worker-oauth.test.ts[920-946]
## Suggested change
In the Claude CIMD test, generate a `verifier` and derive `challenge` the same way as the existing CIMD flow test (SHA-256 then base64url), and use that `challenge` in the authorize URL.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Tip of the day
💡 Did you know, you can ask Qodo to dismiss a finding you disagree with, with your reason on record

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread packages/worker/src/worker-oauth.test.ts Outdated
@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@chrisdoc, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 22 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 103c1c47-f8cc-42e4-88bd-19da62f26a2d

📥 Commits

Reviewing files that changed from the base of the PR and between 9bb012e and 2ba81db.

📒 Files selected for processing (1)
  • packages/worker/src/worker-oauth.test.ts
📝 Walkthrough

Walkthrough

The worker updates @cloudflare/workers-oauth-provider to ^0.10.2, adds a patch Changeset, and tests Claude CIMD metadata containing optional unsupported grant types during an authorization request.

Changes

OAuth CIMD compatibility

Layer / File(s) Summary
OAuth provider compatibility update
package.json, packages/worker/package.json, .changeset/issue-942-cimd-compatibility.md
The root and worker packages update @cloudflare/workers-oauth-provider to ^0.10.2. A patch Changeset records the CIMD compatibility fix.
Claude CIMD regression coverage
packages/worker/src/worker-oauth.test.ts
The test mocks Claude metadata with optional JWT bearer support, sends PKCE, scope, and resource parameters, and verifies consent-page rendering and metadata retrieval.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding Claude CIMD metadata support in the worker.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/issue-942-cimd

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/worker/src/worker-oauth.test.ts`:
- Around line 935-936: Update the fetchMock setup in the OAuth test to validate
requested URLs, rejecting or failing for any URL other than the expected
clientId document. Assert that fetchMock was called with the clientId URL, while
preserving the existing metadata response for the valid request.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 7aa7ce95-a14d-4c6d-bfaf-d99a8e4d0975

📥 Commits

Reviewing files that changed from the base of the PR and between 66aca90 and 9bb012e.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (4)
  • .changeset/issue-942-cimd-compatibility.md
  • package.json
  • packages/worker/package.json
  • packages/worker/src/worker-oauth.test.ts

Comment thread packages/worker/src/worker-oauth.test.ts Outdated
@gitar-bot

gitar-bot Bot commented Aug 9, 2026

Copy link
Copy Markdown
Code Review ✅ Approved 1 resolved / 1 findings

Upgrades the OAuth provider dependency and adds regression coverage to support Claude's CIMD metadata, addressing the stale comment. No issues found.

Auto-approved: No blocking issues found.
Please see Auto-approve Docs for details on setting custom approval criteria.

✅ 1 resolved
Quality: Stale comment contradicts the provider upgrade in this PR

📄 packages/worker/src/worker-oauth.test.ts:950-953
The comment states the test "reproduces issue #942 until the provider is upgraded" and that with 0.10.0 the JWT grant is rejected before consent renders. Since this PR upgrades the provider to 0.10.2, the assertion expect(result.status).toBe(200) is now the passing/fixed behavior, not a reproduction. Update the comment to describe the fixed behavior to avoid confusing future readers into thinking the test is expected to fail.

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source

@chrisdoc
chrisdoc merged commit 9b43bfc into main Aug 9, 2026
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gitar-approved Added by Gitar

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant