Claude Code features fall into three groups: where it runs (terminal, VS Code, JetBrains, the desktop app, the web and the Claude mobile app, Slack), what the agent does (reads your codebase, edits files, runs commands, makes commits and PRs, rewinds via checkpoints), and how you extend it (CLAUDE.md, skills, subagents, hooks, MCP servers, plugins, output styles, the Agent SDK and GitHub Actions).

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

Applies to: Claude Code 2.1.287 (docs as of October 2, 2026). Last checked: October 2, 2026.

On this page

Where Claude Code runs

Anthropic’s overview says each surface “connects to the same underlying Claude Code engine, so your CLAUDE.md files, settings, and MCP servers work across all of them.” Most surfaces require a Claude subscription or an Anthropic Console account; the terminal CLI and VS Code also support third-party providers.

Surface What it is How to start
Terminal (CLI) The full-featured CLI on macOS, Linux, WSL and Windows Native installer (command above), then claude in a project
VS Code (and Cursor) Extension with inline diffs, @-mentions, plan review and conversation history Search “Claude Code” in the Extensions view
JetBrains Plugin for IntelliJ IDEA, PyCharm, WebStorm and other JetBrains IDEs, with diff viewing and selection context Install from JetBrains Marketplace; needs the CLI installed separately
Desktop app Standalone app for macOS and Windows: visual diffs, side-by-side sessions, scheduled tasks, cloud sessions Launch Claude, sign in, open the Code tab; paid subscription required
Web and mobile Cloud sessions at claude.ai/code and in the Claude app for iOS and Android Open claude.ai/code
Slack Mention @Claude with a coding task; it creates a Claude Code session on the web Workspace admin installs the Claude app (Claude Code in Slack)

Other install routes from the overview:

brew install --cask claude-code
winget install Anthropic.ClaudeCode

Native installs update themselves in the background; Homebrew and WinGet installs do not. On Slack, Anthropic is moving Team and Enterprise workspaces to Claude Tag, while the page above stays the setup path for Pro and Max plans.

Moving work between surfaces

The overview lists several handoffs:

  • Remote Control: continue a local session from your phone or any browser (claude --remote-control).
  • Teleport: start a task on the web or in the mobile app, then pull it into the terminal with claude --teleport (requires a claude.ai subscription).
  • /desktop: continue the current terminal session in the Desktop app (macOS and x64 Windows).
  • claude --cloud "Fix the login bug": create a new web session from the terminal (CLI reference).

What the agent does

Claude Code is described as “an agentic coding tool that reads your codebase, edits files, runs commands, and integrates with your development tools” (Overview). Documented tasks include:

  • Writing and running tests, fixing lint errors, resolving merge conflicts, updating dependencies and writing release notes.
  • Building features across multiple files from a plain-language description, and tracing bugs from an error message to a fix.
  • Git work: staging changes, writing commit messages, creating branches and opening pull requests.
claude "write tests for the auth module, run them, and fix any failures"

Permission modes

Every edit and shell command goes through a permission system. Modes range from default (asks before edits and most commands) through acceptEdits, plan, auto and dontAsk to bypassPermissions; Shift+Tab cycles them in the CLI (Permission modes). The bypass mode and its risks are covered in claude --dangerously-skip-permissions.

Checkpoints and rewind

Claude Code captures the state of your code before each prompt (Checkpointing). Run /rewind, or press Esc twice on an empty prompt, to restore code, conversation or both, or to summarize part of the conversation. Snapshots are kept for the 100 most recent checkpoints in a session.

Warning

“Checkpointing does not track files modified by bash commands.” Changes made by rm, mv or cp cannot be undone through rewind; only edits made through Claude’s file editing tools are tracked. (Checkpointing)

Slash commands and bundled skills

Type / in a session to see every command (Commands). The docs group common ones by workflow:

Stage Commands
First session in a repo /init (starter CLAUDE.md), /memory, /mcp, /permissions
During a task /plan, /model, /effort, /context, /compact, /btw
Parallel work /tasks, /background, /batch (splits a large change into units, each in its own worktree)
Before you ship /diff, /code-review, /review, /security-review, /code-review ultra
Between sessions /clear, /resume, /branch, /fork, /teleport, /remote-control
Troubleshooting /rewind, /doctor, /debug, /feedback

Some of these, such as /code-review, /batch, /debug, /loop and /claude-api, are bundled skills: prompt-based instructions rather than fixed logic (Skills).

How you extend it

The Extend Claude Code page maps each extension to a job:

Feature What it does When the docs suggest it
CLAUDE.md Persistent context loaded every session Project conventions, “always do X” rules
Skill Instructions, knowledge and workflows Claude can use Reusable content, reference docs, repeatable tasks
Subagent Isolated execution context that returns summarized results Context isolation, parallel tasks, specialized workers
Agent teams Coordinate multiple independent Claude Code sessions Parallel research, competing hypotheses (experimental, off by default)
Code intelligence Language-server navigation and diagnostics Typed languages, large codebases
MCP Connect to external services External data or actions
Hook Script, HTTP request, prompt or subagent triggered by events Automation that must run on every matching event
Plugin Bundles skills, hooks, subagents and MCP servers Reusing a setup across repositories or distributing it

CLAUDE.md and memory

CLAUDE.md is a markdown file in your project root that Claude reads at the start of every session; Claude also builds auto memory as it works (Overview). The docs’ rule of thumb is to keep it under 200 lines and move reference material to skills or .claude/rules/ files (Extend Claude Code).

Skills

A skill is a SKILL.md file that Claude loads when relevant, or that you invoke with /skill-name (Skills). Custom commands were merged into skills: .claude/commands/deploy.md and .claude/skills/deploy/SKILL.md both create /deploy. Claude Code skills follow the Agent Skills open standard. Published skills are listed in the skills directory.

Subagents

Subagents run in their own context window with a custom system prompt, tool access and permissions, and return a summary (Subagents). Built-in ones include Explore (read-only codebase search), Plan (research during plan mode) and general-purpose. Custom subagents are Markdown files in .claude/agents/ or ~/.claude/agents/:

---
name: code-improver
description: Scans files and suggests improvements for readability, performance, and best practices. Use after writing or modifying code.
tools: Read, Grep, Glob
model: sonnet
---

You are a code improvement specialist. For each issue you find, explain
the problem, show the current code, and provide an improved version.

Hooks

Hooks are shell commands Claude Code runs at specific points in its lifecycle, giving “deterministic control” (Hooks guide). This example from the docs runs Prettier after every edit:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write" }]
      }
    ]
  }
}

The docs advise putting guardrails in hooks: a rule in CLAUDE.md “is a request, not a guarantee,” while a PreToolUse hook that blocks the action is enforcement (Extend Claude Code). /hooks opens a read-only browser of configured hooks.

MCP servers

Claude Code connects to external tools through the Model Context Protocol (MCP). HTTP is the recommended transport for remote servers:

claude mcp add --transport http notion https://mcp.notion.com/mcp

Local stdio servers take the command after --:

claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
  -- npx -y airtable-mcp-server

Anthropic says to verify you trust each server, since servers that fetch external content can expose you to prompt injection. Setup snippets for common servers are in the MCP directory.

Plugins and marketplaces

A plugin is a directory with skills, agents, hooks or MCP servers and an optional .claude-plugin/plugin.json manifest; plugin skills are namespaced, such as /my-plugin:hello (Plugins). Install from a marketplace:

/plugin install mcp-server-dev@claude-plugins-official

Load a local plugin for one session with claude --plugin-dir ./my-plugin (CLI reference).

Output styles

Output styles change the system prompt’s role, tone and format (Output styles). Built-in styles are Default, Proactive, Explanatory and Learning (which adds TODO(human) markers for you to fill in). Pick one with /config, or set it in settings:

{
  "outputStyle": "Explanatory"
}

Custom styles are Markdown files in ~/.claude/output-styles or .claude/output-styles.

Automation: headless mode, Agent SDK, CI

Non-interactive mode

claude -p runs a prompt without the interactive UI and exits with code 0 on success (Run Claude Code programmatically):

claude -p "Find and fix the bug in auth.py" --allowedTools "Read,Edit,Bash"

--output-format accepts text, json and stream-json. --bare skips auto-discovery of hooks, skills, plugins, MCP servers, auto memory and CLAUDE.md, and needs ANTHROPIC_API_KEY because it does not read your subscription login. The same page covers the Agent SDK, available as a CLI and as Python and TypeScript packages with “the same tools, agent loop, and context management that power Claude Code.”

GitHub Actions

With the Claude GitHub app and workflow installed, an @claude mention in a PR or issue lets Claude analyze code, create pull requests and fix bugs (GitHub Actions). Set it up from a session:

/install-github-app

You must be a repository admin. The current action version is anthropics/claude-code-action@v1. GitLab CI/CD and GitHub Code Review (automatic reviews on every PR) are documented as separate integrations in the overview.

Scheduled and parallel work

  • Routines run in the cloud on a schedule, an API call or a GitHub event; create them from the web, the Desktop app or /schedule in the CLI.
  • Desktop scheduled tasks run on your machine with access to local files.
  • /loop repeats a prompt within a CLI session.
  • Background agents: claude --bg "investigate the flaky test" starts a background session; claude agents monitors them (CLI reference).
  • Worktrees: claude -w feature-auth starts in an isolated git worktree.

Browser and other integrations

claude --chrome enables Chrome browser integration for web automation and testing. Channels (research preview) push Telegram, Discord, iMessage or webhook events into a session (Overview).