1/login
/login command/login in any project channel. Kimaki walks you through a short flow:/login │ ▼ ┌──────────┐ ┌──────────────┐ ┌───────────────────────────┐ │ provider │ ───▶ │ method │ ───▶ │ API key modal, or │ │ │ │ (key, OAuth, │ │ OAuth link + code / check │ │ │ │ saved login)│ │ │ └──────────┘ └──────────────┘ └───────────────────────────┘
/login. Logins are secrets of the whole bot.opencode auth login) already works in Discord, and a login from Discord works in the TUI.| Provider | OAuth method | Notes |
| Anthropic | Claude Pro/Max (browser) or (headless) | Added by the kimaki-anthropic plugin that Kimaki installs into OpenCode. Works in the TUI too. Browser finishes by itself through the localhost:53692 callback. Headless is for a browser on another machine: paste the URL of the last page. Use headless from Discord when the bot runs on another computer. |
| OpenAI | ChatGPT Pro/Plus | Built into OpenCode. |
/model.kimaki-anthropic plugin also works in plain OpenCode, with no bot running. List its folder in your global ~/.config/opencode/opencode.json:123{ "plugins": ["/path/to/node_modules/kimaki/dist/plugin/anthropic"] }
npm root -g (add /kimaki/dist/plugin/anthropic). OpenCode only accepts folders in plugins, not files.plugins/kimaki-anthropic/ shim, so the plugin is loaded once./login again to add another one. To switch, run /login, pick the provider, and choose Activate <label>.@kimaki/plugin-fallback OpenCode plugin:12345678910{ "plugins": [ { "package": "@kimaki/plugin-fallback", "options": { "models": ["anthropic/claude-opus-5-5", "openai/gpt-6-sol#high"] } } ] }
kimaki login runs the same flow through the running bot, one step per call:123456789101112# list the login methods of a provider kimaki login anthropic # connect with an API key kimaki login openai --key sk-... # start a headless OAuth login, then complete it with the pasted callback URL kimaki login anthropic --method claude-pro-max-headless kimaki login anthropic --attempt <attemptId> --code '<callback url>' # activate, remove, or label a saved login kimaki login credential <credentialId> --operation activate
/login, or pass --key to kimaki login. To set the default model for every session, use your opencode.json:123{ "model": "anthropic/claude-sonnet-4-5" }
provider/model, for example openai/gpt-5.3-codex or google/gemini-3-pro-preview.