CLI Coding Agents Comparison - Claude Code, Codex CLI, Gemini CLI, and More
First Published:
Last Updated:
* This page is reviewed and updated monthly, and revised in place whenever a product ships a documented change. Every entry reflects each product's own official documentation as of the Last Updated date shown above. This page states only documented facts and does not rank the products or declare a "best" agent.
Terminal-first AI coding agents are one of the fastest-moving categories in developer tooling, and 2026 has turned "Claude Code vs Codex CLI", "gemini cli mcp support", and similar queries into a permanently busy corner of search. This page is a living reference: instead of a one-time face-off, it maintains a fact matrix of the major command-line coding agents, sourced only from each product's official documentation, and is revised in place as the tools ship changes.It sits alongside the host-side and protocol references I keep on this site — the Claude Code Features and Settings Reference, the MCP Server Ecosystem Reference, and the Claude, GPT, and Nova model timelines — and focuses on one question: for each terminal coding agent, what does its official documentation say about the capabilities developers compare most often?
Overview
A CLI coding agent is an AI coding assistant whose primary interface is the terminal: you run a command, describe a task in natural language, and the agent reads and edits files, runs shell commands, and iterates in your working directory — typically with a permission model gating what it may touch. This page compares the agents in this category that have official documentation, across ten capability axes (supported OS, available models, MCP support, subagents, hooks and extensions, headless/CI execution, IDE integration, configuration files, open-source status, and authentication).This page is reviewed and updated monthly, and revised in place whenever a product publishes a documented change. Every entry reflects each product's own official documentation as of the Last Updated date shown at the top of this page. It states only documented facts; it does not rank the agents, score them, or declare a single "best" tool — that judgment depends on your stack, models, and constraints.
Two of the most-searched products are mid-transition as of this update, and the matrix reflects that explicitly:
- Gemini CLI is being transitioned by Google to Antigravity CLI. Per Google's official announcement, on June 18, 2026 Gemini CLI and the Gemini Code Assist IDE extensions stop serving requests for Google AI Pro and Ultra as well as free individual users; organizations on a Gemini Code Assist Standard or Enterprise license keep unchanged access. [Google Developers Blog]
- Amazon Q Developer CLI has been renamed: AWS documentation now states plainly that "The Q CLI has become the Kiro CLI." [AWS documentation]
How to Read This Page
What Is Included
A product is included when both of the following hold: its primary interface is the terminal/CLI, and it has official documentation or an official source repository. Nine agents receive a full row in the comparison tables; several more notable CLI agents are listed with a short profile under Product Notes.Out of scope: IDE-type assistants whose primary surface is an editor — Cursor (IDE), Kiro (IDE), Cline, Windsurf, and GitHub Copilot's in-editor experience — are not compared here, because their center of gravity is the editor rather than the command line. Note one subtlety: the Kiro IDE is out of scope, but the Kiro CLI (the renamed Amazon Q Developer CLI) is a terminal-first agent and is therefore in scope. Terminal emulator applications with a built-in agent panel (such as Warp) and discontinued projects are also excluded; see What Is Out of Scope.
The Comparison Axes
- Supported OS — macOS, Linux, and Windows (native versus Windows Subsystem for Linux).
- Available models — which models or providers the agent can drive. Because model IDs change often, this page describes model families and providers rather than pinning volatile version strings.
- MCP support — whether the agent supports the Model Context Protocol (its origins are traced in the Tool Use and Agent Protocol History and Timeline), as a client (consuming external tools/data) and/or as a server (exposing itself to other agents).
- Subagents / task delegation — whether the agent can hand a focused task to a separate agent context.
- Hooks / extension mechanism — lifecycle hooks, skills, plugins, extensions, or custom commands.
- Headless / CI execution — a non-interactive mode suitable for scripts and continuous integration.
- IDE integration — an official companion extension for editors such as VS Code or JetBrains.
- Configuration and memory files — the settings file(s) and the project-instructions/"memory" file the agent reads.
- Open source — whether the CLI itself is open source, and under which license.
- Authentication — subscription sign-in, API key, or cloud-provider credentials.
Sourcing and the Facts-Only Rule
Every cell is taken from the linked official documentation. Where a capability is not described in a product's official docs, the cell reads "Not documented (as of Last Updated)" rather than an inference — absence of a documentation page is not proof that a feature is absent, only that it is not documented. This page contains no pricing, no benchmark scores, and no subjective ranking, by design: those are the parts most likely to go stale or to mislead, and they are exactly what a durable reference should avoid.Feature Comparison of CLI Coding Agents
The master matrix below is the at-a-glance view; the per-axis tables that follow it carry the detail and the official source link for each row. Product names in the master matrix link to each agent's primary official documentation.* You can sort the table by clicking on the column name.
Master Capability Matrix
| Agent | Maintainer | Open source (license) | MCP | Subagents | Hooks / extensions | Headless command |
|---|---|---|---|---|---|---|
| Claude Code | Anthropic | No (proprietary) | Client | Yes | Hooks, Skills, Plugins | claude -p |
| OpenAI Codex CLI | OpenAI | Yes (Apache-2.0) | Client and server | Yes | Hooks, Skills, Plugins | codex exec |
| Gemini CLI | Yes (Apache-2.0) | Client | Yes | Commands, Extensions | gemini -p |
|
| Amazon Q Developer CLI (now Kiro CLI) | AWS | Legacy Apache-2.0/MIT (frozen); Kiro CLI proprietary | Client | Yes | Agent hooks | kiro-cli chat --no-interactive |
| GitHub Copilot CLI | GitHub | No (source-available) | Client | Yes | Custom agents, instructions | copilot -p |
| Aider | Aider-AI (open-source project) | Yes (Apache-2.0) | Not documented | Not documented | Not documented | aider --message |
| Goose | Goose project (originally Block) | Yes (Apache-2.0) | Client (extensions) | Yes | Extensions | goose run |
| OpenCode | anomalyco (originally SST) | Yes (MIT) | Client | Yes (Agents) | Plugins | opencode run |
| Qwen Code | Alibaba (Qwen team) | Yes (Apache-2.0) | Client | Yes | Commands, Skills, Extensions | qwen -p |
Product Status and Transitions
Gemini CLI → Antigravity CLI. Google has announced that Gemini CLI is being transitioned to Antigravity CLI. On June 18, 2026, Gemini CLI and the Gemini Code Assist IDE extensions stop serving requests for Google AI Pro and Ultra subscribers and for free individual users; organizations using Gemini CLI through a Gemini Code Assist Standard or Enterprise license retain unchanged access. The classic Gemini CLI facts in the tables below come from the official Gemini CLI documentation, which the project repository links to as canonical; the transition itself is documented in Google's announcement. [Google Developers Blog]Amazon Q Developer CLI → Kiro CLI. AWS documentation states that "The Q CLI has become the Kiro CLI" and points to the Kiro User Guide. The legacy open-source repository (
aws/amazon-q-developer-cli, dual-licensed Apache-2.0/MIT) is now maintained for critical security fixes only, and its README states that the successor, Kiro CLI, is a closed-source product. The rows below therefore describe Kiro CLI (the current product) while keeping the searched name. [Legacy repository] [Kiro CLI docs] Separately, AWS has announced an end-of-support timeline for the older Amazon Q Developer IDE plugins. [AWS DevOps Blog]Common Patterns Across CLI Coding Agents
Despite differing licenses and model back ends, the agents in the master matrix converge on a recurring set of design choices — useful context when reading the per-axis tables below:- A permission model around tool use — each agent gates file writes and shell commands, with flags to widen or narrow what may run unattended (which matters most for headless and CI use).
- A project-instructions ("memory") file — a Markdown file checked into the repo that steers the agent.
AGENTS.mdis a shared convention across OpenAI Codex CLI, GitHub Copilot CLI, and OpenCode, while Claude Code usesCLAUDE.md, Gemini CLI usesGEMINI.md, and Qwen Code usesQWEN.md. - A non-interactive mode with structured output — every agent here documents a headless command, and most can emit JSON or streaming JSON for pipelines.
- MCP as the common extension substrate — the Model Context Protocol is how most of these agents connect to external tools and data, so an MCP server built once is reusable across several of them.
Supported Operating Systems
All nine agents run on macOS and Linux; the main differences are in how each handles Windows (natively or through WSL).| Agent | Supported OS (per official docs) |
|---|---|
| Claude Code | macOS, Windows, and Linux (Ubuntu/Debian/Alpine), on x64 and ARM64; runs natively on Windows or inside WSL. [docs] |
| OpenAI Codex CLI | macOS, Linux, and Windows; Windows runs natively (PowerShell, with a sandbox) or via WSL2. [docs] |
| Gemini CLI | macOS, Windows, and Linux; requires Node.js 20+. [docs] |
| Amazon Q Developer CLI (Kiro CLI) | macOS, Linux, and Windows; native Windows support was added in Kiro CLI 2.0 (the legacy Amazon Q Developer CLI required WSL on Windows). [docs] |
| GitHub Copilot CLI | Linux, macOS, and Windows (from PowerShell and WSL). [docs] |
| Aider | Cross-platform Python package (macOS, Linux, Windows). [docs] |
| Goose | macOS, Linux, and Windows (desktop app and CLI). [docs] |
| OpenCode | macOS, Linux, and Windows (including WSL). [docs] |
| Qwen Code | macOS, Windows, and Linux; requires Node.js 20+. [docs] |
Available Models and Providers
Whether an agent is tied to one vendor's models or is provider-agnostic is one of the clearest dividing lines in this category. Because model IDs change frequently, the cells below describe model families and providers rather than pinned version strings.| Agent | Models / providers (per official docs) |
|---|---|
| Claude Code | Anthropic Claude models (the Opus, Sonnet, and Haiku families), via the Anthropic API or through Amazon Bedrock, Google Cloud's Agent Platform (formerly Vertex AI), and Microsoft Foundry. [docs] |
| OpenAI Codex CLI | OpenAI GPT / Codex model family, selectable with /model or --model; some models are tied to ChatGPT sign-in. [docs] |
| Gemini CLI | Google Gemini models (a default Gemini model with a large context window; overridable with -m). [docs] |
| Amazon Q Developer CLI (Kiro CLI) | Amazon Bedrock-backed: an "Auto" model router plus selectable Anthropic Claude models and non-Anthropic options (for example, Qwen3 Coder and MiniMax). The lineup is updated frequently. [docs] |
| GitHub Copilot CLI | Models available within the GitHub Copilot plan, switchable at runtime; custom providers (OpenAI-compatible, Azure OpenAI, Anthropic) can also be configured. [docs] |
| Aider | Model-agnostic: works with many providers (Anthropic, OpenAI, Google, DeepSeek, local models, and others). [docs] |
| Goose | Model-agnostic across many providers (Anthropic, OpenAI, Google, local runners, and cloud gateways). [docs] |
| OpenCode | Model-agnostic across many providers (Anthropic, OpenAI, Google, local models, and others). [docs] |
| Qwen Code | Model-agnostic: OpenAI-, Anthropic-, and Gemini-compatible APIs, plus local models; oriented around Qwen3-Coder. [docs] |
MCP (Model Context Protocol) Support
MCP is the open standard that lets an agent connect to external tools and data sources. The distinction below is between acting as an MCP client (consuming servers) and running as an MCP server (exposing the agent to other tools).| Agent | MCP support (per official docs) |
|---|---|
| Claude Code | Client: connects to stdio and HTTP MCP servers, configured through .mcp.json or the claude mcp commands. A server mode is not described in the current official CLI documentation. [docs] |
| OpenAI Codex CLI | Client and server: consumes stdio and Streamable HTTP servers via ~/.codex/config.toml, and can run as an MCP server with codex mcp-server. [docs] |
| Gemini CLI | Client: MCP servers are configured as mcpServers in ~/.gemini/settings.json. [docs] |
| Amazon Q Developer CLI (Kiro CLI) | Client: local (stdio) and remote (HTTP) MCP servers, configured in ~/.kiro/settings/mcp.json (or a project .kiro path). [docs] |
| GitHub Copilot CLI | Client: ships with a built-in GitHub MCP server and supports additional custom MCP servers. [docs] |
| Aider | Not documented (as of Last Updated); MCP is not part of the official Aider documentation. [docs] |
| Goose | Client: a core design point — connects to many "extensions" built on MCP. [docs] |
| OpenCode | Client: MCP servers configured in opencode.json. [docs] |
| Qwen Code | Client: native MCP support, documented as a first-class feature. [docs] |
Subagents and Task Delegation
A subagent runs a focused task in its own context, which keeps the main conversation shorter and can parallelize work. The feature name and nesting rules differ by product.| Agent | Subagents / delegation (per official docs) |
|---|---|
| Claude Code | Subagents: built-in types (Explore, Plan, general-purpose) plus custom subagents defined in .claude/agents/. [docs] |
| OpenAI Codex CLI | Subagents: built-in types (default, worker, explorer) plus custom agents defined in .codex/agents/. [docs] |
| Gemini CLI | Subagents: built-in and custom subagents in .gemini/agents/, invoked automatically or with @subagent-name; remote subagents over the A2A protocol are also supported. [docs] |
| Amazon Q Developer CLI (Kiro CLI) | Subagents: an orchestrator agent hands a focused task to a subagent that runs in its own isolated context (one level of nesting). [docs] |
| GitHub Copilot CLI | Yes: automatically delegates common tasks to specialized custom agents. [docs] |
| Aider | Not documented (as of Last Updated); Aider offers "chat modes" (including an architect/editor mode) but no multi-agent delegation feature is documented. [docs] |
| Goose | Subagents: can spawn independent subagents to work tasks in parallel; also supports recipes and subrecipes. [docs] |
| OpenCode | Agents: a configurable agents feature for task-specific behavior. [docs] |
| Qwen Code | Subagents: a documented feature (with a fork-subagent design). [docs] |
Hooks and Extension Mechanisms
This axis covers how each agent is extended or automated beyond its built-in behavior — lifecycle hooks, skills, plugins, extensions, and custom commands.| Agent | Hooks / extensions (per official docs) |
|---|---|
| Claude Code | Lifecycle hooks (for example PreToolUse, PostToolUse, SessionStart), plus Skills and Plugins that bundle skills, agents, hooks, and MCP servers. [hooks] [plugins] |
| OpenAI Codex CLI | Lifecycle hooks, Agent Skills (SKILL.md), and Plugins distributed via a marketplace. [hooks] [plugins] |
| Gemini CLI | Custom commands and Extensions (installable, shareable packages of commands and configuration). [commands] [extensions] |
| Amazon Q Developer CLI (Kiro CLI) | Agent hooks defined in the agent configuration (event types include agentSpawn, userPromptSubmit, preToolUse, postToolUse, stop). [docs] |
| GitHub Copilot CLI | Custom agents and custom instructions provide extensibility; capabilities are also extended through MCP servers. [docs] |
| Aider | Not documented (as of Last Updated); Aider has no formal hooks or plugin system, though a conventions file can supply project context. [docs] |
| Goose | Extensions: a large catalog of MCP-based extensions, plus the ability to build custom ones. [docs] |
| OpenCode | Plugins (and custom commands) provide extensibility. [docs] |
| Qwen Code | Custom commands, Skills, and an Extensions system. [docs] |
Headless and CI Execution
The headless command is what you invoke from a script, a git hook, or a CI job; output formats and permission flags vary by product.| Agent | Non-interactive mode (per official docs) |
|---|---|
| Claude Code | claude -p / --print runs non-interactively; --output-format json and a --bare mode support scripting and CI. [docs] |
| OpenAI Codex CLI | codex exec runs non-interactively and streams results to stdout or JSONL (--json). [docs] |
| Gemini CLI | gemini -p "prompt" triggers headless mode; supports --output-format json or stream-json. [docs] |
| Amazon Q Developer CLI (Kiro CLI) | kiro-cli chat --no-interactive (with --trust-all-tools or a scoped --trust-tools) for scripted/CI use. [docs] |
| GitHub Copilot CLI | copilot -p "prompt" executes a prompt programmatically and exits. [docs] |
| Aider | aider --message "..." (with --yes to auto-confirm) runs a single non-interactive request; scripting is also supported. [docs] |
| Goose | goose run executes instructions non-interactively (text or an instruction file). [docs] |
| OpenCode | opencode run executes a prompt non-interactively; opencode serve exposes a headless HTTP server. [docs] |
| Qwen Code | Headless mode via qwen -p, with --output-format text/json/stream-json. [docs] |
IDE Integration
Even a terminal-first agent often ships an optional editor companion; several also connect to editors over the Agent Client Protocol (ACP).| Agent | IDE integration (per official docs) |
|---|---|
| Claude Code | Official VS Code extension and a JetBrains plugin (Beta). [docs] |
| OpenAI Codex CLI | Official VS Code extension and JetBrains plugin (the extensions are separate from the open-source CLI). [docs] |
| Gemini CLI | A "Gemini CLI Companion" extension for VS Code (and VS Code forks); JetBrains/Zed via the Agent Client Protocol. [docs] |
| Amazon Q Developer CLI (Kiro CLI) | Kiro is a standalone IDE; Kiro CLI additionally integrates with JetBrains, Eclipse, and Zed via the Agent Client Protocol. Legacy Amazon Q Developer plugins for VS Code/JetBrains/Eclipse/Visual Studio are on an end-of-support path. [docs] |
| GitHub Copilot CLI | The CLI is the terminal surface; GitHub Copilot's editor integration is a separate product (out of scope here). [docs] |
| Aider | Runs alongside any editor and watches files for AI-comment triggers; no dedicated editor extension is required. [docs] |
| Goose | Ships as a desktop app in addition to the CLI. [docs] |
| OpenCode | Offers additional surfaces (including a VS Code integration and a web client) over a shared backend. [docs] |
| Qwen Code | Primarily a terminal tool; not documented as shipping a dedicated IDE extension. [docs] |
Configuration and Memory Files
This axis lists both the settings file and the project-instructions ("memory") file each agent reads from the working directory.| Agent | Config file / project-memory file (per official docs) |
|---|---|
| Claude Code | Settings in .claude/settings.json (and user/managed levels), MCP servers in .mcp.json, project memory in CLAUDE.md. [docs] |
| OpenAI Codex CLI | Config in ~/.codex/config.toml (and project layers); project instructions in AGENTS.md. [docs] |
| Gemini CLI | Settings in ~/.gemini/settings.json; project memory in a hierarchical GEMINI.md. [docs] |
| Amazon Q Developer CLI (Kiro CLI) | Settings under ~/.kiro/settings/, agents under ~/.kiro/agents, and Markdown "steering files" under ~/.kiro/steering (legacy ~/.aws/amazonq/ paths auto-migrate). [docs] |
| GitHub Copilot CLI | A ~/.copilot config directory; project instructions via AGENTS.md. [docs] |
| Aider | .aider.conf.yml (home or repo root) plus environment variables; a conventions file can be loaded for project context. [docs] |
| Goose | ~/.config/goose/config.yaml; project context in a .goosehints file. [docs] |
| OpenCode | opencode.json; project instructions in AGENTS.md. [docs] |
| Qwen Code | ~/.qwen/settings.json; project memory in QWEN.md. [docs] |
Open Source and Authentication
Open-source status and authentication are grouped here because they are the two facts developers most often check before adopting a CLI agent in a team or CI setting.| Agent | Open source / license | Authentication (per official docs) |
|---|---|---|
| Claude Code | No; proprietary (Anthropic Commercial Terms). [repo] | Claude Pro/Max/Team/Enterprise sign-in (OAuth), an Anthropic API key, or Amazon Bedrock / Google Cloud's Agent Platform (formerly Vertex AI) / Microsoft Foundry credentials. [docs] |
| OpenAI Codex CLI | Yes; Apache-2.0. [repo] | ChatGPT account sign-in or an OpenAI API key (CODEX_API_KEY for codex exec automation). [docs] |
| Gemini CLI | Yes; Apache-2.0. [repo] | Google login (personal or Code Assist license), a Gemini API key, or Vertex AI credentials. [docs] |
| Amazon Q Developer CLI (Kiro CLI) | Legacy repo dual-licensed Apache-2.0/MIT (frozen); Kiro CLI is proprietary. [repo] | AWS Builder ID or IAM Identity Center; Kiro CLI adds GitHub/Google sign-in and an API key for non-interactive use. [docs] |
| GitHub Copilot CLI | No; the repository is source-available under a proprietary license. [repo] | A GitHub Copilot subscription. [docs] |
| Aider | Yes; Apache-2.0. [repo] | Provider API keys (set via environment variables or config). [docs] |
| Goose | Yes; Apache-2.0. [repo] | Provider API keys or subscription-based provider access. [docs] |
| OpenCode | Yes; MIT. [repo] | Provider API keys / provider sign-in. [docs] |
| Qwen Code | Yes; Apache-2.0. [repo] | Provider API keys (OpenAI-compatible and others). [docs] |
Product Notes
- Claude Code (Anthropic) — a proprietary terminal agent for Claude models, with subagents, hooks, skills, and plugins. This site covers it in depth: the Features and Settings Reference, the Subagents and Orchestration Guide, the Hooks Complete Guide, and the CI/CD and Headless Automation guide. [repo]
- OpenAI Codex CLI (OpenAI) — the open-source (Apache-2.0) Rust CLI for OpenAI models; the only agent here documented to act as both an MCP client and an MCP server. [docs]
- Gemini CLI (Google) — the open-source (Apache-2.0) CLI for Gemini models, being transitioned to Antigravity CLI (see Product Status and Transitions). [repo]
- Amazon Q Developer CLI / Kiro CLI (AWS) — the Amazon Bedrock-backed CLI, renamed to Kiro CLI; the current product is closed-source while the legacy repository is frozen. The full Amazon Q naming lineage is covered in AWS History and Timeline regarding Amazon Q. [docs]
- GitHub Copilot CLI (GitHub) — GitHub's terminal-native agent (generally available since February 2026), with a built-in GitHub MCP server and task delegation to custom agents. [docs]
- Aider (Aider-AI) — a widely used open-source (Apache-2.0) terminal pair-programmer that edits your local git repo and auto-commits; model-agnostic, without a documented MCP or subagent feature. [docs]
- Goose (originally Block) — an open-source (Apache-2.0) on-machine agent (CLI plus desktop app) with one of the deepest MCP-based extension ecosystems. [repo]
- OpenCode (anomalyco) — an open-source (MIT), provider-agnostic terminal agent with a shared client-server backend across TUI, web, and editor surfaces. [docs]
- Qwen Code (Alibaba) — an open-source (Apache-2.0) terminal agent forked from Gemini CLI, opened to any OpenAI-compatible model and oriented around Qwen3-Coder. [repo]
Other CLI Coding Agents to Know
The following terminal-first agents also have official documentation and are worth tracking; they are candidates for full rows in a future revision:- Crush (Charm) — a Go-based terminal agent with native MCP; source-available under a Fair Source license. [repo]
- Cursor CLI (Anysphere) — Anysphere's terminal/headless agent, a separate binary from the Cursor IDE; proprietary. [docs]
- Amp (Amp, Inc.) — a proprietary autonomous agent offered as a CLI plus editor extensions and web threads. [docs]
- Auggie CLI (Augment Code) — a proprietary CLI built on Augment's context engine, with MCP support. [docs]
- OpenHands CLI (All Hands AI) — an open-source (MIT) CLI surface for the OpenHands agent, with MCP support. [docs]
- Plandex (Plandex AI) — an open-source (MIT), terminal-first agent aimed at large, multi-file tasks. [repo]
- Codebuff (Codebuff, Inc.) — an open-source (Apache-2.0) terminal agent that orchestrates specialized sub-agents. [repo]
What Is Out of Scope
- IDE-type assistants — Cursor (IDE), Kiro (IDE), Cline, Windsurf, and GitHub Copilot's in-editor experience. Their primary surface is an editor, not the command line. (The Kiro CLI, however, is in scope, as noted above.)
- Terminal-emulator applications with an agent panel — for example Warp, whose primary surface is a GUI terminal application rather than a CLI binary you run inside your own terminal. [docs]
- Discontinued projects — for example Continue's CLI, whose upstream repository is marked no longer actively maintained.
Frequently Asked Questions about CLI Coding Agents
- What is a CLI coding agent?
- A CLI coding agent is an AI coding assistant whose primary interface is the terminal. You invoke it with a command, describe a task in natural language, and it reads and edits files, runs shell commands, and iterates in your working directory — usually behind a permission model that controls which actions and tools it may use. Examples in this comparison include Claude Code, OpenAI Codex CLI, Gemini CLI, Amazon Q Developer CLI (now Kiro CLI), GitHub Copilot CLI, Aider, Goose, OpenCode, and Qwen Code.
- How do CLI coding agents differ from IDE assistants?
- A CLI agent runs in the terminal, which makes it scriptable and composable with shell tools, git, and CI pipelines, and independent of any particular editor. An IDE assistant lives inside an editor and is optimized for inline, cursor-aware interactions. Many products ship both surfaces; this page compares the terminal-first ones and treats editor-first tools (Cursor, Kiro IDE, Cline, Windsurf, Copilot in-editor) as out of scope.
- Which CLI coding agents support MCP?
- As of the Last Updated date, the agents documented to support the Model Context Protocol as clients include Claude Code, OpenAI Codex CLI, Gemini CLI, Amazon Q Developer CLI (Kiro CLI), GitHub Copilot CLI, Goose, OpenCode, and Qwen Code. OpenAI Codex CLI is additionally documented to run as an MCP server. Aider does not document MCP support. Per-product details and official source links are in the MCP support table.
- Can these agents run headless in CI?
- Yes — every agent in the master matrix documents a non-interactive mode suitable for scripts and continuous integration, such as
claude -p,codex exec,gemini -p,kiro-cli chat --no-interactive,copilot -p,aider --message,goose run,opencode run, andqwen -p. The exact flags, output formats (text/JSON/streaming), and permission controls differ by product; see the Headless and CI Execution table for the official reference for each. - Are CLI coding agents open source?
- It varies. OpenAI Codex CLI (Apache-2.0), Gemini CLI (Apache-2.0), Aider (Apache-2.0), Goose (Apache-2.0), OpenCode (MIT), and Qwen Code (Apache-2.0) are open source. Claude Code is proprietary, GitHub Copilot CLI is source-available under a proprietary license, and Kiro CLI (the renamed Amazon Q Developer CLI) is proprietary while its legacy repository remains open but frozen. The Open Source and Authentication table links each project's license.
- What is the difference between an MCP client and an MCP server?
- An MCP client is the agent side that connects to external tools and data sources exposed over the Model Context Protocol; an MCP server is the component that exposes those tools. Most CLI coding agents in this comparison act as MCP clients. OpenAI Codex CLI is additionally documented to run as an MCP server (via
codex mcp-server), so other agents or tools can drive it. - Do CLI coding agents support Windows natively?
- Support varies by product. Claude Code and OpenAI Codex CLI document native Windows use as well as WSL; Gemini CLI, GitHub Copilot CLI, and the Node- or Python-based open-source agents also run on Windows (natively or through WSL). For the renamed Amazon Q Developer CLI, native Windows support arrived with Kiro CLI 2.0, whereas the earlier Amazon Q Developer CLI required WSL. See the Supported Operating Systems table for the official reference per product.
Summary
CLI coding agents have converged on a common shape — a terminal command that drives file edits and shell actions under a permission model — while differing sharply on the axes developers actually compare: MCP support, subagents, hooks and extensions, headless execution, open-source status, and how each authenticates and is configured. This page keeps those facts in one place, sourced only from official documentation, and is revised in place as the tools change.It also captures a moment of churn: two of the most-searched products, Gemini CLI and Amazon Q Developer CLI, are transitioning to successors (Antigravity CLI and Kiro CLI), and this page tracks both the searched names and the current facts. Because the category moves quickly, this page is reviewed and updated monthly, and each row states only what the product's own documentation says as of the Last Updated date — not a subjective verdict on which agent is best.
For related references on this site, see the Claude Code Features and Settings Reference, the MCP Server Ecosystem Reference and MCP Server Testing and Debugging Guide, the model timelines for Anthropic Claude, OpenAI GPT, and Amazon Nova, the Tool Use and Agent Protocol History and Timeline, and the AWS History and Timeline regarding Amazon Q.
References:
Claude Code Documentation
OpenAI Codex CLI Documentation
Gemini CLI Documentation
Kiro CLI Documentation (formerly Amazon Q Developer CLI)
GitHub Copilot CLI Documentation
Aider Documentation
Goose Documentation
OpenCode Documentation
Qwen Code Documentation
References:
Tech Blog with curated related content
Written by Hidekazu Konishi