Codai 2.0.0
See the version list below for details.
dotnet tool install --global Codai --version 2.0.0
dotnet new tool-manifest
dotnet tool install --local Codai --version 2.0.0
#tool dotnet:?package=Codai&version=2.0.0
nuke :add-package Codai --version 2.0.0
<h1 align="center">Codai</h1>
<p align="center"> The open source coding agent for your terminal. </p>
<div align="center"> <table> <tbody> <td align="center"> <a href="https://meysamhadeli.github.io/codai" target="_blank"><strong>Docs</strong></a> </td> <td align="center"> <a href="https://github.com/meysamhadeli/codai/discussions" target="_blank"><strong>Discussions</strong></a> </td> <td align="center"> <a href="https://github.com/meysamhadeli/codai/issues" target="_blank"><strong>Issues</strong></a> </td> <td align="center"> <a href="CONTRIBUTION.md" target="_blank"><strong>Contributing</strong></a> </td> </tbody> </table> </div>
<br>
<p align="center"> <img src="assets/codai-demo.gif" alt="Codai working in a terminal" /> </p>
Install
dotnet tool install --global Codai
codai auth
codai code
Requires the .NET SDK 10.0 or later. Builds from source and standalone binaries are covered in the docs.
What it does
| Edits across your project | A signature map plus read, search and write tools, so changes land in the right files instead of a guess. Tools → |
| Runs your commands | Build, test and lint from the session, with every write and command shown and approved first. Agent mode → |
| Plan, then act | Explore and plan read-only, then execute the plan after consent. Modes → |
| Scrollable terminal | Browse the conversation with the mouse wheel or scrollbar while the input and status footer stay pinned. Terminal controls → |
| Compact action steps | Click to open thinking status, command output, and file diffs; edit summaries show added and removed line counts. Transcript steps → |
| Any provider, including local | OpenAI, Azure OpenAI, Anthropic, Gemini, Mistral, Grok, DeepSeek, Qwen, OpenRouter and Ollama. Providers → |
| Learns your conventions | AGENTS.md, rules, skills, commands and memory documents steer every request. Rules and skills → |
| Long sessions stay affordable | Conversations compact before they outgrow the window, and --continue resumes where you stopped. Compaction → |
| Extensible | Plugins, MCP servers and lifecycle hooks under the same approval rules. MCP → · Plugins → |
| Also a library | Host the session runtime in your own .NET app. Build on Codai → |
Common tasks
codai --mode plan "Review authentication and plan improvements" # read-only
codai --mode plan "Plan pagination for orders" # a numbered plan
codai code --continue # resume the session
codai code --provider ollama --model llama3.1 # a local model
codai --json --mode plan "Plan fixes for TODO comments" # JSON Lines for scripts
Inside a session, :help lists the commands and @src/Foo.cs attaches a file to one request.
Every flag is documented in the CLI reference.
Extend with plugins or MCP servers
Plugins add tools and lifecycle hooks, MCP servers connect databases, APIs and cloud
infrastructure, and hooks run commands around agent steps — all through the same approval
rules as the built-in tools. Manage servers with codai config mcp and plugins with
codai config plugins, or read the plugins and
MCP guides.
Documentation
Everything beyond getting started lives in the documentation:
- Agent mode — Plan and Agent, plus Plan → Act
- Skills — project and global skills
- Plugins — extend tools and hooks
- MCP — external tool servers
- ACP compatibility — editor integration
- Roadmap — what comes next
Contributing
Bug reports, feature requests and pull requests are welcome. Start with CONTRIBUTION.md; security issues should go through SECURITY.md rather than a public issue.
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.