Repository navigation
fix(model-gateway): authenticate the GitHub release lookup in setup - #718
Merged
Merged
Conversation
setup looked up the latest claude-code-proxy release anonymously. Anonymous GitHub API calls share 60 an hour per IP address, so on a machine running several agents setup (and update.js / update-toolshed) failed with a bare "GitHub API returned 403" although a working gh login was available. - lib/github-release.js: token from GH_TOKEN, then GITHUB_TOKEN, then `gh auth token --hostname github.com` (5 s timeout, no shell); falls back to anonymous. The token is sent only as a bearer header on the API call. A 403/429 refusal names the rate limit and the fix; no message carries the token. - fetchUrl drops Authorization when a redirect leaves the original host. - SKILL.md and the getting-started page describe the token sources and what an anonymous 403 means. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Compare redirect origins (scheme, host and port), not hosts, so a downgrade to http on the same host also drops Authorization. Pin it with a test that fails on the host comparison. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Eigenwise
pushed a commit
that referenced
this pull request
Nov 9, 2026
Eigenwise
pushed a commit
that referenced
this pull request
Nov 9, 2026
Owner
unifirer
pushed a commit
to unifirer/eigenwise-toolshed
that referenced
this pull request
Nov 10, 2026
unifirer
pushed a commit
to unifirer/eigenwise-toolshed
that referenced
this pull request
Nov 10, 2026
…lease lookup (patch) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
unifirer
pushed a commit
to unifirer/eigenwise-toolshed
that referenced
this pull request
Nov 10, 2026
…ster 1.1.0, sidequest 6.9.0, repository (EigenwiseGH-681, EigenwiseGH-718, EigenwiseGH-782, SQ-3441, SQ-3442, SQ-3512, SQ-3830, SQ-3993, SQ-4024, SQ-4025, SQ-4032, SQ-4043, SQ-4046, SQ-4049, SQ-4057, SQ-4069, SQ-4078, SQ-4080, SQ-4083, SQ-4084, SQ-4085, SQ-4086, SQ-4087, SQ-4089, SQ-4092, SQ-4093)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
setup(and soupdate.jsand/quartermaster:update-toolshed) looked up the latest claude-code-proxy release with an anonymous GitHub API call. Anonymous calls share 60 an hour per IP address, so a machine running several agents fails setup with a bareGitHub API returned 403, even when a workingghlogin is available.SKILL.md and
getting-started/model-gateway.mddescribe the token sources and what an anonymous 403 means.Evidence
curl -D - https://api.github.com/repos/raine/claude-code-proxy/releases/latestshowedx-ratelimit-remaining: 0, and setup died with "GitHub API returned 403". Six minutes after a reset, the anonymous allowance was already down to 21 of 60.x-ratelimit-limit: 5000.test/github-release.test.jshas 10 cases, all passing, with 100% line, 96.55% branch and 100% function coverage oflib/github-release.js.gateway-drain,gateway-process-isolation,wiring-mode) fail the same tests on untouchedorigin/develop65d5e20: 10 failures on both trees.redirectRequestscores 2.setup's complexity fell.Release fragment
No board ref. The fragment needs a maintainer-assigned ref (CONTRIBUTING, "Release fragment"). Suggested:
--plugins model-gateway --bump patch.Merge Danger
Door: two-way
With no token available, behaviour is unchanged. With a token, only the release lookup is authenticated.
Blast Radius: setup/update
Only
setup's release lookup, and redirect handling infetchUrl, change. Inference requests are untouched.🤖 Generated with Claude Code