Repository navigation
Stop exposing pooled accounts via /me/usage and serve the maintained status line - #2
Open
rayan-mazouz wants to merge 4 commits into
Open
rayan-mazouz wants to merge 4 commits into
rayan-mazouz wants to merge 4 commits into
Conversation
/me/usage is authenticated by any proxy user's API key, but its pool block listed every active account's id, label, and login email. That told every key holder which Anthropic logins back the pool. No client reads the per-account list (the status line uses only the pool aggregates, and the dashboard uses the admin accounts endpoints), so remove it.
The backend served backend/clients/claude-code-statusline.sh, the copy the agent installation guide downloads, but fixes had only been applied to the unreferenced duplicate under clients/: it lacked the atomic cache write (so an outage erased the last good pool value) and the base-URL handling for /api and /api/v1 bases. Keep one copy, the maintained version, where the backend serves it.
The status line caches /me/usage responses and git state in the shared temp directory under predictable names, created with the default umask and therefore readable by other local users. Create them with umask 077.
The dashboard's install commands use frontend/public/install.sh and install.ps1. Nothing referenced the separate /clients/install.sh route served by the backend, which had drifted from the public installer.
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
This tightens what proxy-key holders can see and fixes the status line script that clients actually download.
Commits
/me/usageis authenticated by any proxy user's API key, butpool.accountslisted every active account'sid,labeland login email. That gave every key holder the Anthropic logins behind the pool. Nothing reads the per-account list: the status line uses only the pool aggregates, the dashboard uses the admin/v1/accountsendpoints, and the menu-bar app doesn't call/me/usage. So the list is removed, and the pool aggregates are unchanged./v1/clients/claude-code-statusline.sh, whichINSTALLATION_AGENTS.mdtells agents to download, servedbackend/clients/claude-code-statusline.sh. Fixes had only been applied to the unreferenced duplicate inclients/, so the served copy lacked the atomic cache write (an outage erased the last good value) and the/api//api/v1base-URL handling. Now there is one copy, the maintained one, in the location the backend serves.umask 077.frontend/public/install.sh/install.ps1, and nothing referenced the backend's/v1/clients/install.sh, which had drifted from them.Testing
/me/usageno longer includesaccounts.umask.