Skip to content

The Real Reason AI Is Going Back to the Terminal

Illustration: a laptop showing a terminal window, with the Anthropic, Google and OpenAI logos above it

In the space of six months in 2025, four major AI vendors shipped coding agents that run in the terminal: Anthropic's Claude Code (24 February), OpenAI's Codex CLI (16 April), Google's Gemini CLI (25 June) and Cursor's CLI (7 August, in beta). The tool that looked like a step backwards — a prompt in a shell instead of a chat window — is where these companies put their agentic coding effort. This post looks at what they actually shipped, what the terminal is used for in the design, and which parts of the "return to the terminal" story are documented rather than assumed.

What shipped, and when

  • Claude Code (Anthropic, 24 February 2025). Announced alongside Claude 3.7 Sonnet as "a command line tool for agentic coding", initially in limited research preview: developers "delegate substantial engineering tasks to Claude directly from their terminal".
  • Codex CLI (OpenAI, 16 April 2025). Introduced with o3 and o4-mini as "a lightweight coding agent you can run from your terminal"; the repository describes it as "lightweight coding agent that runs in your terminal" under Apache-2.0.
  • Gemini CLI (Google, 25 June 2025). Open source under Apache 2.0, and — in Google's own words — "brings Gemini directly into developers' terminals".
  • Cursor CLI (Cursor, 7 August 2025). Announced in beta as "our new terminal-based agentic coding agent".

Four launches in one year is a pattern; the word "back" needs care. None of the announcements describes the move as a strategy of returning to something. What they describe is a capability: an agent that can act on a machine, which is easier to give a shell than a browser window. The interpretation that this is a deliberate retreat from graphical interfaces is an inference from the products, not a stated plan.

Why the terminal works for an agent: the loop

The technical reason the shell is a good fit is what those products do in it. Simon Willison's working definition of an agent is "something that runs tools in a loop to achieve a goal", and the useful part for coding is that the agent can verify its own work: these agents "can now directly exercise the code they are writing, correct errors, dig through existing implementation details, and even run experiments to find effective code solutions to problems".

Anthropic describes the same design decision from the inside: "We found that by giving Claude access to the user's computer (via the terminal), it had what it needed to write code like programmers do." The loop itself is documented as: Claude evaluates the prompt, calls tools to take action, receives the results, and repeats until the task is complete. A shell is where those tools already live — file system, build, test runner, version control — which is why the interface converges there rather than in a chat pane.

Why it spreads beyond the terminal

The other half of the shift is that the terminal agent is often the engine behind other interfaces:

  • Anthropic states that "the agent harness that powers Claude Code (the Claude Code SDK) can power many other types of agents, too", and renamed that SDK the Claude Agent SDK; its documentation says the SDK gives developers "the same tools, agent loop, and context management that power Claude Code, programmable in Python and TypeScript".
  • JetBrains' Claude Agent inside its IDEs is described as "advanced AI coding assistance built on Anthropic's Agent SDK, which powers Claude Code".
  • Claude Code itself now runs on several surfaces: "the terminal, IDE extensions, a desktop app, and the web".

So a fair version of the claim is: the terminal agent and its SDK became a layer that graphical clients build on, in the cases that have been published. The stronger version — that this is the backbone of almost every AI interface — is not supported by the sources reviewed here.

What this means if you write software

  • The interface is a detail; the loop is the product. An agent that can run your tests and read the failure is a different tool from one that only writes text about them, and the terminal is where the difference shows up first.
  • Permissions become the design question. Handing an agent a shell hands it your machine; the loop is only useful because it can act.
  • Expect CLI-first, then GUI. The pattern in the four examples above is a terminal tool first, then plugins, desktop and web clients on the same harness — useful to know when you are choosing what to integrate with.

Sources