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]
Because developers still search for the original names, this page keeps "Gemini CLI" and "Amazon Q Developer CLI" as rows and documents the current successor facts (Antigravity CLI and Kiro CLI) inline.

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 Google 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.md is a shared convention across OpenAI Codex CLI, GitHub Copilot CLI, and OpenCode, while Claude Code uses CLAUDE.md, Gemini CLI uses GEMINI.md, and Qwen Code uses QWEN.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).
AgentSupported OS (per official docs)
Claude CodemacOS, Windows, and Linux (Ubuntu/Debian/Alpine), on x64 and ARM64; runs natively on Windows or inside WSL. [docs]
OpenAI Codex CLImacOS, Linux, and Windows; Windows runs natively (PowerShell, with a sandbox) or via WSL2. [docs]
Gemini CLImacOS, 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 CLILinux, macOS, and Windows (from PowerShell and WSL). [docs]
AiderCross-platform Python package (macOS, Linux, Windows). [docs]
GoosemacOS, Linux, and Windows (desktop app and CLI). [docs]
OpenCodemacOS, Linux, and Windows (including WSL). [docs]
Qwen CodemacOS, 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.
AgentModels / providers (per official docs)
Claude CodeAnthropic 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 CLIOpenAI GPT / Codex model family, selectable with /model or --model; some models are tied to ChatGPT sign-in. [docs]
Gemini CLIGoogle 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 CLIModels available within the GitHub Copilot plan, switchable at runtime; custom providers (OpenAI-compatible, Azure OpenAI, Anthropic) can also be configured. [docs]
AiderModel-agnostic: works with many providers (Anthropic, OpenAI, Google, DeepSeek, local models, and others). [docs]
GooseModel-agnostic across many providers (Anthropic, OpenAI, Google, local runners, and cloud gateways). [docs]
OpenCodeModel-agnostic across many providers (Anthropic, OpenAI, Google, local models, and others). [docs]
Qwen CodeModel-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).
AgentMCP support (per official docs)
Claude CodeClient: 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 CLIClient 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 CLIClient: 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 CLIClient: ships with a built-in GitHub MCP server and supports additional custom MCP servers. [docs]
AiderNot documented (as of Last Updated); MCP is not part of the official Aider documentation. [docs]
GooseClient: a core design point — connects to many "extensions" built on MCP. [docs]
OpenCodeClient: MCP servers configured in opencode.json. [docs]
Qwen CodeClient: 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.
AgentSubagents / delegation (per official docs)
Claude CodeSubagents: built-in types (Explore, Plan, general-purpose) plus custom subagents defined in .claude/agents/. [docs]
OpenAI Codex CLISubagents: built-in types (default, worker, explorer) plus custom agents defined in .codex/agents/. [docs]
Gemini CLISubagents: 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 CLIYes: automatically delegates common tasks to specialized custom agents. [docs]
AiderNot documented (as of Last Updated); Aider offers "chat modes" (including an architect/editor mode) but no multi-agent delegation feature is documented. [docs]
GooseSubagents: can spawn independent subagents to work tasks in parallel; also supports recipes and subrecipes. [docs]
OpenCodeAgents: a configurable agents feature for task-specific behavior. [docs]
Qwen CodeSubagents: 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.
AgentHooks / extensions (per official docs)
Claude CodeLifecycle hooks (for example PreToolUse, PostToolUse, SessionStart), plus Skills and Plugins that bundle skills, agents, hooks, and MCP servers. [hooks] [plugins]
OpenAI Codex CLILifecycle hooks, Agent Skills (SKILL.md), and Plugins distributed via a marketplace. [hooks] [plugins]
Gemini CLICustom 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 CLICustom agents and custom instructions provide extensibility; capabilities are also extended through MCP servers. [docs]
AiderNot documented (as of Last Updated); Aider has no formal hooks or plugin system, though a conventions file can supply project context. [docs]
GooseExtensions: a large catalog of MCP-based extensions, plus the ability to build custom ones. [docs]
OpenCodePlugins (and custom commands) provide extensibility. [docs]
Qwen CodeCustom 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.
AgentNon-interactive mode (per official docs)
Claude Codeclaude -p / --print runs non-interactively; --output-format json and a --bare mode support scripting and CI. [docs]
OpenAI Codex CLIcodex exec runs non-interactively and streams results to stdout or JSONL (--json). [docs]
Gemini CLIgemini -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 CLIcopilot -p "prompt" executes a prompt programmatically and exits. [docs]
Aideraider --message "..." (with --yes to auto-confirm) runs a single non-interactive request; scripting is also supported. [docs]
Goosegoose run executes instructions non-interactively (text or an instruction file). [docs]
OpenCodeopencode run executes a prompt non-interactively; opencode serve exposes a headless HTTP server. [docs]
Qwen CodeHeadless 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).
AgentIDE integration (per official docs)
Claude CodeOfficial VS Code extension and a JetBrains plugin (Beta). [docs]
OpenAI Codex CLIOfficial VS Code extension and JetBrains plugin (the extensions are separate from the open-source CLI). [docs]
Gemini CLIA "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 CLIThe CLI is the terminal surface; GitHub Copilot's editor integration is a separate product (out of scope here). [docs]
AiderRuns alongside any editor and watches files for AI-comment triggers; no dedicated editor extension is required. [docs]
GooseShips as a desktop app in addition to the CLI. [docs]
OpenCodeOffers additional surfaces (including a VS Code integration and a web client) over a shared backend. [docs]
Qwen CodePrimarily 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.
AgentConfig file / project-memory file (per official docs)
Claude CodeSettings in .claude/settings.json (and user/managed levels), MCP servers in .mcp.json, project memory in CLAUDE.md. [docs]
OpenAI Codex CLIConfig in ~/.codex/config.toml (and project layers); project instructions in AGENTS.md. [docs]
Gemini CLISettings 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 CLIA ~/.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]
OpenCodeopencode.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.
AgentOpen source / licenseAuthentication (per official docs)
Claude CodeNo; 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 CLIYes; Apache-2.0. [repo]ChatGPT account sign-in or an OpenAI API key (CODEX_API_KEY for codex exec automation). [docs]
Gemini CLIYes; 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 CLINo; the repository is source-available under a proprietary license. [repo]A GitHub Copilot subscription. [docs]
AiderYes; Apache-2.0. [repo]Provider API keys (set via environment variables or config). [docs]
GooseYes; Apache-2.0. [repo]Provider API keys or subscription-based provider access. [docs]
OpenCodeYes; MIT. [repo]Provider API keys / provider sign-in. [docs]
Qwen CodeYes; 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]
Alibaba's Qwen team aside, several vendor betas (for example xAI's Grok Build) are also emerging; they are omitted here until their documentation stabilizes.

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, and qwen -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