Claude Code is Anthropic’s official CLI tool for software engineering tasks. It runs directly in your terminal and interacts with Claude to edit files, execute shell commands, search your codebase, manage git workflows, and more. Rather than acting as a passive assistant, Claude Code operates as an autonomous agent that takes real actions in your project — reading and writing files, running commands, and coordinating multi-step work. The tool is built around a conversation loop: you describe what you want, Claude reasons about the best approach, invokes the appropriate tools, and reports results — asking for permission before taking consequential actions. A permission system governs every tool invocation, so you stay in control of what the agent is allowed to do.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/killlowkey/claude-code/llms.txt
Use this file to discover all available pages before exploring further.
Key capabilities
File editing
Read, write, and partially modify files across your project, including images, PDFs, and Jupyter notebooks.
Shell execution
Run arbitrary shell commands via
BashTool, with a configurable permission model that prompts before executing.Codebase search
Search file contents with ripgrep (
GrepTool) and match file paths with glob patterns (GlobTool) across repositories of any size.Git workflows
Create commits (
/commit), review pull requests (/review), diff changes (/diff), and manage git worktrees for isolated parallel work.Multi-agent orchestration
Spawn sub-agents with
AgentTool, coordinate parallel work with TeamCreateTool, and manage tasks across a swarm of agents via the coordinator/ subsystem.MCP integration
Connect to any Model Context Protocol server to extend Claude Code with custom tools and resources, managed through the
/mcp command and MCPTool.Architecture overview
Claude Code is structured around a React + Ink terminal UI, meaning the interactive REPL and all full-screen interfaces (such as/doctor and session choosers) are React component trees rendered to the terminal via Ink. The CLI entry point (src/main.tsx) uses Commander.js to parse arguments and subcommands, then hands off to the Ink renderer.
The runtime is Bun, which also handles bundling and dead-code elimination via feature flags (bun:bundle). Heavy modules such as OpenTelemetry (~400 KB) and gRPC (~700 KB) are deferred with dynamic import() until they are actually needed, keeping startup fast.
All tools and slash commands are self-contained modules registered at startup. Schema validation throughout the codebase uses Zod v4. Two external protocols are integrated: MCP (Model Context Protocol) for connecting to external tool servers, and LSP (Language Server Protocol) for language intelligence.
Tech stack
| Category | Technology |
|---|---|
| Runtime | Bun |
| Language | TypeScript (strict) |
| Terminal UI | React + Ink |
| CLI parsing | Commander.js (extra-typings) |
| Schema validation | Zod v4 |
| Code search | ripgrep |
| Protocols | MCP SDK, LSP |
| API | Anthropic SDK |
| Telemetry | OpenTelemetry + gRPC |
| Auth | OAuth 2.0, JWT, macOS Keychain |