Crush is an open-source terminal coding agent created by Charm (Charmbracelet), the team behind popular Go terminal UI libraries like Bubble Tea and Lip Gloss. Designed specifically for command-line native development, Crush provides an interactive terminal user interface that handles multi-turn code generation, repository navigation, and automated shell command execution directly within the developer's terminal. In daily use, Crush operates as an interactive CLI/TUI agent that inspects repository structures, edits files, and executes shell tasks via built-in tools and custom agent skills. It uses context-aware tool execution—such as built-in shell filters and process handling—to execute code and inspect project status while preventing hanging operations through strict timeouts and signal interruptions. Crush differentiates itself through Charm's signature terminal interface design, offering structured interactive displays, session resumption capabilities, and modular agent skill definitions stored directly within repository workflows. Rather than relying on heavyweight GUI environments or Electron wrappers, it stays fully integrated into standard Unix terminal pipelines and Go-based CLI tooling. Crush is distributed as open-source software under the Charmbracelet GitHub repository with active community contribution, Nix flake support for reproducible development environments, and standard API key configuration for backend LLM providers.
Tags: ai agent, cli, coding agent, OpenSource, terminal
.agents/skills. - Context-Aware Shell Execution — Includes native shell filtering tools and timeout-aware process execution to handle long-running commands safely. - Session Resumption — Allows developers to detach and resume coding sessions with interactive status banners. - Nix Flake Integration — Provides native Nix development environment configuration for reproducible local setups. - Direct Workspace Modification — Reads, patches, and creates project files directly within the local Git working tree.go test, and presents the diffs inside the terminal for interactive approval.Crush is designed for terminal-centric developers, DevOps engineers, and Go developers who prefer keyboard-driven TUIs over web or IDE-embedded coding assistants. It is less suitable for teams looking for deep visual IDE integrations like VS Code sidebars or browser-only interfaces.
bash # Install via Go go install github.com/charmbracelet/crush@latest # Or clone and build with Nix / Go git clone https://github.com/charmbracelet/crush.git cd crush nix developbash export OPENAI_API_KEY="your-api-key-here" # or configure your preferred provider credentialsbash crush Inside the interactive prompt, issue a task: text Find all unhandled error returns in internal/server and add proper context wrapping using fmt.Errorf.Part of CLI Coding Agents
Categories: AI Coding Agents, Code Assistants, Developer Tools