---
description: ModelSwitcher management hub. Shows all available commands, current provider status, and key configuration. Use when the user invokes /swisher with no subcommand, or /swisher:help.
disable-model-invocation: true
allowed-tools: Bash(node *)
---

Run the status command to gather current state:

!`node "${CLAUDE_PLUGIN_ROOT}/scripts/swisher.mjs" status --json`

Then reply with a well-formatted overview:

```
## ModelSwitcher — Provider Manager for Claude Code

Swisher lets you switch Claude Code between AI model providers:
• Anthropic (default) — claude.ai/account
• Z.ai GLM — GLM-4.7 (200K context) / GLM-4.5-air (128K context)
• MiniMax — minimax-m2.7 (204K context) / minimax-m2.7-highspeed

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Provider
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Active:    {activeProvider ?? "none"} → {detectedProvider}
Settings:  {settingsPath}
State:     {statePresent ? "present" : "not initialized"}
Snapshot:  {snapshotPresent ? "saved" : "none"}

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
API Key Status
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Z.ai GLM Key:   {relevantKeyName === "zai_api_key" ? (relevantKeyConfigured ? "✅ configured" : "❌ missing") : "—"}
MiniMax Key:    {relevantKeyName === "minimax_api_key" ? (relevantKeyConfigured ? "✅ configured" : "❌ missing") : "—"}
```

Then provide a **Commands Reference** section:

**Quick Switch**
- `/swisher:anthropic` — Restore Anthropic auth (default)
- `/swisher:glm` — Switch to Z.ai GLM
- `/swisher:minimax` — Switch to MiniMax M2.7

**Management**
- `/swisher:status` — Detailed status report
- `/swisher:cleanup` — Remove plugin and restore original settings

**Configuration** (one-time setup in Claude Code settings → Plugins → Swisher)
- `zai_api_key` — Z.ai GLM Coding Plan key
- `minimax_api_key` — MiniMax API key
- `minimax_base_url` — (optional) MiniMax endpoint override

If no keys are configured, tell the user to run `/swisher:status` first to see which key is needed, then configure it in Claude Code plugin settings.
