Skip to main content
Claude Code is a command-line tool that brings Claude’s capabilities directly into your development workflow. You describe what you want in natural language, and Claude Code autonomously reads files, writes code, executes shell commands, and navigates your codebase to get the job done. It is powered by Anthropic’s Claude models and designed for real software engineering work: refactoring, debugging, code review, git operations, and large multi-step tasks that span many files.

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:
LayerTechnology
RuntimeBun
LanguageTypeScript (strict)
Terminal UIReact + Ink
CLI parsingCommander.js
Schema validationZod v4
LLM APIAnthropic SDK
Code searchripgrep
AuthOAuth 2.0, JWT, macOS Keychain
The entry point is 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.

Build docs developers (and LLMs) love