Use Case
I have two Claude accounts — a Team (work) account and a Max (personal) account — and I want to track usage for both simultaneously in OpenUsage.
Current Behavior
Each provider is a singleton plugin. The Claude plugin reads from a single credential source (~/.claude/.credentials.json or the Claude Code-credentials keychain entry). There's no way to configure a second instance pointing to a different credential.
Workaround
I duplicated the claude plugin folder as claude-personal, changed the id/name in plugin.json, and pointed plugin.js at a different keychain service (Claude Code-credentials-4b48a25f from a Claude Code profile). This works but:
- Doesn't receive upstream plugin updates
- Requires manual file editing
- New instances get auto-disabled in
settings.json
Proposal
Support multiple instances of the same provider, either through:
- Plugin-level config — Allow
plugin.json to declare configurable fields (e.g. credentialSource) that the user can set in the settings UI
- Instance cloning in the UI — A "Duplicate" option in plugin settings that creates a named copy and lets the user pick which credential/profile to use
- Profile-aware credential discovery — Auto-detect multiple Claude Code profiles from the keychain (entries matching
Claude Code-credentials-*) and show each as a separate instance
Option 3 would be the most seamless UX — zero config for users who already have multiple Claude Code profiles.
This likely applies to other providers too (e.g. multiple Cursor workspaces, multiple Copilot orgs).
Use Case
I have two Claude accounts — a Team (work) account and a Max (personal) account — and I want to track usage for both simultaneously in OpenUsage.
Current Behavior
Each provider is a singleton plugin. The Claude plugin reads from a single credential source (
~/.claude/.credentials.jsonor theClaude Code-credentialskeychain entry). There's no way to configure a second instance pointing to a different credential.Workaround
I duplicated the
claudeplugin folder asclaude-personal, changed theid/nameinplugin.json, and pointedplugin.jsat a different keychain service (Claude Code-credentials-4b48a25ffrom a Claude Code profile). This works but:settings.jsonProposal
Support multiple instances of the same provider, either through:
plugin.jsonto declare configurable fields (e.g.credentialSource) that the user can set in the settings UIClaude Code-credentials-*) and show each as a separate instanceOption 3 would be the most seamless UX — zero config for users who already have multiple Claude Code profiles.
This likely applies to other providers too (e.g. multiple Cursor workspaces, multiple Copilot orgs).