Terminal-based agentic AI coding assistant from Charm that works with many LLM providers, uses LSP and MCP for context, manages per-project sessions, and asks permission before running tools by default.
by Charm · submitted by JPette1783·added 2026-06-05·
Crush executes tools and commands; by default it asks for permission before each tool call., The --yolo flag skips all permission prompts; the project warns to be very careful with it, so avoid it on untrusted work., The crush.json config is trusted code — any $(...) in it runs at load time with your shell's privileges, so review config files before use., LSP and MCP servers can read your codebase and influence agent behavior; only connect servers you trust.
Privacy notes
Your code context and prompts are transmitted to the LLM provider you configure., API keys are read from environment variables or config files and sent to the configured provider; store them as secrets., Crush records pseudonymous usage metrics tied to a device-specific hash; prompts and responses are never collected. Opt out with CRUSH_DISABLE_METRICS=1 or DO_NOT_TRACK=1.
Author
Charm
Submitted by
JPette1783
Claim status
unclaimed
Last verified
2026-06-05
Decision playbook
Review trust signals before you adopt
Signals are present but mixed. Use the checklist below to confirm the source and operational safety for your environment.
Compare context
Selected
0
Current score
63
Baseline
—
Delta
No baseline selected
No major trust-signal divergence detected in the current selection.
Source and provenance checks
Needs review
Confirm ownership and provenance before trusting install instructions.
Source link availableRequired
Open the canonical repository and verify ownership.
Done
Source provenance statusRequired
Marked as source-backed.
Done
Metadata reviewed
No reviewed flag detected in metadata.
Pending
Safety and privacy checks
Complete
Validate risk disclosures before installation or API wiring.
Safety notes presentRequired
Review the listed safety guidance before running commands.
Done
Privacy notes presentRequired
Review data handling notes before connecting accounts or secrets.
Done
Trust level risk gateRequired
Trust level does not block evaluation.
Done
Package and install checks
Needs review
Check package metadata and artifact integrity signals.
Install payload available
Install or copy payload is available for review.
Done
Package verification flag
No package verification flag provided.
Pending
Checksum metadata
No checksum provided for downloaded artifact.
Pending
Compare-driven decision checks
Needs review
Use compare context to validate trade-offs before adoption.
Compare tray has multiple entries
Add at least one more entry to compare trust differences.
4 safety and 3 privacy notes across 6 risk areas. Review closely: credentials & tokens, permissions & scopes, third-party handling.
6 areas
SafetyPermissions & scopesCrush executes tools and commands; by default it asks for permission before each tool call.
SafetyPermissions & scopesThe --yolo flag skips all permission prompts; the project warns to be very careful with it, so avoid it on untrusted work.
SafetyLocal filesThe crush.json config is trusted code — any $(...) in it runs at load time with your shell's privileges, so review config files before use.
SafetyGeneralLSP and MCP servers can read your codebase and influence agent behavior; only connect servers you trust.
PrivacyThird-party handlingYour code context and prompts are transmitted to the LLM provider you configure.
PrivacyCredentials & tokensAPI keys are read from environment variables or config files and sent to the configured provider; store them as secrets.
PrivacyTelemetryCrush records pseudonymous usage metrics tied to a device-specific hash; prompts and responses are never collected. Opt out with CRUSH_DISABLE_METRICS=1 or DO_NOT_TRACK=1.
Disclosure: editorial
Safety notes
Crush executes tools and commands; by default it asks for permission before each tool call.
The --yolo flag skips all permission prompts; the project warns to be very careful with it, so avoid it on untrusted work.
The crush.json config is trusted code — any $(...) in it runs at load time with your shell's privileges, so review config files before use.
LSP and MCP servers can read your codebase and influence agent behavior; only connect servers you trust.
Privacy notes
Your code context and prompts are transmitted to the LLM provider you configure.
API keys are read from environment variables or config files and sent to the configured provider; store them as secrets.
Crush records pseudonymous usage metrics tied to a device-specific hash; prompts and responses are never collected. Opt out with CRUSH_DISABLE_METRICS=1 or DO_NOT_TRACK=1.
Prerequisites
An API key from a supported LLM provider such as Anthropic, OpenAI, or a compatible API.
A supported terminal on macOS, Linux, Windows (PowerShell or WSL), or BSD.
On Linux/BSD, clipboard helpers (wl-copy/wl-paste for Wayland or xclip/xsel for X11) for clipboard features.
# Homebrew
brew install charmbracelet/tap/crush
# npm
npm install -g @charmland/crush
# Go
go install github.com/charmbracelet/crush@latest
About this resource
Overview
Crush is a terminal-based agentic AI coding assistant from Charm — "glamourous
agentic coding for all." It bridges your terminal, your code, and the LLM of
your choice, analyzing your codebase, using LSP for context, and collaborating
on coding tasks directly in the terminal.
It is written in Go and released under the Functional Source License
(FSL-1.1-MIT): the source is public and free to use, and converts to MIT over
time. You bring your own LLM provider API key.
Features
Multi-model support: choose among many LLMs or integrate custom OpenAI- or
Anthropic-compatible APIs.
Per-project session management with preserved context.
LSP integration for additional code context.
MCP support over stdio, HTTP, and SSE transports.
Broad cross-platform terminal support, including Windows and BSD.
Agent Skills open-standard support for extending capabilities.
Use Cases
Drive an AI coding agent without leaving the terminal.
Use your preferred LLM provider or a self-hosted compatible API.
Extend the agent with MCP servers and LSP-backed context.
Keep separate sessions per project with retained context.
Installation
# Homebrew
brew install charmbracelet/tap/crush
# npm
npm install -g @charmland/crush
# Go
go install github.com/charmbracelet/crush@latest
Disclosure
Editorial listing. No paid placement or affiliate relationship. Crush is
source-available under FSL-1.1-MIT; using it requires your own paid or free LLM
provider access.
Terminal-based agentic AI coding assistant from Charm that works with many LLM providers, uses LSP and MCP for context, manages per-project sessions, and asks permission before running tools by default.
Lightweight, open-source coding agent from OpenAI that runs in your terminal, edits and runs code locally with configurable sandbox and approval modes, and authenticates with a ChatGPT plan or API key.
Google's open-source terminal AI agent for Gemini-powered coding and automation, with code understanding, file edits, shell commands, web fetching, Google Search grounding, MCP server integrations, checkpointing, GEMINI.md context files, and GitHub workflow automation.
✓Crush executes tools and commands; by default it asks for permission before each tool call.
The --yolo flag skips all permission prompts; the project warns to be very careful with it, so avoid it on untrusted work.
The crush.json config is trusted code — any $(...) in it runs at load time with your shell's privileges, so review config files before use.
LSP and MCP servers can read your codebase and influence agent behavior; only connect servers you trust.
✓Codex CLI runs as a local agent that can edit files and execute commands on your machine.
It supports configurable sandbox and approval modes; keep approvals enabled and review proposed actions before allowing them.
Lowering approval or sandbox restrictions lets the agent act more autonomously, increasing the risk of unintended changes.
Review generated code and commands before running them against important repositories or systems.
✓Gemini CLI can read and edit local files, run shell commands, fetch web content, use Google Search grounding, and call configured MCP servers; keep it inside version-controlled workspaces and review high-impact actions.
MCP integrations can expose databases, SaaS accounts, browsers, cloud resources, files, or internal APIs to the agent; apply least privilege and approval gates per server.
Preview and nightly release channels may contain regressions or unvetted changes; use stable releases for shared or production workflows unless testing intentionally.
Non-interactive scripting can run without the same operator attention as an interactive session; constrain prompts, output parsing, credentials, and command permissions.
GitHub workflow automation through Gemini CLI should be reviewed like any other code-review or issue-triage automation before granting repository permissions.
✓OpenCode is an agent that reads, edits, and can run code in your local repository; review proposed changes and run it in version-controlled projects.
Privacy notes
✓Your code context and prompts are transmitted to the LLM provider you configure.
API keys are read from environment variables or config files and sent to the configured provider; store them as secrets.
Crush records pseudonymous usage metrics tied to a device-specific hash; prompts and responses are never collected. Opt out with CRUSH_DISABLE_METRICS=1 or DO_NOT_TRACK=1.
✓Code and prompts are sent to OpenAI to power the agent under your ChatGPT plan or API key.
Data handling follows OpenAI's policies for the plan or API you authenticate with; review them before processing sensitive code.
API keys and account credentials should be stored securely and never committed to source control.
✓Prompts, selected source files, GEMINI.md context, shell output, web fetches, MCP tool arguments, MCP tool results, checkpoints, and command output may be sent through the configured Gemini or Vertex AI route.
Keep API keys, Google Cloud project IDs, service credentials, private paths, customer data, and internal code out of prompts, logs, shared terminal output, and public issues.
Google account, Gemini API, Vertex AI, retention, quota, telemetry, and billing behavior depend on the selected authentication mode and organizational settings.
MCP server logs, Gemini CLI logs, terminal history, GitHub workflow logs, and generated artifacts can retain sensitive code or operational context.
✓OpenCode sends your code, prompts, and file context to the configured LLM provider to plan and apply edits; choose providers deliberately and keep secrets out of shared context.
Prerequisites
An API key from a supported LLM provider such as Anthropic, OpenAI, or a compatible API.
A supported terminal on macOS, Linux, Windows (PowerShell or WSL), or BSD.
On Linux/BSD, clipboard helpers (wl-copy/wl-paste for Wayland or xclip/xsel for X11) for clipboard features.
A ChatGPT plan (Plus, Pro, Business, Edu, or Enterprise) for plan-based sign-in, or an OpenAI API key.
Node.js and npm for the npm install, or Homebrew for the cask install.
A terminal on macOS, Linux, or Windows.
Node.js 20 or newer for the npm package, or a supported Homebrew, MacPorts, or Conda install path.
A Google account, Gemini API key, or Vertex AI configuration for the selected authentication route.
A project workspace where file access, shell commands, web fetching, and MCP server access are intentionally scoped.
A decision on stable, preview, or nightly release channels before using the CLI in team workflows.