npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@magpie-community/opencode-commandcode-auth

v0.1.12

Published

Command Code plans (Pro, GOAT, Max, Ultra, Go, Teams) in OpenCode and magpie

Readme

@magpie-community/opencode-commandcode-auth

Signs in to a Command Code plan (Pro, GOAT, Max, Ultra, Go, Teams Pro) and makes its requests, in OpenCode and in magpie. Provider id: commandcode-plan.

Signing in

An account is a Command Code API key. There are three ways to get one:

  • Command Code (browser): the CLI's own sign-in. Studio asks you to approve a key for this machine, then posts it to a callback on 127.0.0.1. The plugin checks the key with /alpha/whoami and reads the plan.
  • Command Code CLI's sign-in: takes the account commandcode login signed in to, from ~/.commandcode/auth.json. The file is only read, never changed.
  • API key: paste a key from commandcode.ai/settings/keys.

The key is kept where OpenCode keeps sign-ins (auth.json; in magpie, plugin-auth.json) as { "type": "api", "key", "metadata": { "email": <user>, "plan" } }. Keys don't expire, so there is nothing to refresh.

Requests

  • Every plan but Go uses the Provider API at https://api.commandcode.ai/provider/v1. Every request carries the key as both Authorization: Bearer and x-api-key.
    • Claude models speak Anthropic's Messages API.
    • The other models speak chat completions.
  • Go has no Provider API access. Its key is only accepted where the CLI asks, POST /alpha/generate, in the CLI's own format (command-code 1.72.2 and its headers). The plugin's fetch handles this:
    • It turns OpenCode's chat completion into that format.
    • It turns the line-by-line reply back into a chat completion, streamed or not.
    • Failures keep their statuses: a model the plan lacks is a 403, running out of credits is a 402, and a usage-window limit is a 429.
    • A reply that stops before its finish line is a 502, unless it was streamed and had already said something. Then it ends cut short, with a note saying so, and [DONE] (#91).

The plan is read from /alpha/billing/subscriptions. It is cached for 10 minutes; after a failed read, the plugin tries again after 1 minute. When the plan isn't known yet and the Provider API refuses the key with "Your Go plan doesn't include API access", the key is taken as Go's from then on (and saved so with it), and a chat completion is sent again to /alpha/generate.

Models

The config hook declares the default list:

| Model | Context window | |---|---| | Claude Sonnet 5 | 1M | | Claude Opus 5.5 | 1M | | GPT-6 Sol | 1.05M | | DeepSeek V4 Pro | 1M | | DeepSeek V4 Flash | 1M | | Kimi K3 | 1M | | GLM-5.3 | 1M | | MiniMax M3 | 1M |

Once signed in, the provider.models hook replaces the default list with the account's own:

Command Code's /models list is the same for every plan. A plan's list is that list less the models the plan may not use, as the CLI's own table (command-code 1.79.2) has it:

  • Go and GOAT may not use the premium models (Claude Sonnet 5 and Opus, GPT-6 Sol, GPT-5.6 Terra, …). Go is also blocked from GOAT's own (Claude Sonnet 5.5 and Haiku 5.5, GPT-5.6 Sol, Grok 4.6 and 4.7, …).
  • Pro may not use Claude Opus and Fable, GPT-6 Astra, GPT-6.1 Sol and Fugu Ultra; Provider may not use GPT-6.1 Sol.
  • Max, Ultra and Teams Pro may use every model.

An account with bought or free credits may use every model, and so may one whose plan can't be read: then the whole list is shown. A model the plan doesn't have is still refused by Command Code (403 MODEL_NOT_IN_PLAN), and that refusal reaches the agent.

  • Every plan but Go: the Provider API's /models list. Each model's supported_endpoints picks the API it speaks.

  • Go: the same /models list, asked without the key (it answers without one, and Go's key has no Provider API). That is 56 models as of 2026-10-13. When the list can't be had, the CLI's own Go table (57 models) stands in.

    The Go models carry their reasoning levels, and a requested level is fitted to the nearest one the model has.

The /models list doesn't say which models take images. A model is marked as taking them when it is a Claude model, or when the default list or the CLI's table says so. For any other model the plugin says nothing either way, and magpie answers from models.dev, as its built-in did.

Not included

  • Usage and quota (/alpha/billing/credits, the 5-hour and weekly windows).
  • Switching between several accounts. OpenCode keeps one sign-in per provider.