Claude Code is Anthropic’s agentic coding tool. Anthropic’s own description is that it "reads your codebase, edits files, runs commands, and integrates with your development tools," which is accurate but undersells the part that matters: it operates in a loop rather than answering a question.
That is the whole distinction from an autocomplete or a chat window. You describe an outcome, and it searches the repository, reads the files it found, edits several of them, runs the test suite, reads the failure, tries again, and commits. It went generally available on May 22, 2025 alongside Claude 4, and it has been shipping changes weekly since.
What separates it from autocomplete and chat
An IDE completion predicts the next few lines from the ones above. A chat window answers a question about code you paste into it. Claude Code does neither, because it has tools.
Given "the date parser breaks on Australian input," it will grep for the parser, read it, read the tests, find the locale assumption, change it, run the tests, notice two other call sites now fail, fix those, and show you the diff. Nothing there was retrieval. Every step depended on the result of the previous one.
It is also Unix-composable, which is easy to miss and unusually useful. tail -200 app.log | claude -p "what is causing these 500s" works, and so does putting it in a shell script.
Installing Claude Code, and which surface you are on
The recommended path is the native installer, which auto-updates: curl -fsSL https://claude.ai/install.sh | bash on macOS, Linux and WSL, or the PowerShell equivalent on Windows. Homebrew, winget and signed apt, dnf and apk repositories all work too. The npm package installs the same native binary and now requires Node 22 or later, though the binary itself does not use Node at runtime.
Surfaces are where accuracy usually slips, because the status genuinely varies:
- Terminal CLI is generally available and is the primary surface
- VS Code extension is generally available, needs VS Code 1.94 or later, and also works in Cursor and Open VSX forks
- JetBrains plugin is still labeled beta in the marketplace listing and in its own settings panel, across IntelliJ, PyCharm, WebStorm, PhpStorm, GoLand, Rider and Android Studio
- Desktop app ships for macOS, Windows on both x64 and ARM64, and Linux
- Claude Code on the web is described by Anthropic as being "in research preview" for Pro, Max, Team and qualifying Enterprise users, though a lot of coverage calls it generally available
- GitHub Actions reached v1.0, and the older beta tag is deprecated with breaking changes
- Agent SDK exists for Python and TypeScript only; other languages drive the CLI as a subprocess
The permission model, which is the part to understand
Claude Code has six permission modes, and picking the right one is most of the difference between it being useful and it being alarming.
default, relabeled Manual in the interface, asks before each consequential action. acceptEdits stops asking about file edits but still asks about commands. plan is read-only and produces a plan for you to approve. auto and dontAsk progressively reduce interruptions. bypassPermissions removes the prompts entirely.
One sentence from the permissions documentation deserves quoting because it corrects a common assumption: "Permission rules are enforced by Claude Code, not by the model." The enforcement is in the harness. This also means a CLAUDE.md file cannot grant permissions, only describe intent.
Sandboxing is a separate operating-system-level layer that covers Bash specifically, and it is not available on native Windows or WSL1. Two documented sharp edges: bypassPermissions can write to .git, .claude, .vscode and .idea, and acceptEdits inside an IDE can edit editor configuration files that execute automatically. Both are in the official documentation rather than being discoveries.
Project memory, subagents and hooks
CLAUDE.md is the project memory file, loaded in a defined order from managed policy through your home directory to the project and then a local override. It supports @path imports up to four hops deep, and .claude/rules/ allows path-scoped rules. Anthropic recommends keeping it under 200 lines. There is also an automatic memory file, of which the first 200 lines or 25 KB load per session.
Worth knowing: Claude Code reads CLAUDE.md, not AGENTS.md. If your repository standardized on the latter, import or symlink it.
Custom slash commands have been folded into skills, so descriptions of a separate .claude/commands/ system are now out of date. Subagents live in .claude/agents/, run in the background by default, and are capped at 200 per session. Hooks fire on defined events such as PreToolUse and InstructionsLoaded, and they are the actual enforcement layer that CLAUDE.md is not. MCP servers are supported with tool definitions deferred by default, so only names enter the context window until a tool is used. We covered the parallel-agent patterns this enables in dynamic workflows in Claude Code, and the built-in browser in our look at Claude Code’s browser.
Pricing, and the limit nobody reads carefully
The free tier does not include Claude Code. The setup documentation is explicit: it requires Pro, Max, Team, Enterprise or a Console account.
Pro is $17 a month billed annually or $20 monthly. Max starts at $100 a month across two tiers. Team Standard is $20 per seat annually or $25 monthly, and Team Premium is $100 or $125. Enterprise starts at $20 per seat with a 500,000 token context window.
The limit structure is the part to internalise. There is a rolling five-hour window and a weekly window, and both are shared with Claude chat and Cowork. Heavy chat use eats into your coding budget. The pricing page publishes multipliers rather than hours, and the older support article quoting hour bands for Sonnet 4 and Opus 4 is stale.
On pay-as-you-go through the API, Anthropic’s cost documentation puts real-world usage around $13 per developer per active day and $150 to $250 per developer per month, with 90 percent of users under $30 on an active day.
Which model it runs
Model selection uses aliases rather than version strings: default, best, fable, sonnet, opus, haiku, plus long-context variants and opusplan, which uses Opus during plan mode and switches to Sonnet for execution.
Two things surprise people. Fable 5 is the most capable option but is not the default, so you select it explicitly. And alias resolution differs by provider: through the Anthropic API sonnet resolves to Sonnet 5, while on Bedrock and Google’s platform it resolves to Sonnet 4.5. If you are running through a cloud provider, check what you are actually getting. There is also an /effort setting from low through max, and extended thinking is on by default and cannot be disabled on Fable 5.
Where Claude Code genuinely struggles
All of this is from Anthropic’s own documentation rather than from complaint threads.
Auto-compaction can thrash when a large file repeatedly refills the context window. Memory and CPU use climb on large codebases. Under WSL, cross-filesystem search silently returns fewer results while the built-in diagnostic still reports search as healthy, which is the worst kind of failure. The bundled ripgrep fails on musl-based systems such as Alpine. Markdown tables truncate at 200 rows.
The most useful admission concerns CLAUDE.md itself: its content "is delivered as a user message… there’s no guarantee of strict compliance," and contradictory rules are "picked arbitrarily." Treat it as strong guidance, not configuration. On prompt injection the documentation says plainly that "no system is completely immune to all attacks," which is the same conclusion we reached from the defender’s side in our coverage of CMS agent permissions.
Web sessions carry their own constraints: they share your account rate limits, require GitHub for cloning and pull requests, and fail entirely under organizational IP allowlisting.
Frequently Asked Questions
What is Claude Code?
Claude Code is Anthropic’s agentic coding tool. It reads a codebase, edits files across it, runs commands and integrates with development tools, operating in a loop where each step depends on the result of the last rather than answering a single question. It runs primarily in the terminal, with extensions for VS Code and JetBrains editors, a desktop app, a web surface and a GitHub Actions integration.
Is Claude Code free?
No. It requires a Pro, Max, Team, Enterprise or Console account, and Anthropic’s setup documentation states this explicitly. Pro is $17 a month billed annually or $20 monthly. Usage draws on a rolling five-hour window and a weekly window, both shared with Claude chat and Cowork, so heavy chat use reduces what is left for coding.
How is it different from GitHub Copilot or an IDE assistant?
Completion tools predict the next lines from surrounding context. Claude Code has tools and runs a loop: it can search a repository, read multiple files, edit several at once, execute the test suite, read the failure output and revise. The unit of work is a task rather than a line, which is also why the permission model matters so much more.
What is CLAUDE.md?
It is the project memory file, loaded in a defined order from managed policy through your home directory to the project directory and a local override, with imports supported up to four hops. Anthropic recommends keeping it under 200 lines. Note two things: Claude Code reads CLAUDE.md rather than AGENTS.md, and the documentation states there is no guarantee of strict compliance because the content arrives as a user message.
Can Claude Code run without asking permission for everything?
Yes, through six permission modes ranging from asking about each action to bypassing prompts entirely. Enforcement happens in the tool rather than in the model, so the rules are real controls rather than instructions. Two documented risks are worth noting: the most permissive mode can write to directories such as .git and .claude, and accepting edits inside an IDE can modify editor configuration files that execute automatically.
Which Claude model does it use?
Selection is by alias rather than version string, including sonnet, opus, haiku, fable and opusplan, which runs Opus for planning and Sonnet for execution. Fable 5 is the most capable option but is not the default and must be selected explicitly. Alias resolution also varies by provider, so the same alias can resolve to a different model on Bedrock or Google’s platform than on the Anthropic API.
Is Claude Code available in the browser?
There is a web surface, but Anthropic describes it as being in research preview for Pro, Max, Team and qualifying Enterprise users rather than generally available. It shares your account rate limits, requires GitHub for cloning and opening pull requests, offers only bundle-based access for GitLab and Bitbucket without push, and does not work at all under organizational IP allowlisting.
How much does it cost to run day to day?
On the API, Anthropic’s own cost documentation puts typical usage at roughly $13 per developer per active day and $150 to $250 per developer per month, with 90 percent of users staying under $30 on an active day. On a subscription the cost is fixed and the constraint is the rate limit instead, which is why the shared five-hour and weekly windows matter more than the headline price.