
Your AI Coding Agent, Right in the Terminal.
CarryCode is a terminal-native AI coding agent that helps you write, refactor, debug, and understand code — all through natural conversation. It connects to 17+ LLM providers(OpenAI, Anthropic Claude, Google Gemini, OpenRouter, Ollma, vllm, GLM, KIMI, MiniMax, DeepSeek, Alibaba Claude etc), supports the MCP protocol for extensibility, supports the SKILL which is compatiable with claude code, supports AGENTS.md as project RULES, and delivers a beautiful terminal UI with themes, syntax highlighting, and code diff previews.
- 🤖 Dual Agent Modes — Build mode for autonomous code generation and editing; Plan mode for read-only analysis and planning.
- 🔌 17+ LLM Providers — OpenAI, Claude, Gemini, DeepSeek, Kimi, GLM, MiniMax, Qwen, Grok, Ollama, vLLM, and any OpenAI-compatible endpoint.
- 🚀 240+ LLM Models - GPT-5.2, Claude-Opus-4.6, Claude-Sonnet-4.5, Gemini-3-Pro, Gemini-3-Flash, Kimi-2.5, MiniMax-M2, GLM-4.7, DeepSeek-V3.2, Qwen3 etc. The latest SOTA models in the field of programming.
- 🧩 MCP Protocol — Extend your agent with Model Context Protocol servers. Add, edit, and manage MCP servers via
/mcp. - 🎯 Skills System — Load predefined or custom skills to guide how CarryCode performs specific tasks. Manage via
/skill. - 📋 AGENTS.md — Drop an
AGENTS.mdfile in your project root to give CarryCode project-specific instructions and conventions. - 🎨 Beautiful Terminal UI — Rich TUI with gradient banners, Markdown rendering, syntax-highlighted code blocks, and inline diff previews.
- 🌗 Themes — Switch between light and dark themes for code highlighting and diff previews via
/theme. - 🌍 Multi-Language — English and Chinese interface. Switch anytime via
/language. - 💬 Session Management — Create, switch, and resume sessions. Context is preserved across conversations.
- 🗜️ Smart Context Compaction — Automatically compresses long conversations to stay within token limits while preserving key context.
- 🩺 LSP Diagnostics — Integrated Language Server Protocol support (e.g., rust-analyzer) for real-time error and warning detection.
- 🔒 Approval Modes — Control what CarryCode can do:
read-only,agent(read + write + execute), oragent-full(unrestricted). - 🔄 One-Click Update — Run
/updateto check and install the latest version in-place.
# MacOS / Linux
curl -fsSL https://carrycode.ai/install.sh | sudo sh
# Windows Powershell
irm https://carrycode.ai/install.ps1 | iexSupports macOS (ARM64 / x64) and Linux (x64 / ARM64 / musl). The script auto-detects your platform, downloads the correct binary, verifies the checksum, and installs to /usr/local/bin.
CarryCode has released the VSCode extention in VSCode Market, you can search keyword 'carrycode' in sidebar extension markdet.
carry --helpLaunch the full terminal UI:
carryOn first launch, a setup wizard will guide you through:
- Choose your language (English / 中文)
- Pick a theme (Light / Dark)
- Select an LLM provider and enter your API key
Run a one-off prompt and exit — great for scripting and CI:
carry --once "Explain what this function does"
carry --once "Add error handling to server.js" --timeout-ms 60000- Rust (latest stable) - Install via rustup
- Node.js (v18+)
- Bun - Install via bun.sh
- Build essentials (for your OS):
- Linux:
build-essential,pkg-config,libssl-dev - macOS: Xcode Command Line Tools
- Windows: Visual Studio Build Tools
- Linux:
# Install dependencies
bun install
# Full build (Rust + TypeScript)
bun run build
# Or build separately:
bun run build:rust # Compile Rust to Node native module
bun run build:ts # Compile TypeScript
# Development mode (watch TypeScript)
bun run devAfter building, the executable will be at:
./target/index.js- Main CLI entry point./target/*.node- Native Rust module
Run with:
node target/index.js
# or
./target/index.jsbun run clean # Clean all build artifacts
bun run clean:rust # Clean only Rust build artifactsType / in the input area to access the command menu:
| Command | Description |
|---|---|
/model |
Switch LLM model, add or edit providers |
/mcp |
Manage MCP servers (add / edit / connect) |
/skill |
Load skills to guide agent behavior |
/rule |
Select project rules / guides |
/theme |
Switch code highlight and diff themes |
/language |
Switch interface language |
/approval |
Set approval mode (read-only / agent / agent-full) |
/session |
Create new or switch between sessions |
/compact |
Compress current session context |
/update |
Check and install updates |
/exit |
Exit the application |
CarryCode works with a wide range of LLM providers out of the box:
| Provider | Models (examples) | Protocol |
|---|---|---|
| OpenAI | GPT-4o, GPT-5.2 | OpenAI |
| Anthropic | Claude Opus 4.5, Claude Sonnet | Anthropic |
| Gemini 3 Pro | Gemini | |
| DeepSeek | DeepSeek R1 | OpenAI Compatible |
| Moonshot / Kimi | Kimi K2 | OpenAI Compatible / Anthropic |
| ZhipuAI | GLM-4.7 | OpenAI Compatible |
| MiniMax | MiniMax M2.1 | Anthropic |
| Alibaba Cloud | Qwen3 Max | OpenAI Compatible |
| xAI | Grok 4 | OpenAI Compatible |
| SiliconFlow | DeepSeek V3.2 | OpenAI Compatible |
| Ollama | Any local model | Ollama |
| vLLM | Any local model | vLLM |
| OpenAI Compatible | Any endpoint | OpenAI Compatible |
💡 Use
/model addto configure a new provider interactively, or/model editto modify existing ones.
Set your API key as an environment variable:
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export GEMINI_API_KEY="AIza..."Or use the interactive setup wizard on first launch, or /model add at any time.
| File | Location | Purpose |
|---|---|---|
| User config | ~/.carry/carrycode.json |
Provider credentials and preferences |
| Runtime config | ~/.carry/carrycode-runtime.json |
Language, default model, theme |
| Project rules | ./AGENTS.md |
Project-specific instructions for CarryCode |
Override config paths with
CARRYCODE_CONFIG_DIRorCARRYCODE_CONFIG_FILEenvironment variables.
See LICENSE for details.
- Personal Research and Learning: The source code of this project can be used for personal research and learning purposes.
- Modification and Commercial Use: If you wish to modify or use this project for commercial purposes, you are prohibited from modifying the project's Logo, Banner, or any identifying marks.
- Logo/Banner Modification Requests: If you have a need to modify the Logo, Banner, or identifying marks, please contact us at us@carrycode.ai.
Built with ❤️ by the CarryCode team.

