AI Tools
●14 min read●December 31, 2025

Claude Code: The Complete Guide to Agentic Coding in 2026

Install Claude Code on macOS, Windows or Linux, pick a plan, understand the default model and permission modes, and set up CLAUDE.md, skills, hooks and MCP. Updated October 2, 2026.

Paras Tiwari
Paras TiwariFounder, Spectrum AI Labs
Claude Code: The Complete Guide to Agentic Coding in 2026

Get weekly AI tool reviews

We test tools so you don't have to. No spam.

TL;DR

Claude Code is Anthropic's agentic coding tool. It reads your codebase, edits files, runs commands and opens pull requests, and you can drive it from the terminal, your IDE, the Claude desktop app or the browser. Install it with one command, sign in with a paid Claude plan or a Console account, and it starts on Claude Opus 5.5. If you only change one habit, give it a test or a build it can run to check its own work. The model, permission and project-file advice was checked against Anthropic's documentation on October 2, 2026.

Claude Code at a glance
Updated October 2, 2026
  • Runs in the terminal, VS Code, Cursor, JetBrains IDEs, the Claude desktop app, and the browser at claude.ai/code.
  • Native install: curl -fsSL https://claude.ai/install.sh | bash (macOS, Linux, WSL) or irm https://claude.ai/install.ps1 | iex (Windows PowerShell). Homebrew, WinGet, apt, dnf, apk and npm also work.
  • Supported systems: macOS 13+, Windows 10 1809+ or Server 2019+, Ubuntu 20.04+, Debian 10+, Alpine 3.19+, with 4 GB of RAM or more.
  • Needs a Pro ($20/mo), Max (from $100/mo), Team or Enterprise plan, or a Claude Console account. The free plan does not include it.
  • Default model is Claude Opus 5.5 on Pro, Max, Team, Enterprise and the Anthropic API. Fable 5.1, Sonnet 5.5 and Haiku 4.5 are available through /model on the Anthropic API.
  • From v2.1.283, auto is the built-in starting permission mode for interactive terminal and VS Code sessions, subject to your choices, organization controls and model or provider eligibility.
  • Extends with CLAUDE.md, skills, hooks, subagents, plugins and MCP servers.

Most AI coding tools wait for you to paste code into a chat box. Claude Code works on the project directly: it searches the repository, edits files, runs your tests and handles git. Your job shifts from typing code to describing the change and then reviewing what comes back, and the reviewing part is still yours.

Opus 5.5
Default Model
On Pro, Max, Team, Enterprise and API
84%
Permission Prompts
Fewer with sandboxing, Anthropic internal use
$20/mo
Cheapest Plan
Claude Pro, or $17/mo billed annually

What Claude Code actually is

One engine behind a CLI, IDE plugins, a desktop app and a web version.

Claude Code is Anthropic's agentic coding tool. In Anthropic's words, it "reads your codebase, edits files, runs commands, and integrates with your development tools." Agentic is the word doing the work there. You describe the outcome, and Claude Code plans the steps and carries them out.

In practice, it can search and read a whole codebase without you picking files by hand, and it can make coordinated edits across many files. It runs your tests, builds, linters and other shell commands. It also handles the git side: staging changes, writing commit messages, creating branches and opening pull requests. Through MCP it can reach outside tools such as Jira, Slack or Google Drive.

You can use it from the terminal CLI, the VS Code extension (which also installs in Cursor), a JetBrains plugin for IntelliJ, PyCharm, WebStorm and others, the Claude desktop app on macOS and Windows (Linux is in beta), and the web at claude.ai/code, which also works from the Claude app on iOS and Android. It also connects to Slack, Chrome, GitHub Actions and GitLab CI/CD. All of these use the same engine, so your CLAUDE.md files, settings and MCP servers carry across. Start wherever you already work; you can switch later without redoing your setup.

Still choosing a tool? Our Claude Code vs Cursor comparison and the Claude Code vs OpenAI Codex breakdown cover the trade-offs.

Installation: pick your method

Use the native installer unless you have a reason not to. It keeps itself updated.

Check the requirements first. Claude Code runs on macOS 13.0 or later, Windows 10 1809 or later (or Windows Server 2019+), Ubuntu 20.04+, Debian 10+ or Alpine Linux 3.19+. You also need 4 GB of RAM or more, an x64 or ARM64 processor, an internet connection, and a supported country.

Option 1: Native installer (recommended)

macOS, Linux and WSL:

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

Windows PowerShell:

irm https://claude.ai/install.ps1 | iex

Windows CMD:

curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

Native installs update themselves in the background, which is the main reason to prefer them. On native Windows, Git for Windows is optional, but installing it lets Claude Code use Bash. Without it, Claude Code falls back to PowerShell for shell commands.

Option 2: A package manager

  • Homebrew: brew install --cask claude-code (tracks the stable channel; claude-code@latest gets every release)
  • WinGet: winget install Anthropic.ClaudeCode
  • apt, dnf and apk: Anthropic publishes signed repositories for Debian, Ubuntu, Fedora, RHEL and Alpine

These installs do not auto-update by default, so you upgrade them through your package manager like anything else.

Option 3: npm

npm install -g @anthropic-ai/claude-code

The npm package installs the same native binary. Since v2.1.198 it expects Node.js 22 or later. Do not use sudo npm install -g.

To confirm the install, run claude --version, or claude doctor for a fuller health check. Then cd into a project and run claude. The first run opens a browser so you can sign in.

IDE and desktop users

In VS Code or Cursor, search for "Claude Code" in the Extensions view. The JetBrains plugin is on the JetBrains Marketplace and needs the CLI installed separately. The Claude desktop app includes Claude Code, so you do not need the CLI to use its Code tab.

Which plans include Claude Code

Pro at $20 a month is the cheapest way in. The free plan does not include it.

Claude plans with Claude Code (September 2026)

PlanPriceClaude Code
Free$0Not included
Pro$20/month, or $17/month billed annuallyIncluded
MaxFrom $100/month (5x or 20x Pro usage)Included
Team, Standard seat$25/seat/month, or $20 billed annuallyIncluded
Team, Premium seat$125/seat/month, or $100 billed annuallyIncluded, 5x standard seat usage
Enterprise$20/seat/month plus usage at API rates, billed annuallyIncluded
Claude Console (API)Pay per tokenIncluded

Source: claude.com/pricing and code.claude.com/docs/en/setup, checked September 25, 2026.

For one person, start on Pro. Max is sold as 5x or 20x Pro usage, so it only earns its price once you keep running into Pro's limits. You can also run Claude Code through Amazon Bedrock, Google Cloud's Agent Platform or Microsoft Foundry, billed by that provider, but some features, such as cloud sessions, channels and teleport, need a direct Anthropic account.

Models and effort levels

Opus 5.5 by default. The sonnet alias is the cheaper option for everyday coding.

Since v2.1.280, Claude Code defaults to Claude Opus 5.5 on Pro, Max, Team and Enterprise plans and on the Anthropic API. Earlier versions defaulted to Sonnet 5 on Pro and Opus 5 on Max, so if you still see an older model, run claude update. Microsoft Foundry is the exception: there the default is Sonnet 4.5.

Model aliases in Claude Code

AliasResolves to (Anthropic API)Use it for
defaultOpus 5.5Most work
fableFable 5.1The hardest, longest-running tasks
bestFable where available, otherwise OpusAlways picking the top model you can use
opusOpus 5.5Complex reasoning and agent work
sonnetSonnet 5.5Everyday coding at lower cost
haikuHaiku 4.5Fast, simple tasks
opusplanOpus in plan mode, Sonnet for executionSplitting planning from implementation

Source: code.claude.com/docs/en/model-config, checked October 2, 2026.

From v2.1.284, sonnet selects Sonnet 5.5 on the Anthropic API. It currently selects Sonnet 4.6 on Claude Platform on AWS and Sonnet 4.5 on Amazon Bedrock, Google Cloud's Agent Platform and Microsoft Foundry.

Switch with /model during a session or claude --model sonnet at launch. Fable is never the default on any plan. Depending on your plan and seat, Fable usage can bill to usage credits instead of your included limits, and in interactive sessions Claude Code asks before it does that. My advice is to stay on the default, drop to sonnet when cost matters more than depth, and save fable for the hardest, longest tasks, since it is the one alias that can eat into credits.

Effort works differently than it used to. Recent models use effort levels instead of the old "think hard" keywords: low, medium, high, xhigh and max. Set one with /effort or --effort. Unless your settings or organization choose another level, Opus 5.5 and Sonnet 5.5 start at medium, Opus 4.7 starts at xhigh, and other models that support effort start at high. For one hard prompt, include the word ultrathink to ask for deeper reasoning on that turn only. Phrases like "think hard" are now passed through as ordinary text, so if an older guide taught you that habit, you can drop it.

For how Claude's models stack up against GPT and Gemini on coding and cost, see our task-by-task model guide.

Permission modes and auto mode

Check the starting mode and its limits before your first long task.

A permission mode decides which actions run without asking you first. Press Shift+Tab in the CLI to cycle through them, or pass --permission-mode at launch.

Claude Code permission modes

ModeWhat runs without askingBest for
Manual (setting name: default)Reads onlyReviewing every action yourself
acceptEditsReads, file edits and common filesystem commandsIterating on code you are watching
planReads (plus classifier-approved commands where auto mode is available)Exploring before changing anything
autoRoutine actions, with background checks where required by the action and settingsLong tasks with fewer prompts
dontAskOnly pre-approved tools; everything else is deniedLocked-down CI and scripts
bypassPermissionsEverythingIsolated containers and VMs only

Source: code.claude.com/docs/en/permission-modes

From v2.1.283, auto mode is the built-in starting mode for interactive terminal and VS Code sessions on every plan and provider, including Enterprise and Console API accounts. An explicit mode choice or organization settings can change it. Auto also needs a supported model and provider; if it is unavailable, the session starts in Manual. Ordinary reads and edits in the working directory can skip the separate review model, so auto does not check every action in the same way. Keep bypassPermissions for isolated containers and VMs, and use plan to explore unfamiliar code. Our Claude Code channels and auto mode guide covers this in more detail.

Not sure which AI model to use?

21 models · Personalized picks · 60 seconds

Take the Quiz

Non-interactive runs, such as claude -p and SDK sessions, have separate rules. They normally start in Manual when the session fetches feature flags (settings sent by Anthropic). Without those flags, v2.1.285 or later starts in auto, unless organization policy withholds it. Earlier versions start in Manual in that case. Set the permission mode explicitly for a script rather than relying on the interactive default.

The features that matter day to day

Four features, and the checkpoint limitation to know before you rely on them.

1. Codebase search

Claude Code finds the files it needs on its own. You do not copy files into a chat window or explain the folder structure; you point it at a bug or a feature request and it traces the relevant code.

2. Multi-file editing

It handles coordinated changes across files that depend on each other. Rename a function and it updates the call sites. Change a component's props and it fixes the places that use it. You still review the diff, and on a wide rename you should read it closely.

3. Checkpoints

Claude Code takes a checkpoint before each prompt you send. To go back, press Esc twice with an empty prompt or run /rewind, then choose whether to restore the code, the conversation or both. The catch is that checkpoints only track edits made by Claude's file-editing tools. If a shell command such as rm or mv changed a file, rewinding will not bring it back. Treat checkpoints as a quick undo and keep committing to git as usual.

4. Sandboxing

Run /sandbox to put Claude's Bash commands inside filesystem and network isolation, so commands can only write to allowed directories and reach allowed domains. It runs on macOS, Linux and WSL2, not native Windows. Anthropic reported in October 2025 that sandboxing cut permission prompts by 84% in its internal use. That is a big enough drop that I would turn it on anywhere it is supported.

The workflow that works: explore, plan, code, commit

Anthropic's recommended loop. Skip the plan step when the diff fits in one sentence.

The 4-step agentic workflow

  1. 1Explore: switch to plan mode (Shift+Tab) and ask Claude to read the relevant files. Source edits are normally blocked until you approve a plan; leave bypass permissions disabled, since interactive terminal sessions with bypass available do not enforce that block.
  2. 2Plan: ask for a detailed implementation plan and correct it before any code is written.
  3. 3Code: approve the plan so Claude starts editing, and give it a test, build or screenshot to check its work against.
  4. 4Commit: ask Claude to commit with a descriptive message and open a pull request.

Planning has a cost, and Anthropic's best-practices guide is plain about when to skip it: if you could describe the diff in one sentence, ask for the change directly. Save plan mode for when the approach is unclear, the change spans many files, or you do not know the code well. A typo fix does not need a plan. A new authentication flow probably does.

Of the four steps, the verification part of step three matters most. A test suite, a build exit code, a linter or a screenshot to compare against lets Claude catch its own mistakes before you do. Without one, you are the test suite. If you take one thing from this guide, make it this.

CLAUDE.md: project instructions that stick

Keep it short. Anthropic's guidance is under about 200 lines per file.

CLAUDE.md is a markdown file Claude Code loads at the start of every session, which is what saves you from explaining your build commands again each time. Run /init to generate a first draft, then cut it down to what Claude cannot work out by reading the code. A trimmed file can be as small as this:

# Project Context

## Common Commands
- `npm run dev` - Start development server
- `npm test` - Run test suite
- `npm run lint` - Check code style

## Architecture
- `/src/api` - API routes and handlers
- `/src/components` - React components
- `/src/lib` - Shared utilities

## Code Style
- Use TypeScript strict mode
- Prefer functional components
- Tests go in `__tests__` directories

Where CLAUDE.md files go

FileScope
~/.claude/CLAUDE.mdYour personal preferences for every project
./CLAUDE.md or ./.claude/CLAUDE.mdTeam instructions, committed to the repo
./CLAUDE.local.mdYour personal notes for one project; add it to .gitignore
.claude/rules/*.mdTopic-specific rules, optionally scoped to certain file paths

Source: code.claude.com/docs/en/memory

Anthropic's docs say to keep each CLAUDE.md under about 200 lines, because longer files use more context and Claude follows them less reliably. When yours starts to grow, move the detail into other files and pull it in with @path/to/file imports instead of pasting everything in. From v2.1.277, Claude Code reads AGENTS.md directly when there is no CLAUDE.md (including .claude/CLAUDE.md) or CLAUDE.local.md in your working directory or above it. If one exists, it reads the Claude instruction files instead. Change the Project instructions setting in /config to load both, or import AGENTS.md with @AGENTS.md from a CLAUDE.md. The import also works for older versions or sessions that cannot read AGENTS.md directly. Claude also keeps auto memory, which is notes it saves across sessions as it works, and /memory manages both.

Settings are a separate thing and live in JSON files: ~/.claude/settings.json for you everywhere, .claude/settings.json for the team (commit it), .claude/settings.local.json for you in one project, and managed settings that an organization deploys and nobody can override. Permissions, hooks, environment variables and the default model all go there, not in CLAUDE.md.

Skills, hooks, subagents, plugins and MCP

CLAUDE.md is guidance. When a rule must hold every time, use a hook.

Claude Code extension points

FeatureWhat it isWhere it lives
SkillsA SKILL.md file of instructions Claude uses when relevant, or you run as /skill-name.claude/skills/ or ~/.claude/skills/
HooksShell commands that run on events such as PreToolUse, PostToolUse or SessionStartsettings.json
SubagentsSpecialized assistants with their own context window, tools and permissions.claude/agents/ or ~/.claude/agents/
PluginsA bundle of skills, agents, hooks and MCP servers installed as one unitInstalled with /plugin from a marketplace
MCP serversConnections to outside tools and data through the Model Context Protocol.mcp.json or claude mcp add

Source: code.claude.com/docs: skills, hooks, sub-agents, plugins, mcp

Skills have replaced custom slash commands. Old files in .claude/commands/ still work, and a skill at .claude/skills/deploy/SKILL.md creates /deploy the same way. Claude Code skills follow the open Agent Skills standard, and you can browse ready-made ones in our skills library.

Hooks are where rules that must always hold belong. Claude can weigh CLAUDE.md against other instructions, but a PreToolUse hook can block an action outright. A common use is running a formatter after every file edit. My rule of thumb: if you would be annoyed to see a rule ignored even once, it belongs in a hook.

MCP connects Claude Code to services such as Notion, Jira or your own APIs. Add a remote server with claude mcp add --transport http <name> <url> and manage connections with /mcp. If MCP is new to you, start with our MCP explainer.

Slash commands and CLI flags

Learn /clear and /rewind first. You can look up the rest when you need them.

Slash commands worth knowing

CommandWhat It Does
/initGenerates a CLAUDE.md for your project
/clearStarts a new conversation with empty context
/compactSummarizes the conversation so far to free up context
/rewindRestores code and/or conversation to an earlier checkpoint
/modelSwitches model and saves it as your default
/effortSets the effort level, from low to max
/permissionsManages allow, ask and deny rules
/memoryEdits CLAUDE.md files and auto memory
/mcpManages MCP server connections
/pluginInstalls and manages plugins
/skillsLists available skills
/code-reviewReviews the current diff, a branch or a PR for bugs
/usageShows session cost and plan usage limits

For scripts and CI, these are the flags that matter:

  • -p / --print: run a single prompt without the interactive UI
  • --output-format json: machine-readable output (also text and stream-json)
  • --allowedTools: tools that run without a permission prompt
  • --permission-mode: start in a given mode, such as plan or dontAsk
  • --model and --effort: pick the model and effort level for the session
  • -c / --continue and -r / --resume: pick up an earlier session
  • --verbose: show full turn-by-turn output

A locked-down CI run looks like this:

claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"

That command runs one prompt with no interactive UI, denies every tool you did not pre-approve, and lets exactly two through: npm test and file reads. For CI, that is the shape I would start from and loosen only when a job needs more.

Beyond the terminal: web, desktop, schedules and CI

Your CLAUDE.md, settings and MCP servers follow you to every one of these.

Claude Code on the web (claude.ai/code) runs sessions in the cloud with no local setup, so you can run several tasks in parallel, including on repos you do not have locally. It is available on Pro, Max and Team, and to Enterprise users with the right seats. Pull a cloud session into your terminal with claude --teleport, or push one up with claude --cloud. The desktop app suits you better if you like reading diffs visually and running several sessions side by side; /desktop moves a terminal session into it.

Two research previews let Claude work without you opening each session by hand. Routines run Claude on a schedule in the cloud, or on an API call or GitHub event. You create them with /schedule, and for a quick repeat inside one session there is /loop. Channels push messages from Telegram, Discord, iMessage or your own webhooks into a running session.

For teams, Code Review (research preview, Team and Enterprise) reviews every pull request automatically, and our Claude Code Review guide covers how it works. GitHub Actions and GitLab CI/CD run Claude Code in your pipeline for reviews and issue triage. In Slack, you can mention @Claude with a bug report and get a pull request back. On Team and Enterprise, Anthropic is moving this to Claude Tag, while Pro and Max keep the existing Slack app.

Getting good results

Four habits from Anthropic's best-practices guide, starting with the cheapest one.

Be specific. Name the file, the symptom and what "done" looks like, and paste the error message instead of saying "the build is failing". Compare "fix the login bug" with "login fails after the token refresh in the auth module; make the existing auth tests pass". The second prompt gives Claude a target and a way to check it hit the target.

Clear context between tasks. Run /clear when you switch to unrelated work. If you have corrected Claude more than twice on the same issue, the old conversation is working against you, so clear it and start again with a better prompt.

Two more habits pay off on bigger jobs. Ask Claude to "use subagents to investigate X" so the search results stay out of your main conversation. And ask for evidence: have Claude show the test output or the command it ran, rather than accepting "it works" at face value.

For UI work, compare screenshots

For UI work, paste a screenshot of the design, ask Claude to implement it, then have it take a screenshot of the result, compare the two and list the differences. The Chrome integration lets Claude take those screenshots itself.

If you want an agent that runs whole tasks outside a code editor, see our guide to Manus AI. Anthropic also offers Claude Cowork, which brings similar agentic features to non-developers in the Claude desktop app.

Get started

The bottom line

The install is the easy part. The habits take a week or two.

Installing Claude Code is one command. Getting good results from it takes longer, and it mostly comes down to a lean CLAUDE.md, a test or build Claude can run to check itself, and planning bigger changes before you let it edit.

The defaults have also moved a long way since this guide first ran. Claude Code now starts on Opus 5.5, and, from v2.1.283, uses auto as the built-in starting mode for interactive terminal and VS Code sessions, subject to settings and eligibility. That second change is the one I would not skim past. Read the permission modes section before you point it at anything important.

Quick start

  1. 1Install: curl -fsSL https://claude.ai/install.sh | bash (or irm https://claude.ai/install.ps1 | iex on Windows)
  2. 2Run claude in your project and sign in with a paid plan or Console account
  3. 3Run /init, then trim the CLAUDE.md it writes
  4. 4Use plan mode (Shift+Tab) for multi-file changes, and give Claude a test to verify against

If you want help bringing Claude Code or other AI coding tools into your team's workflow, that is what we do at Spectrum AI Labs.

Sources

FAQ

What is Claude Code?

Claude Code is Anthropic's agentic coding tool. It reads your codebase, edits files, runs commands and works with git to commit changes and open pull requests. It runs in the terminal, in VS Code, Cursor and JetBrains IDEs, in the Claude desktop app, and in the browser at claude.ai/code.

How do I install Claude Code?

Use the native installer. On macOS, Linux or WSL, run curl -fsSL https://claude.ai/install.sh | bash. In Windows PowerShell, run irm https://claude.ai/install.ps1 | iex. You can also use Homebrew (brew install --cask claude-code), WinGet (winget install Anthropic.ClaudeCode), apt, dnf, apk, or npm (npm install -g @anthropic-ai/claude-code). Native installs update automatically. Package manager installs do not by default, so you upgrade those yourself.

Is Claude Code free?

No. The free Claude plan does not include Claude Code. You need a Pro, Max, Team or Enterprise plan, or a Claude Console account billed at API rates. Pro costs $20 per month, or $17 per month billed annually. Claude Code also works through Amazon Bedrock, Google Cloud's Agent Platform and Microsoft Foundry.

Which model does Claude Code use by default?

As of October 2, 2026, Claude Code defaults to Claude Opus 5.5 on Pro, Max, Team and Enterprise plans and on the Anthropic API. You can switch with /model or the --model flag. From v2.1.284, the sonnet alias selects Sonnet 5.5 on the Anthropic API, Sonnet 4.6 on Claude Platform on AWS, and Sonnet 4.5 on Amazon Bedrock, Google Cloud's Agent Platform and Microsoft Foundry. The haiku alias selects Haiku 4.5. Fable 5.1 is never the default; you select it with /model fable, and on some plans its usage bills to usage credits.

What is CLAUDE.md and why do I need it?

CLAUDE.md is a markdown file of instructions that Claude Code loads at the start of every session. Put your build and test commands, architecture notes and coding conventions in it, and leave out anything Claude can work out from the code. Run /init to generate a first draft. Anthropic recommends keeping each file under 200 lines. From v2.1.277, Claude Code also reads AGENTS.md when no CLAUDE.md (including .claude/CLAUDE.md) or CLAUDE.local.md exists in the working directory or above it. Otherwise, it reads the Claude instruction files. The Project instructions setting in /config can load both; importing @AGENTS.md from CLAUDE.md remains an option for older versions or sessions without direct support.

What is auto mode in Claude Code?

Auto mode reduces routine approval prompts and uses a separate model to check actions that need review. From v2.1.283, it is the built-in starting mode for interactive terminal and VS Code sessions across plans and providers. Your explicit choices, organization settings and model or provider eligibility can change that; if auto is unavailable, the session falls back to Manual. Non-interactive runs with -p or the SDK have separate starting rules. Press Shift+Tab to cycle modes in the terminal.

Paras Tiwari
Written by
Paras Tiwari
Founder, Spectrum AI Labs

Founder of Spectrum AI Labs — testing AI tools and models, and writing up what actually ships.

More about Paras →

Want help rolling out Claude Code?

We help engineering teams bring AI coding tools like Claude Code into their real workflow. Book a free consultation to talk through your setup.