Appendix
E. Migrating from Grok Build
This product is **Matcha CLI**. Grok Build names are compatibility only. xAI is an optional third-party Provider, not a MatchaCode account, and not the product.
Related: Names, paths, and providers; Configure a Provider (BYOK).
What stays compatible
| Surface | Matcha name | Compatibility |
|---|---|---|
| CLI | matcha | grok shim: same binary, deprecation warning on stderr only. Historical agent argv0 still parses and does not warn |
| Home | ~/.matcha (MATCHA_HOME) | If ~/.grok exists, first launch copy-migrates recoverable files (journaled, idempotent) and does not delete ~/.grok |
| Project dir | .matcha/ | .grok/ is read and migrated; conflicting files are not silently merged |
| Environment | MATCHA_* | Registered GROK_* names work when the Matcha name is unset. If both are set, Matcha wins and a diagnostic names the variables, not their values |
| Themes | MatchaNight / MatchaDay | groknight / grokday still load |
| Policy window | — | Shim, registered GROK_*, and read-only ~/.grok discovery remain at least two Matcha CLI stable releases or 6 months, whichever is longer |
Credentials
| Do | Do not |
|---|---|
matcha login --provider xai (or openai, anthropic, openai_compatible, ollama) | Treat an old xAI token as a MatchaCode account |
| Import an old xAI key only as xAI Provider credentials | Run matcha login --oauth / --device-auth |
Prefer MATCHA_*; leave GROK_* as read-only fallback | Rewrite grok / xai strings wholesale in config |
Conflict and deprecation diagnostics never print secret values.
matcha login --provider xaiWhat not to expect after migrating
- No grok.com / SuperGrok / device-code chrome on first launch.
- No MatchaCode account, OAuth, billing, telemetry, plugin marketplace, or product cloud. See Appendix A.
- Uninstalling Matcha CLI does not remove
~/.grok. That directory belongs to the previous product. matcha doctorreports leftover Grok leader sockets, locks, and crash dumps as identify-only.
How the names work
- Display name Matcha CLI, command
matcha. New writes go toMATCHA_*,~/.matcha,.matcha/. - Compatibility is new-name-first, old-name read-only. Migration is idempotent and recoverable; old data is never auto-deleted.
- xAI / Grok are contacted only when you explicitly choose the xAI Provider.
- Do not do an unclassified replace-all of
grok,xai,GROK_*,XAI_*, orx.ai/*. Product brand, Provider ids, legal text, old fixtures, and protocol fields are different things.