fix(shell): keep Cursor on agent and Grok on grok

Grok's installer prepends ~/.grok/bin and steals ~/.local/bin/agent.
easyzsh already shims `grok`; claim `agent` for Cursor and drop the
vendor bin from PATH so a later Grok upgrade cannot shadow it.
This commit is contained in:
Frank Qing
2026-08-13 17:36:56 +08:00
parent e41d2b6e93
commit 82c6a57c3a
5 changed files with 77 additions and 6 deletions
+6 -2
View File
@@ -39,13 +39,17 @@ From a git checkout (shell stubs only):
| `~/.config/zsh/*.zsh` | Always-on tool fragments (e.g. `fnm.zsh`) | Left alone (via `patch.sh`) |
| `~/.config/zsh/local.zsh` | Machine-local overrides (every zsh, including agents) | **Never overwritten** |
| `~/.config/zshrc/*.zsh` | Personal/tool overlays before oh-my-zsh (interactive) | Left alone |
| `~/.local/bin/` | User tools + shims (e.g. `grok``~/.grok/bin/grok`) | Left alone |
| `~/.local/bin/` | User tools + shims (`grok`Grok CLI; `agent` → Cursor when installed) | Left alone except those two shims |
Core deploy does not manage `~/.zprofile`. The pyenv add-on appends one login
hook so macOS `path_helper` cannot outrank pyenv shims. Put other machine hooks
in `local.zsh`.
Do **not** put `~/.grok/bin` on PATH wholesale.
Do **not** put `~/.grok/bin` on PATH. That tree ships an `agent` that shadows
Cursor. Grok is the `grok` command (`~/.local/bin/grok`). Cursor is `agent`
and `cursor-agent`. Deploy and `.zshenv` retarget a Grok-stolen
`~/.local/bin/agent`; `.zshrc` drops `~/.grok/bin` again if a Grok upgrade
prepends it.
```bash
# ~/.config/zsh/local.zsh