Key capabilities
Natural language coding — Describe changes in plain English. Claude Code understands your intent and translates it into edits, new files, or terminal commands without you writing a single line manually. File reading and editing — Claude Code reads files (including images, PDFs, and Jupyter notebooks), makes targeted edits, and creates new files. It uses a string-replacement model for edits so changes are precise and reviewable. Bash execution — Claude Code can run arbitrary shell commands. Every execution goes through a permission check so you stay in control of what runs on your machine. Git workflows — Built-in support for commits, branches, diffs, and pull request operations. The/commit and /review slash commands automate common git tasks.
MCP (Model Context Protocol) — Connect external tools and data sources through MCP servers. Claude Code ships with a full MCP client and server registry, and you can add custom servers to extend what Claude can access.
Multi-agent orchestration — Spawn sub-agents via AgentTool and coordinate parallel workstreams with TeamCreateTool. The coordinator/ subsystem manages agent swarms for large tasks that benefit from parallelism.
Architecture overview
Claude Code is built on the following stack:| Layer | Technology |
|---|---|
| Runtime | Bun |
| Language | TypeScript (strict) |
| Terminal UI | React + Ink |
| CLI parsing | Commander.js |
| Schema validation | Zod v4 |
| LLM API | Anthropic SDK |
| Code search | ripgrep |
| Auth | OAuth 2.0, JWT, macOS Keychain |
main.tsx, which initializes Commander.js and renders the terminal UI using React and Ink. The core query loop lives in QueryEngine.ts, which handles streaming responses, tool-call cycles, retry logic, and token accounting. All tools are self-contained modules under src/tools/, and all slash commands live under src/commands/.
Startup time is optimized by prefetching MDM settings and keychain reads in parallel before heavy module evaluation begins, and large dependencies like OpenTelemetry (~400 KB) and gRPC (~700 KB) are deferred with dynamic import() until first use.
Claude Code requires an Anthropic account. Run
/login inside the REPL to authenticate via OAuth the first time you start it.Where to go next
Quickstart
Install Claude Code and run your first session in under five minutes.
Architecture
A deeper look at the tool system, query engine, and permission model.
Commands reference
Full reference for all slash commands available in the REPL.