JSPM

  • Created
  • Published
  • Downloads 1642
  • Score
    100M100P100Q110622F
  • License MIT

OpenCode plugin for Anthropic multi-account management with automatic rate limit switching

Package Exports

  • opencode-anthropic-multi-account

Readme

opencode-anthropic-multi-account

OpenCode plugin for multi-account Claude OAuth. It runs inside OpenCode and does not launch kyoli serve.

Use this package for OpenCode Plugin Mode. Use Server Mode (kyoli serve + kyoli install opencode) when the same account pool should also serve Codex CLI, SDK clients, or a dashboard.

Install

Add the plugin to ~/.config/opencode/opencode.json:

{
  "plugin": ["opencode-anthropic-multi-account@latest"]
}

If plugin already exists, append this package to the existing array.

Then use OpenCode's normal auth flow:

opencode auth login

Choose the Claude/Anthropic multi-auth OAuth method. Run the same command again to add more Claude accounts or open the account management menu.

What it does

  • Uses OpenCode's built-in anthropic provider.
  • Stores accounts under OpenCode's config directory.
  • Rotates accounts on auth/rate-limit failures.
  • Refreshes tokens before expiry.
  • Keeps routing sticky by default for prompt-cache-heavy sessions.

Tool policy

Claude tool handling is OpenCode-first:

  • preserve incoming OpenCode tools when present;
  • use Claude Code template tools only when OpenCode sends no tools;
  • fill missing input_schema from the template only when tool counts match;
  • do not remap unknown OpenCode/custom tools onto Claude Code fallback tools.

This is an internal compatibility policy, not a third user-facing mode.

Server Mode migration

kyoli accounts import opencode --dry-run --provider claude-code
kyoli accounts import opencode --provider claude-code
kyoli install opencode

Do not keep this plugin enabled for Anthropic while also routing Anthropic through kyoli install opencode, unless you are intentionally comparing both paths.

Checks

No-live contract:

pnpm --filter opencode-anthropic-multi-account test:contract:native

Full package checks:

pnpm --filter opencode-anthropic-multi-account typecheck
pnpm --filter opencode-anthropic-multi-account test
pnpm --filter opencode-anthropic-multi-account build

Opt-in live acceptance:

KYOLI_ENABLE_LIVE_OPENCODE_CLAUDE_NATIVE=1 \
KYOLI_CLAUDE_ALLOW_LIVE_MESSAGES=1 \
pnpm --filter opencode-anthropic-multi-account test:live:opencode-claude-native