DEV Community

aicoding-guide
aicoding-guide

Posted on Originally published at aicoding-guide.com

What Claude Code is, what it can do, and what it does not guarantee

Originally published at https://aicoding-guide.com.

Claude Code is an agentic coding tool that reads your codebase, edits files and runs commands. The official description:

Claude Code is an agentic coding tool that reads your codebase, edits files, runs commands, and integrates with your development tools.

It is not a completion engine. You give it a task and it works across multiple files on its own — which means the real work for you is deciding how much it may do unattended. This article covers what it can do and, just as importantly, what is not guaranteed, both checked against the official documentation.

Key point
What you will learn

  • The five surfaces it runs on, and what they share
  • What it can do: the work itself, integrations, and automation
  • Which parts are instructions rather than enforcement, and what to use when you need a guarantee

Where it runs

Per the official documentation, there are five surfaces:

Surface What it is
Terminal The full-featured CLI. Start it with claude
VS Code extension Inline diffs, @-mentions, plan review, conversation history
JetBrains plugin IntelliJ, PyCharm, WebStorm and others, with diff viewing and selection sharing
Desktop app Review diffs visually, run sessions side by side, schedule tasks, start cloud sessions
Web Runs in the browser with no local setup, at claude.ai/code

What matters is that every surface connects to the same engine. The docs state that your repo's CLAUDE.md files, settings and MCP servers work across all of them, so a setup you build in the terminal applies in the desktop app too.

Glossary
Agentic: rather than answering once, the tool loops — read a file, run a command, look at the result, decide what's next. Compared with completion or one-shot Q&A, that changes how much permission design you need.

Claude Code needs a paid plan or an API key. The differences are in Claude Code on Pro, Max, Team or the API.

What it can do

Grouping what the documentation lists into three:

1. The work itself

  • Building features and fixing bugs. Paste an error and it traces the cause through the codebase and implements a fix
  • The jobs you keep putting off: tests for untested code, lint errors across a project, merge conflicts, dependency updates, release notes
  • Git: staging changes, writing commit messages, creating branches, opening pull requests

2. Integrations

MCP (the Model Context Protocol) connects it to external services. The docs name reading design docs in Google Drive, updating tickets in Jira, pulling data from Slack, and using your own tooling. Setup is covered in Adding MCP servers to Claude Code.

3. Scripting and automation

The CLI follows the Unix philosophy, so it pipes:

# Hand it recent log output
tail -200 app.log | claude -p "tell me about any anomalies"

# Review only the changed files
git diff main --name-only | claude -p "review these changed files for security issues"
Enter fullscreen mode Exit fullscreen mode

The extension mechanisms have distinct roles in the docs:

Mechanism Role
CLAUDE.md Persistent context loaded every session: conventions, "always do X" rules
Skills Reusable knowledge, and workflows you invoke with /<name>
Subagents Run in isolated context and return only a summary
MCP Connections to external services
Hooks Run a script and more at a fixed lifecycle event
Plugins The packaging layer that distributes the above

Subagents are covered in Claude Code subagents and the instruction file in How to write CLAUDE.md.

What it does not guarantee

This is the part that matters most in practice. An instruction written in prose is not enforcement. From the permissions documentation:

Permission rules are enforced by Claude Code, not by the model. Instructions in your prompt or CLAUDE.md shape what Claude tries to do, but they don't change what Claude Code allows.

That splits the extension mechanisms in two:

Kind Examples Nature
Instruction (Claude interprets it) CLAUDE.md, skills, output styles Usually followed, never guaranteed
Enforcement (Claude Code executes it) permissions deny / ask, hooks Always applies when the condition matches

The docs' own comparison makes the point: an instruction like "never edit .env" in CLAUDE.md or a skill is a request, not a guarantee, while a PreToolUse hook that blocks the edit is enforcement. Anything that must hold without exception belongs in settings and hooks, not prose.

Prose doesn't narrow the working directory either
Telling Claude to touch only one folder does not narrow its reach. That is set by the directory you launched in plus any directories added, and to fence it you use permissions deny rules or blockReadsOutsideWorkingDirectories. See Configuring permissions in Claude Code's settings.json.

The other constraint is context. The conversation is sent with every request, and as it approaches the limit it gets compacted automatically — which is how a detailed instruction from early in a long session fades. See Managing context in Claude Code.

How to compare it with Cursor and Copilot

The short version: comparing by product category no longer works. Checking each vendor's own description on October 6, 2026, all three have converged on "agent".

Product Its own description, condensed
Claude Code An agentic coding tool that reads your codebase, edits files, runs commands and integrates with your development tools
Cursor A coding agent for building ambitious software: understand your codebase, plan and build features, fix bugs, review changes
GitHub Copilot An AI assistant that helps you write, understand and ship software: suggests code as you type, answers questions about a codebase, reviews changes, works on tasks you assign

"Cursor is an editor, Copilot is completion, Claude Code is a terminal" does not match what these vendors currently say. Cursor's own documentation does not describe it as an editor or as VS Code-derived; it positions it as a coding agent.

So compare the mechanisms you can check:

  • Shape of permissions: what requires confirmation, what runs automatically, and whether you can declare that in a config file
  • Means of enforcement: whether "always do this" can be a rule or a hook rather than a request
  • Extension points: external connections such as MCP, reusable procedures, isolated-context work
  • Surfaces: how far one configuration carries across terminal, IDE, desktop, browser and CI

One thing worth knowing: Claude Code and Cursor are not mutually exclusive. The official Overview lists a Cursor install link beside the VS Code one, so you can run the Claude Code extension inside Cursor.

For Cursor's and Copilot's individual features and pricing, check their own pages; this article deliberately stops short of a feature-by-feature comparison. For Codex, see Codex vs Claude Code.

The order to adopt things in

The documentation is explicit that you don't configure everything up front. Each feature has a recognizable trigger:

Trigger Add
Claude gets a convention or command wrong twice Put it in CLAUDE.md
You keep asking for shorter answers or the same format Set an output style
You keep typing the same prompt Save it as a skill
You keep copying data from a browser tab Connect that system as an MCP server
A side task floods your conversation with output Route it through a subagent
You want something to happen every time without asking Write a hook
A second repository needs the same setup Package it as a plugin

Before pointing it at work code, check how your input is handled: Is your code used to train Claude?

Summary

  • Claude Code is an agentic coding tool, and its terminal, VS Code, JetBrains, desktop and web surfaces share one engine and one configuration
  • It implements and fixes code, drives git, connects to external systems through MCP, scripts from the CLI, and automates through its extension layer
  • CLAUDE.md, skills and output styles are instructions with no guarantee; permissions and hooks are the enforcement
  • Prose does not narrow the working directory — the launch directory and deny rules do
  • Compare with Cursor and Copilot on permissions, enforcement, extension points and surfaces, not product category; and you can run Claude Code inside Cursor

Top comments (0)