Claude Code

Harness · Last verified 2026-09-30 · Install verified 2026-09-30

TL;DR

Claude Code is Anthropic's agentic coding tool for the terminal, IDEs, a desktop app and the browser. It edits files, runs commands and connects to MCP servers, and can split work across subagents, background sessions, dynamic workflows and experimental agent teams. It suits developers with a paid Claude plan or API access.

Key facts

Claude Code key facts. Data as of 2026-09-30.
Type Harness
Languages / SDKs TypeScript, Python
License unknown
Pricing model Hosted, paid
Orchestration pattern Supervisor
GitHub stars 148,652 (as of 2026-09-30)
GitHub forks 25,101
Last push 2026-09-30
Latest release v2.1.285
Repository anthropics/claude-code
Website code.claude.com
Documentation code.claude.com
Last verified 2026-09-30

Key features

  • The docs list five ways to run work in parallel: subagents, agent view, agent teams, dynamic workflows and cloud projects. (source)
  • Custom subagents are Markdown files in .claude/agents/ or ~/.claude/agents/ with their own prompt, tool list, model and permissions; each runs in its own context and returns a summary. (source)
  • Subagents can spawn their own subagents up to three layers deep by default, with 20 running at once before new spawns fail. (source)
  • Agent teams (experimental, off by default) run a lead session plus teammates in separate context windows that message each other and share a task list. (source)
  • Dynamic workflows: Claude writes a JavaScript script that runs many subagents in the background and cross-checks their results. (source)
  • MCP client for stdio and HTTP servers (claude mcp add), and claude mcp serve exposes Claude Code's tools to other MCP clients. (source)
  • Git worktrees isolate parallel sessions and subagents so their edits do not collide. (source)
  • Runs non-interactively with claude -p and from Python or TypeScript through the Agent SDK. (source)

Architecture and orchestration pattern

Pattern: Supervisor

Each Claude Code session is a single agent loop with its own context window, tools and permission mode. Parallelism is layered on top of that loop. Subagents run inside one session: Claude calls the Agent tool with a subagent type, the subagent works in a fresh context with its own tool allowlist and model, and only its summary returns. Subagents may nest up to three layers by default and can run in the foreground or background.

Beyond one session, agent view (claude agents, a research preview) dispatches and monitors background sessions, and cross-session messaging lets sessions pass findings. Agent teams, enabled with CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1, make the main session a fixed lead that spawns teammates as separate Claude Code instances; teammates message each other and share a task list, and cannot form nested teams. Dynamic workflows move the plan into a JavaScript script that fans out subagents and checks their results against each other.

Persistent knowledge lives in files: CLAUDE.md (or a repository's AGENTS.md) holds instructions, and auto memory stores notes Claude writes from your corrections. Worktrees give parallel sessions separate git checkouts; agent team members do not get worktrees automatically, so the docs advise partitioning files between them.

Human in the loop

Permission modes decide what needs approval: default (Manual) prompts on first use of each tool, acceptEdits auto-accepts file edits, plan explores without editing, auto sends actions to a safety classifier, dontAsk denies anything that would prompt, and bypassPermissions skips prompts except for a documented set of protected actions. Allow and deny rules and managed policies refine this per tool, and hooks can run checks before or after tool calls. /tasks lists background work, including subagents, and lets you attach to or stop an item; claude agents shows which background sessions need input. In agent teams you can message any teammate directly and change an individual teammate's permission mode after it spawns.

Protocols

MCP, A2A and AG-UI support for Claude Code. See the full matrix.
ProtocolSupportNote
MCP Yes evidence
checked 2026-09-30
Client for stdio and HTTP MCP servers added with claude mcp add, and server mode via claude mcp serve that exposes Claude Code's tools to other MCP clients.
A2A Unknown
checked 2026-09-30
No A2A mention in the docs llms.txt index, the agents, sub-agents, agent-teams or MCP pages, or the README; GitHub code and issue title searches in anthropics/claude-code found nothing.
AG-UI Unknown
checked 2026-09-30
No AG-UI mention in the docs index, README or repository issues; the AG-UI README lists Anthropic's Claude Agent SDK (via an adapter in the AG-UI repo), not Claude Code itself.

Best for

  • Coding work in an existing repository from the terminal, an IDE or the desktop app, with subagents keeping searches and logs out of the main context. (shortlist)
  • Large refactors, migrations or audits split across parallel subagents, worktrees or dynamic workflows. (shortlist)
  • Organisations that need managed settings, permission policies and team spend limits for developers on Team or Enterprise plans. (shortlist)
  • Research and review tasks where agent-team members investigate competing hypotheses and challenge each other's findings. (shortlist)

Not for

  • Anyone needing an open-source license: the repository's LICENSE.md reserves all rights under Anthropic's Commercial Terms.
  • Users on the free claude.ai plan, which does not include Claude Code.
  • Teams wanting stable multi-agent coordination today: agent teams are experimental, off by default, and cannot be resumed with in-process teammates.

Quickstart

curl -fsSL https://claude.ai/install.sh | bash

Install verified 2026-09-30 (temp dir, Node v22.22.3, macOS arm64: local npm i @anthropic-ai/claude-code (no -g) ok, npx --no-install claude --version ok, @anthropic-ai/claude-code 2.1.285. This is the npm method documented on the setup page; the default installer script (curl ... | bash) was not run. Packages came from the registry.npmmirror.com mirror, so the version is the one that mirror served on this date. Install and import check only; not a functional test.). What this means

curl -fsSL https://claude.ai/install.sh | bash

# a project subagent with a narrow tool list and a cheaper model
mkdir -p .claude/agents
cat > .claude/agents/test-runner.md <<'EOF'
---
name: test-runner
description: Runs the test suite and reports failures. Use after code changes.
tools: Bash, Read, Grep
model: haiku
---
Run the tests and list each failing case with file and line.
EOF

claude mcp add --transport http notion https://mcp.notion.com/mcp
claude -p "Fix the date parser bug, then have the test-runner subagent verify" --allowedTools "Read,Edit,Bash"

# opt in to experimental agent teams, then start an interactive session
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude

Common pitfalls

  • Requires a Pro, Max, Team, Enterprise or Console account (or a third-party provider such as Amazon Bedrock); the free claude.ai plan does not include Claude Code.
  • The README marks npm installation as deprecated; if you still use npm install -g @anthropic-ai/claude-code, it needs Node.js 22+ (from v2.1.198), optional dependencies enabled, and never sudo.
  • System requirements: macOS 13+, Windows 10 1809+, Ubuntu 20.04+, Debian 10+ or Alpine 3.19+, 4 GB RAM, internet access.
  • In -p (print) mode the session starts in Manual permission mode, so pass --allowedTools or a permission mode for unattended edits.
  • Enabling agent teams changes ordinary delegation: subagents that Claude names launch as teammates.
  • Running several sessions, subagents or teammates multiplies token usage.

Official quickstart

Pros

  • Several documented parallel modes, from in-session subagents to background sessions, scripted workflows and agent teams. (source)
  • Subagents are plain Markdown files that can be checked into a repo, with per-agent tool restrictions and model choice. (source)
  • Works as both an MCP client and an MCP server. (source)
  • Six permission modes plus allow/deny rules, managed policies and hooks give fine control over what runs without asking. (source)
  • Reads a repository's AGENTS.md as well as CLAUDE.md, and keeps auto memory across sessions. (source)

Cons

  • Not open source: LICENSE.md states all rights are reserved by Anthropic PBC and use is subject to the Commercial Terms of Service. (source)
  • Needs a paid Claude plan or Console/API billing; the free claude.ai plan is excluded. (source)
  • Agent teams are experimental and off by default, with documented limits: no resume of in-process teammates, lagging task status, one team per session and no nested teams. (source)
  • Parallel sessions and subagents multiply token usage, and agent teams cost more than a single session. (source)
  • Anthropic collects feedback data from use, including code acceptance or rejection and associated conversation data, per the README. (source)

Alternatives

FAQ

Does Claude Code support MCP?

Yes. It connects to stdio and HTTP MCP servers added with claude mcp add, and claude mcp serve runs it as an MCP server for other clients. A2A and AG-UI support are not documented.

Is Claude Code free?

No. It requires a Pro, Max, Team, Enterprise or Console account, or a third-party provider such as Amazon Bedrock; plan prices are on claude.com/pricing. The repository's LICENSE.md reserves all rights under Anthropic's Commercial Terms.

What is the difference between subagents and agent teams in Claude Code?

Subagents run inside one session and report a summary back to the caller. Agent teams are separate Claude Code instances led by the main session that message each other and share a task list; they are experimental and must be enabled with CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1.

Can Claude Code run without a human in the loop?

Yes: claude -p runs a task non-interactively, with --allowedTools or a permission mode deciding what may run without prompts; the Agent SDK does the same from Python or TypeScript.

How is Claude Code different from OpenCode?

Claude Code is proprietary and needs a paid Anthropic plan, Console billing or a supported cloud provider; OpenCode is MIT-licensed and works with many model providers. Both support subagents and MCP.

Sources

Unknown fields: license: GitHub reports no license, so the field is 'unknown'. The repository's LICENSE.md (https://github.com/anthropics/claude-code/blob/main/LICENSE.md) reads: '© Anthropic PBC. All rights reserved. Use is subject to Anthropic's Commercial Terms of Service', i.e. proprietary, not an open-source license. languages lists the Agent SDK languages (Python, TypeScript) stated in the docs; the implementation language of the CLI binary is not stated in the docs. protocols.a2a and protocols.agui: searched the docs llms.txt index and the agents, sub-agents, agent-teams and MCP pages, the README, GitHub code search and issue search in anthropics/claude-code, and the AG-UI README; nothing found.

Something wrong or out of date, or do you maintain Claude Code and want this page removed? Report a correction or request removal.