Skip to content
    ↑↓ select↵ openesc close
    magpie-community

    Grok Auth

    @magpie-community/opencode-grok-auth·v0.1.6·Auth & Credentials

    OpenCode provider plugin: Grok (SuperGrok / X Premium+) through the Grok Build CLI's sign-in

    GitHub stars

    5

    +4 in 30 days

    Monthly installs

    1,785

    1.8k in 7 days

    Composite score

    51.1

    Multi-signal model

    Last commit

    46 minutes ago

    2026-10-05

    Install and configure

    opencode.json

    Writes to this project's opencode.json — applies to this repository only.

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["@magpie-community/opencode-grok-auth@0.1.6"]
    }

    OpenCode loads npm dependencies through its embedded runtime on startup and caches them locally — no manual global install needed.

    OpenCode provider plugins for coding-plan subscriptions, maintained by the community. Each package signs in to one subscription and makes its requests. The packages work in OpenCode and in magpie, which runs OpenCode's provider plugins.

    Package Signs in to Provider id
    cline Cline (cline.bot): usage-billed models, ClinePass's and Cline's free ones, with Cline's device sign-in or an API key cline
    commandcode Command Code plans (Pro, GOAT, Max, Ultra, Go, Teams Pro) commandcode-plan
    cursor Cursor subscriptions (Pro, Pro+, Ultra, Teams), on the API cursor-agent talks to cursor
    devin Devin subscription (the devin CLI's account) devin
    factory Factory (Droid) subscription factory
    grok Grok (SuperGrok / X Premium+), through the Grok Build CLI's sign-in grok
    kiro Kiro (Free, Pro, Pro+, Power), with Kiro's sign-in, kiro-cli's or the IDE's, or an API key kiro
    minimax MiniMax Code (China): account credits and M Plan, with MiniMax Code's device sign-in minimax-code
    minimax MiniMax Code (international): account credits and M Plan, with MiniMax Code's device sign-in minimax-code-global
    mimo Xiaomi MiMo, with a Xiaomi account mimo-app
    qoder Qoder subscription (qoder.com), with Qoder's device sign-in qoder
    qoder Qoder CN subscription (qoder.cn), with Qoder CN's device sign-in qoder-cn
    trae Trae CN (trae.cn) and Trae international (trae.ai), free tier included, with Trae's browser sign-in (experimental) trae-cn, trae-global
    workbuddy WorkBuddy (China build, CodeBuddy plan) workbuddy
    workbuddy WorkBuddy (international build) workbuddy-ai
    zcode ZCode: Z.ai / BigModel (智谱) GLM Coding Plan, team seats, Start Plan zcode
    zed Zed (Pro, Pro Trial, Student, Business): Anthropic, OpenAI, Google and xAI models hosted by Zed zed

    Use

    magpie:

    magpie plugin add @magpie-community/opencode-<name>-auth
    magpie plugin login <provider id>
    

    In the app, the Plugins tab lists these packages: install one there, then sign in.

    OpenCode, in opencode.json:

    { "plugin": ["@magpie-community/opencode-<name>-auth"] }
    

    then opencode auth login.

    Writing a package

    Each package is a folder under packages/<name>/:

    • package.json
      • name: @magpie-community/opencode-<name>-auth
      • "type": "module", "main": "./index.mjs"
      • version, "license": "MIT"
      • no runtime dependencies unless one is really needed. Bun's and Node's fetch, crypto and fs usually cover it.
    • index.mjs
      • Exports one async plugin function, as OpenCode's Plugin type describes.
      • Returns an auth hook: { provider, loader, methods }.
        • A browser sign-in is { type: "oauth", label, prompts?, authorize }. authorize returns { url, instructions, method: "auto" | "code", callback }.
        • A key is { type: "api", label }.
        • loader(getAuth, provider) returns what the AI SDK is given: baseURL, apiKey, headers and a fetch that signs each request and refreshes the token (saving it with client.auth.set).
      • A provider that models.dev doesn't list is declared in a config hook that sets config.provider[<id>] = { name, npm, api, models }. The npm field names the AI SDK package the models speak: @ai-sdk/openai-compatible (chat completions), @ai-sdk/openai (Responses) or @ai-sdk/anthropic (Messages).
      • A list the account decides goes in the provider: { id, models(provider, { auth }) } hook.
    • README.md: what the package signs in to, how, where the sign-in is kept, and the models.

    The provider id is the one magpie's built-in subscription has (grok, zcode, workbuddy, commandcode-plan, …). While magpie still has the built-in, the plugin's provider shows as <id>-plugin. Once the built-in is gone, it takes over the same id, so an agent set to <id>/<model> keeps working.

    Checking a package

    bun scripts/check.mjs [<name>]        # loads each plugin and checks its hooks; signs in to nothing
    MAGPIE=/path/to/magpie scripts/try.sh <name> [login <id> | provider test <id>-plugin]
    

    try.sh runs magpie in a sandbox HOME (.sandbox/<name>), so your own magpie, agents and sign-ins are left alone.

    License

    MIT

    The market

    registry.json is the list magpie's Plugins tab shows. The packages here come first, then other OpenCode provider plugins worth knowing. magpie fetches it every few hours and keeps a copy built into the app for when it can't. To list a plugin, add an entry with its npm package, a name, providers (the provider ids it signs in to), an icon and a summary in English and Chinese ({"en": …, "zh": …}), and open a pull request.

    Similar plugins