UPDATED IN SEPTEMBER 2026

CLI agents (Claude Code, Codex) as primary

How shifting from IDE plugins to CLI-based agents makes AI a programmable, scriptable part of your development workflow rather than a typing assistant.

L3 · SYSTEMATICWhat this level takes
MUSTNot met, not at this level
  • Coding conventions are written as explicit, agent-parseable rules (not implicit tribal knowledge)
  • Per-team or per-repo rules files exist and are maintained with code review
  • CLI agents (Claude Code, Codex) are the primary coding interface for 50%+ of feature work
SHOULDExpected in practice, not required
  • Agent usage is tracked per developer and per repository
  • Agent instruction files follow a standardized template across the organization
EVIDENCEHow you would check
  • CLI agent session logs or telemetry showing primary usage
  • Rules files in repository with commit history showing regular updates
  • Coding conventions document cross-referenced from agent instruction files
DEPENDS ON
  • Development L2 (Context Engineering) - agent instruction files must exist before rules-per-team layering is meaningful

What It Is

CLI agents - Claude Code, OpenAI Codex CLI, Aider, and similar tools - run in your terminal rather than inside an IDE plugin. This architectural difference is more significant than it appears. A CLI agent is a programmable tool: it can be invoked by scripts, chained into workflows, run in CI/CD pipelines, triggered by git hooks, and executed in remote environments without a graphical IDE. An IDE plugin is a convenience feature; a CLI agent is infrastructure.

At L3 (Systematic), CLI agents become primary - not supplementary. The developer's main AI interaction is no longer the chat sidebar or inline suggestions, but a terminal session where they describe tasks, the agent executes them, and the developer reviews results. The IDE still exists (with Copilot still running for inline assistance), but the high-leverage work happens in the CLI.

Claude Code is the canonical example: run claude in your project root, give it a task, and it uses tools to read files, make edits, run tests, and iterate until the task is complete. As of March 2026, Claude Code also supports Computer Use (interacting with GUIs, browsers, and desktop applications) and Auto Mode (dynamically choosing between tool use strategies), extending CLI agents beyond pure code tasks into full-environment automation. OpenAI's original Codex CLI is no longer actively developed - OpenAI shifted investment to Codex integrated within ChatGPT, which operates as a cloud-hosted agent rather than a local CLI tool. Aider supports multiple backends and is especially strong for pair-programming style interaction. Gemini Code Assist Agent Mode, now GA on IntelliJ (and other JetBrains IDEs), blurs the CLI/IDE boundary by offering terminal-grade agentic capabilities from within the IDE. All of these tools share the same core architecture: a language model with tool access, running autonomously.

By June 2026, the same CLI architecture also runs on self-hostable open-weight models, which makes a locally-run agent a credible primary path rather than a fallback. Z.ai's GLM-5.2 (MIT-licensed, ~June 13) beat GPT-5.5 on SWE-bench Pro at roughly one-sixth the cost; Kimi K2.7-Code (Moonshot, June 12) shipped with day-one vLLM/SGLang support; and DeepSeek V4 now leads open-weight SWE-bench. All of them run through llama.cpp, vLLM, or Ollama and plug into the same CLI-agent loop as hosted models. The sovereignty case got concrete the same week: Anthropic's hosted Fable 5 and Mythos 5 launched June 9 and were disabled worldwide June 12 under a US export-control order. Fable 5 was restored July 1 after the export controls lifted June 30, but the three-week outage proved the point: teams that depend on a CLI agent for primary work should keep a self-hostable model wired into the same workflow so a single vendor or policy change cannot stall delivery.

July 2026 refreshed the entire model layer underneath these harnesses. Claude Opus 5 (July 24, $5/$25 per 1M tokens, low/medium/high effort toggle) became the new Claude Code default, marketed as near-Fable performance at half the price. GPT-5.6 went GA July 9 in Sol/Terra/Luna tiers, with Sol 54% more token-efficient on coding and a 1.05M context window. Grok 4.5 (July 16, $2/$6) shipped with Grok Build, a terminal agent whose agent loop is open-sourced and speaks the Agent Client Protocol, and Zhipu released the ZCode harness for GLM-5.2 (July 6). The more important shift is the dominant usage pattern that emerged with them: model routing, or "frontier plans, cheap executes." Cursor's Router/Auto (July 22) exposes Intelligence/Balance/Cost modes; open-weight GLM-5.2, Kimi K2.7-Code, and DeepSeek V4 increasingly serve as cheap execution workers under a frontier planner; and the mixmod demo of GPT-5.5 supervising local Qwen workers cut frontier-token spend by 75.5%. At L3, "which model" is becoming a routing policy inside the CLI harness, not a single procurement decision.

August then inverted that routing policy in four weeks. Anthropic made Sonnet 5's introductory pricing permanent on August 10, cancelling the scheduled 1 September rise from $2/$10 to $3/$15 per MTok, and retired Claude Opus 4.1 from the first-party API on August 5. OpenAI cut GPT-5.6 Sol from $5/$30 to $4/$20 on August 21, promotional through at least November 21, having already cut Luna about 80% to $0.20/$1.20 and Terra about 20% to $2.00/$12.00 on July 30. Grok 4.6 arrived on August 12 with a 500K context at $2/$6 and an Artificial Analysis Intelligence Index of 61, tied with GPT-5.6 Sol - the cheapest frontier-class coding model of the month. Meta shipped its first coding agent, Muse Code, on August 5: terminal-native on macOS and Linux, built on Muse Spark 1.2 with a 1M context, spawning subagents in isolated git worktrees, priced at $1.25 in / $0.15 cached / $4.25 out per MTok and still in beta. Even the open-weight floor moved. DeepSeek V4 Pro (August 13, roughly 671B total / 37B active MoE, MIT, 1M context) shipped with an API price increase, ending DeepSeek's role as the automatic cheap option, while Qwen3.8-Max (August 3, 2.4T total / 95B active, text weights released August 12) and GLM-5.3 (August 14, roughly 753B/40B, claiming about a 50% coding gain over 5.2 - a vendor claim) moved into the space it vacated. The practice implication is blunt: any routing config written in July is now wrong. Re-cost every workload, and put the next re-costing in the calendar before you close the spreadsheet.

The structural change underneath the prices matters more than any single one of them. deepseek-ai/deepseek-harness went public on August 13 under MIT - command name dsh, Node.js, developer preview - the same day V4 Pro went GA, and its organising idea is that everything is a plugin: the model adapter, the tool registry, the session log and the agent loop itself are all replaceable. A satellite ecosystem of web UIs, desktop shells, context dashboards and agent-team layers formed around it within weeks. Read alongside Shopify's July 29 conclusion that after five months of model swaps the harness, not the model, is the durable asset, this turns a vague preference into a concrete L3 maturity test: can you swap the model underneath your CLI agent without rewriting the harness above it?

The adoption baseline moved too. JetBrains' 2026 Developer Ecosystem Survey (15,000+ professional developers, fielded May to July across eight languages) reports 90% using AI coding agents at work at least weekly and 68% daily, with Claude Code at 39% tool share (up from 18% in January 2026), GitHub Copilot at 21% (down from 29%), Codex at 16% (up from 3%) and Cursor at 12% (down from 18%). Claude Code is the primary tool for 31% of respondents. JetBrains competes in this market, so read the shares with that in mind - but it is the largest public sample available, and it says CLI-first is now the majority position rather than the advanced one.

The "primary" designation at L3 reflects a workflow inversion. At L1-L2, developers write code and occasionally use AI to help. At L3, developers describe what they want and the agent writes code, with the developer reviewing and steering. The human role shifts from implementer to orchestrator.

Why It Matters

The move to CLI-first agents is the inflection point where AI assistance becomes systematically integrated rather than ad-hoc:

  • Scriptability - CLI agents can be invoked from Makefiles, shell scripts, CI/CD pipelines, and GitHub Actions; IDE plugins cannot
  • Automation foundation - the same CLI command you run manually can become an automated step in your workflow; this is the path to L4 unattended agents
  • Environment independence - CLI agents run anywhere a terminal runs: local machines, CI runners, remote servers, Docker containers
  • Composability - CLI agents can be chained with other CLI tools; claude "generate tests" | grep TODO is a legitimate workflow
  • Separation of concerns - your IDE focuses on editing; your terminal focuses on agentic tasks; concerns don't compete for the same interface

CLI agents also enable a crucial L3 practice: systematic measurement. When agent invocations are CLI commands, they can be logged, timed, and analyzed. You can measure how long tasks take, how often agents need corrections, and which task types produce the best results. This measurement is what makes L3 systematic rather than just guided.

TIP

Create shell aliases for your most common agent tasks. alias write-tests='claude "write unit tests for the file I just modified, following patterns in existing tests"' turns a multi-step interaction into a single keystroke. These aliases are also the seeds of your L4 automation scripts.

Getting Started

  1. Install Claude Code globally - npm install -g @anthropic-ai/claude-code or follow the official installation instructions. Set your ANTHROPIC_API_KEY environment variable.
  2. Run claude in your project root - Claude Code will read your CLAUDE.md and establish project context. Do this at the start of every development session.
  3. Start with well-defined tasks - "Write unit tests for src/utils/parser.ts following the patterns in src/utils/formatter.test.ts" is a good first CLI agent task. Bounded, verifiable, and low-risk.
  4. Build a personal task library - Keep a text file of agent prompts that worked well. Over time, this becomes a reusable library of task templates. Share it with your team as part of your L3 standardization.
  5. Integrate with your Makefile or task runner - Add agent invocations to your development workflow: make test-generate could run Claude Code to generate tests for recently modified files. This is the first step toward automation.
  6. Establish team conventions for agent usage - At L3, document which task types are suitable for CLI agents, what context to include in prompts, and how to review agent output. These conventions go in your team's CLAUDE.md or engineering handbook.
TIP

Use claude --print to get agent output as plain text that you can pipe to other tools or save to files. This is the composability feature that makes CLI agents genuinely different from IDE plugins.

Common Pitfalls

Treating CLI agents as a faster chat interface. The CLI isn't just a different UI for asking questions. It's a different paradigm: give a task, review a result. Developers who use Claude Code like a chat panel (asking questions, getting answers, asking follow-ups) get IDE-plugin-level value from a tool built for much more. Shift to task-oriented prompts with acceptance criteria.

Skipping the project context initialization. Always run your CLI agent from the project root, where it can read CLAUDE.md. Running from a subdirectory or a different working directory produces generic output that ignores your project conventions. Make cd project-root && claude a habit before anything else.

Not integrating with version control. CLI agents should always run on a clean branch or with a recent commit as a checkpoint. Agents running in the terminal can make changes as fast as you can approve them, and without version control checkpoints, mistakes are hard to isolate. git add -p after an agent run is good practice at L3.

Neglecting the measurement opportunity. CLI agents are instrumentable in ways IDE plugins are not. At L3, you should be logging agent invocations: task type, duration, number of iterations, human corrections required. This data drives the optimization that characterizes L3 and sets up L4. If you're not measuring, you're still at L2 behavior.

How Different Roles See It

BobHEAD OF ENGINEERING

Bob's team is using Copilot well (L2), but adoption of Claude Code has been slower. Developers say the CLI interface feels unfamiliar and they prefer the IDE plugins they're used to. Bob isn't sure whether to push adoption or let it happen organically.

What Bob should do: The resistance to CLI agents is workflow resistance, not tool resistance. Bob should run a structured "CLI agent sprint": for two weeks, every developer commits to using Claude Code for at least one substantial task per day, tracked in a shared log. After two weeks, review: what tasks did people use it for? What worked? What didn't? The sprint creates the shared experiential vocabulary that drives adoption better than any top-down mandate. Bob should also ensure CLAUDE.md is mature before pushing CLI agent adoption - an agent with good context produces better results, which creates better first impressions.

SarahPRODUCTIVITY LEAD

Sarah can now see a cleaner measurement story at L3. CLI agents produce logs, and logs produce metrics. She wants to establish the measurement infrastructure before the team scales their agent usage.

What Sarah should do: Instrument Claude Code usage with the built-in logging and token tracking. Track: (1) tasks attempted per developer per week, (2) average iterations per task (lower is better context quality), (3) human correction rate (how often does the developer have to fix agent output before it's usable). These three metrics, tracked over time, tell the story of AI maturity progression: as CLAUDE.md improves, iterations per task decreases. As developers get better at task specification, correction rate decreases. Sarah should set quarterly targets for each metric and report progress to stakeholders as "AI workflow efficiency" rather than "AI adoption rate" - the former is a productivity story, the latter is a vanity metric.

VictorSTAFF ENGINEER - AI CHAMPION

Victor has been using Claude Code as his primary development tool for months. He's written shell scripts that invoke it automatically on common task patterns and has integrated it into his personal Makefile. His iteration speed on new features is 3-4x what it was before.

What Victor should do: Victor should formalize his shell script library as team infrastructure. A shared repository of claude invocation scripts - generate-tests.sh, refactor-module.sh, implement-from-spec.sh - gives the whole team the productivity gains Victor has achieved individually. Victor should also propose adding a standard "AI task log" to the team's workflow: a simple shared doc where developers record the CLI agent tasks they ran that week and their quality assessment. This lightweight process creates the measurement data Sarah needs and surfaces the best practices that Bob should scale.

How This Guide Changed

What each edition changed in this guide, newest first.

  1. V1.6September 2026LATEST

    The model layer under the harness re-priced itself faster than anyone can re-negotiate a contract. Sonnet 5's introductory pricing became permanent on August 10, GPT-5.6 Sol dropped to $4/$20 on August 21, Grok 4.6 landed at $2/$6 with a 500K context, Meta entered with Muse Code, and DeepSeek V4 Pro shipped with a price increase that ended its run as the default cheap worker. The lesson recorded here is not any one number but the cadence: a routing table is a config with an owner and an expiry date, not a procurement decision. The month also produced the sharper version of the sovereignty argument this guide has been making since June - DeepSeek open-sourced its own harness under MIT, with the agent loop itself as a swappable plugin, which makes "can you change models without rewriting the harness" a question you can now actually answer.

  2. V1.5August 2026

    Closed the sovereignty story from June: Fable 5 was restored on July 1 after the export controls lifted June 30. The three-week outage is what proved the point, so the advice to keep a self-hostable model wired into the same workflow stayed, now backed by a resolved incident rather than an open one.

  3. V1.4July 2026

    Established that the same CLI architecture runs on self-hostable open-weight models, making a locally-run agent a credible primary path rather than a fallback. GLM-5.2 beat GPT-5.5 on SWE-bench Pro at roughly one-sixth the cost, Kimi K2.7-Code shipped with day-one vLLM and SGLang support, and DeepSeek V4 led open-weight SWE-bench, all plugging into the same loop through llama.cpp, vLLM or Ollama. Anthropic launching Fable 5 and Mythos 5 on June 9 and disabling them worldwide on June 12 made the case concrete.

  4. V1.1April 2026

    Updated the tool landscape. Claude Code gained Computer Use and Auto Mode, extending CLI agents beyond code into full-environment automation; OpenAI's original Codex CLI stopped being actively developed as investment shifted to Codex inside ChatGPT as a cloud-hosted agent; and Gemini Code Assist Agent Mode reached GA on JetBrains IDEs, blurring the CLI and IDE boundary.

  5. V1.0March 2026

    The guide shipped to make an architectural argument that was still contrarian at the time: a CLI agent is infrastructure, an IDE plugin is a convenience feature. Teams were evaluating AI tools by suggestion quality, and the point here was that scriptability - invocable from a Makefile, a git hook, a CI job - is what turns assistance into something you can later automate. The L3 claim underneath it was the workflow inversion: developers stop writing code and start describing tasks and reviewing results.

Where does your team actually sit on this?

This guide describes one level of one area. Run the assessment to place your team across all 16 areas, see which gates you have passed, and get a report you can take to your stakeholders.

Start the assessment