πͺ¨ why use many token when few token do trick β Claude Code skill that cuts 65% of tokens by talking like caveman
CLI coding agent for Rust terminals
Coro Code is a Rust-based CLI coding agent with a rich terminal UI. It can run interactive sessions or single prompts, and it supports provider config through env vars or a `coro.json` file. The core crate also exposes context export and restore helpers for saved sessions.
Builders who want a terminal coding agent that can generate, debug, and manage code from the command line.
You can use a local CLI agent to handle coding tasks and keep working through interactive sessions or one-off prompts.
What it does
Interactive terminal UI
Runs in a rich TUI so you can chat with the agent and watch updates in the terminal.
Single-task execution
Accepts a prompt on the command line for focused jobs like fixing a bug or refactoring a function.
Multiple provider configuration
Reads API keys, base URLs, models, and protocol overrides from environment variables or `coro.json`.
Context export and restore
Saves conversation and execution context to JSON and restores it later from a file or snapshot.
Built-in tools and command execution
Includes bash execution, file operations, and an extensible tool system for agent actions.
How to get it
- 1Run
cargo install --git https://github.com/Blushyes/coro-code --bin coro
- 2Run
# Interactive mode (recommended) coro # Single task coro "Fix the bug in main.rs"
- 3Run
# Interactive mode coro # Direct command coro "Help me refactor this function" # With specific config coro --config custom.json "Analyze this codebase"
README
π Coro Code
A high-performance AI coding agent written in Rust with a rich terminal UI

Coro Code is a high-performance AI coding agent written in Rust with a rich terminal UI. Formerly known as Trae Agent Rust, it remains compatible with the original tool spec while focusing on speed, reliability, and great UX.
β¨ Highlights
- π High Performance: Written in Rust for speed and memory safety
- π¨ Rich Terminal UI: Beautiful, interactive interface with real-time updates
- π§ Easy Configuration: Support for multiple LLM providers with flexible config options
- π οΈ Powerful Tools: Built-in bash execution, file operations, and extensible tool system
- π Environment Variables: Comprehensive support for API keys, base URLs, and model configuration
- π¦ Cross-Platform: Works seamlessly on macOS, Linux, and Windows
π Quick Start
π Prerequisites
- π¦ Rust stable (1.70+)
- π An API key (OpenAI recommended; Anthropic/Google coming soon)
π¦ Install
cargo install --git https://github.com/Blushyes/coro-code --bin coro
βΆοΈ Run
# Interactive mode (recommended)
coro
# Single task
coro "Fix the bug in main.rs"
Configuration
Option A: Environment variables
# OpenAI
export OPENAI_API_KEY="your_openai_api_key"
export OPENAI_MODEL="gpt-4o"
# Optional: Custom base URL and model for OpenAI-compatible APIs
export OPENAI_BASE_URL="https://api.deepseek.com"
export OPENAI_MODEL="deepseek-chat"
# Or use generic overrides for any protocol
export CORO_BASE_URL="https://api.custom.com"
export CORO_MODEL="custom-model"
Option B: Configuration file
Create a coro.json file:
{
"protocol": "openai",
"base_url": "https://api.deepseek.com",
"api_key": "your-api-key",
"model": "deepseek-chat",
"params": {
"max_tokens": 131072,
"temperature": 0.7,
"top_p": 0.9
}
}
Usage
# Interactive mode
coro
# Direct command
coro "Help me refactor this function"
# With specific config
coro --config custom.json "Analyze this codebase"
π€ Supported Models
| Provider | Models | Status |
|---|---|---|
| π’ OpenAI | gpt-4o, gpt-4o-mini | β Ready |
| π‘ Anthropic | claude-3.5 family | π§ Coming |
| π΅ Google | gemini-1.5 family | π§ Coming |
π§ Environment Variables Reference
| Variable | Description | Example |
|---|---|---|
OPENAI_API_KEY | OpenAI API key | sk-... |
OPENAI_BASE_URL | Custom base URL for OpenAI-compatible APIs | https://api.deepseek.com |
OPENAI_MODEL | Custom model for OpenAI-compatible APIs | gpt-4o, deepseek-chat |
ANTHROPIC_API_KEY | Anthropic API key | sk-ant-... |
ANTHROPIC_BASE_URL | Custom base URL for Anthropic API | https://api.anthropic.com |
ANTHROPIC_MODEL | Custom model for Anthropic API | claude-3-5-sonnet-20241022 |
GOOGLE_API_KEY | Google AI API key | AIza... |
GOOGLE_BASE_URL | Custom base URL for Google AI API | https://generativelanguage.googleapis.com |
GOOGLE_MODEL | Custom model for Google AI API | gemini-pro, gemini-1.5-pro |
AZURE_OPENAI_API_KEY | Azure OpenAI API key | ... |
AZURE_OPENAI_BASE_URL | Azure OpenAI endpoint | https://your-resource.openai.azure.com |
AZURE_OPENAI_MODEL | Custom model for Azure OpenAI | gpt-4, gpt-35-turbo |
CORO_BASE_URL | Generic base URL override (any protocol) | https://api.custom.com |
CORO_PROTOCOL | Force specific protocol | openai, anthropic |
CORO_MODEL | Generic model override (any protocol) | gpt-4o, claude-3-5-sonnet |
πΊοΈ Roadmap
Status Legend: β Completed | π§ In Progress | π Planned
π Phase 1: Core Experience
| Priority | Status | Feature | Description |
|---|---|---|---|
| π₯ High | π§ | First-time Setup Management | Guided wizard (detect/create openai.json or env vars), API key validation, default models & examples |
| π₯ High | β | Refactor Config Loading Logic | Unified priority (CLI args > env vars > JSON file), friendly error messages & diagnostics, optional hot reload |
| π₯ High | π | Tool Call Permission System | Tool/command/directory whitelist, interactive confirmation, privilege escalation & sensitive operation warnings |
π¨ Phase 2: User Experience Enhancement
| Priority | Status | Feature | Description |
|---|---|---|---|
| π‘ Medium | π | CORO.md Custom Prompts Support | Project/subdirectory level overrides, scenario templates (bugfix/refactor/docs/test) |
| π‘ Medium | π§ | UI Layout Optimization & Unification | Header/Status/Input style consistency, keyboard shortcuts & interaction consistency optimization |
| π‘ Medium | π | Trajectory Replay & Export | Trajectory visualization, one-click replay, export to JSON/Markdown |
| π¨ Low | π | Logo Design (gemini-cli style) | Visual identity design |
π€ Phase 3: Intelligence & Performance
| Priority | Status | Feature | Description |
|---|---|---|---|
| π‘ Medium | π | Multi-model & Auto Routing | Auto model selection by task type, failure auto-downgrade & retry strategies |
| π‘ Medium | π | Context Optimization & Caching | File summary caching, duplicate reference deduplication, token budget control |
| π‘ Medium | β | Token Compression | Intelligent context compression, selective token reduction, adaptive context windows |
| π΅ Low | π | MCP Extension Ecosystem | Common provider presets & templates, one-click start/stop external tools |
π Phase 4: Platform & Ecosystem
| Priority | Status | Feature | Description |
|---|---|---|---|
| π΅ Low | π | Core WASM Support | Browser/plugin environment ready, isomorphic tool interface & minimal runtime |
| π΅ Low | π | Cross-platform Enhancement | macOS/Linux/Windows/WSL detail adaptation & stability improvements |
| π΅ Low | π | Plugin Tool System | Third-party tool registration spec, version & dependency declaration |
π‘οΈ Phase 5: Security & Quality
| Priority | Status | Feature | Description |
|---|---|---|---|
| π‘ Medium | π | Security & Rate Limiting | Sandbox mode (restricted bash/network switches), concurrency & rate limiting |
| π΅ Low | π | Testing & Benchmarks | End-to-end test cases, performance benchmarks & comparison reports |
π οΈ Development
Context Export/Restore (Persistence)
The core supports exporting the conversation and execution context to JSON and restoring it later:
use coro_core::agent::{AgentBuilder, PersistedAgentContext};
// Export
let json = agent.export_context_json()?; // as JSON string
agent.export_context_to_file(".coro/context.json")?; // or to file
// Restore
agent.restore_context_from_json(&json)?; // from JSON
agent.restore_context_from_file(".coro/context.json")?; // or from file
// Work with the structured snapshot directly:
let snap = agent.export_context_snapshot()?;
let json2 = snap.to_json()?;
let snap2 = PersistedAgentContext::from_json(&json2)?;
agent.restore_context_from_snapshot(snap2)?;
Notes:
- Snapshot contains
conversation_history,AgentExecutionContext, and optionalAgentConfig. - On restore, saved config (if present) is applied; missing tool-result pairs are handled automatically on next execution.
- No need to manually re-inject a system prompt; the agent handles that as needed.
Pre-commit Hooks
We strongly recommend setting up pre-commit hooks to maintain code quality. The repository includes scripts to automatically install hooks that run formatting, linting, and tests before each commit.
Choose the appropriate script for your platform:
# Linux/macOS
./scripts/setup-pre-commit-hooks.sh
# Windows PowerShell
.\scripts\setup-pre-commit-hooks.ps1
# Windows Command Prompt
scripts\setup-pre-commit-hooks.bat
The pre-commit hook will automatically run:
- Code formatting (
cargo fmt --check) - Linting (
cargo clippy) - Tests (
cargo test)
For more details, see scripts/README.md.
Contributing
- Fork the repository
- Create a feature branch
- Set up pre-commit hooks (recommended)
- Make your changes
- Ensure all tests pass
- Submit a pull request
π License
Dual licensed under your choice of:
- Apache-2.0 (LICENSE-APACHE)
- MIT (LICENSE-MIT)
π Acknowledgments
- Trae Agent for the original Python implementation and spec
- iocraft for the beautiful terminal UI framework
- OpenAI, Anthropic, and Google for model APIs
- Rust community for the amazing ecosystem
Made with β€οΈ in Rust
Files in the repo
- .github
- cli
- core
- examples
- images
- scripts
- .gitignore
- Cargo.toml
- README_zh.md
- README.md
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More tools
The best-benchmarked open-source AI memory system. And it's free.
Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
Never stop coding. Free MIT AI gateway: one endpoint, 352 providers (150+ free), 1200+ models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550+ contributors
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.