Crush
Install and authenticate Charm's Crush inside Daintree, including provider env vars and why Daintree does not resume Crush sessions.
Crush
Crush is Charm's terminal-native agent, built on the Bubble Tea TUI framework. It runs as a process in its own Daintree terminal panel with full PTY emulation, like every other built-in agent.
| Command | crush |
|---|---|
| Shortcut | — (assignable in Keyboard settings) |
| Rendering | Alt-screen, always — Bubble Tea needs it to draw at all |
| Resume | None. Daintree captures no session ID for Crush |
| Quit command | — (no slash-quit; Daintree closes the process) |
| Permission bypass | --yolo |
| Platforms | Daintree ships install commands for macOS and Linux |
Install & Authenticate
brew install charmbracelet/tap/crush
# or
go install github.com/charmbracelet/crush@latestDaintree carries no built-in Windows install command for Crush. Charm does publish Windows builds — winget install charmbracelet.crush or npm install -g @charmland/crush — and Daintree will detect the binary once it's on PATH.
brew install charmbracelet/tap/crush
# or
go install github.com/charmbracelet/crush@latestAuthenticate by editing ~/.config/crush/crush.json, or set ANTHROPIC_API_KEY, OPENAI_API_KEY, or GOOGLE_API_KEY in your environment — Daintree accepts either as proof of auth. Daintree also sets CRUSH_DISABLE_PROVIDER_AUTO_UPDATE=1 on launch so Crush doesn't race a provider-catalog download every time a panel opens.
Resuming Sessions
Daintree does not resume Crush. Crush has no slash-quit command, and Ctrl+C opens a confirmation dialog rather than exiting, so there is no clean shutdown moment at which a session ID could be captured — the agent registry therefore declares no resume path and every launch starts fresh. Crush's own --continue flag is not part of its stable CLI surface yet; when it is, this changes.
What Daintree still keeps is the panel: scrollback is serialized to disk and replayed on restart, and the panel's position in the grid survives a project switch. See Session Management for what persists.
Launch flags, custom presets and display titles are covered in Agent Presets. What the working, waiting and exited badges on a running agent mean is covered in Agent States.
crush isn't detected after install, confirm it's on your PATH, then restart Daintree. A go install build lands in ~/go/bin, which isn't on PATH for a GUI-launched process — Daintree probes that path directly for exactly that reason.