Skip to content

Claude Code overview

What Claude Code is, where it runs, how to install it, and the kinds of work it handles well, from bug fixes to scheduled automation.

Claude Code is an agentic coding assistant. You describe an outcome in plain language and it reads your repository, edits files, runs shell commands, talks to git and calls out to your other tools until the job is done. It is not an autocomplete: it plans, acts, checks its own work and reports back.

I use it every day for client and personal work, and the single biggest shift is that I now hand over whole tasks ("add pagination to the orders API and update the tests") rather than individual lines of code. This page explains where Claude Code runs, how to get it installed, and what it is good at.

Where Claude Code runs

The same engine sits behind every surface, so a repository's CLAUDE.md, settings and MCP servers follow you from one to the next.

SurfaceWhat it gives youStart here
Terminal CLIThe fullest feature set: every command, flag and automation optionQuickstart
VS Code (and Cursor)Inline diffs, @-mentions, plan review and history inside the editorVS Code
JetBrains IDEsPlugin for IntelliJ IDEA, PyCharm, WebStorm and friends, with diff viewing and selection sharingJetBrains
Desktop appVisual diff review, several sessions side by side, scheduled tasks, cloud sessionsDesktop
WebRuns in Anthropic's cloud against your GitHub repos, no local setupClaude Code on the web
MobileStart and monitor cloud sessions from the Claude app on iOS and AndroidMobile

Most surfaces need a Claude subscription (Pro, Max, Team or Enterprise) or a Claude Console account. The terminal CLI, VS Code and JetBrains can also run against third-party providers such as Amazon Bedrock, Google Cloud or Microsoft Foundry; see third-party integrations.

Install the CLI

The native installer is the recommended route because it keeps itself updated in the background.

# macOS, Linux or 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

The installer is silent while it downloads. When it finishes, open a fresh terminal and run claude --version. If the shell cannot find claude, the install directory is not on your PATH yet; troubleshoot installation walks through the fix.

A quick way to tell which Windows shell you are in: PowerShell prompts start with PS C:\, CMD prompts start with plain C:\. Pasting the CMD command into PowerShell fails with an error about && not being a valid statement separator; pasting the PowerShell command into CMD complains that irm is not recognised.

On native Windows, install Git for Windows so Claude Code can use its Bash tool. Without it, Claude Code falls back to PowerShell as its shell. WSL does not need it.

Package manager alternatives

MethodCommandUpdates
Homebrew (stable)brew install --cask claude-codeManual: brew upgrade claude-code
Homebrew (latest)brew install --cask claude-code@latestManual: brew upgrade claude-code@latest
WinGetwinget install Anthropic.ClaudeCodeManual: winget upgrade Anthropic.ClaudeCode
apt, dnf, apkSee advanced setupThrough your package manager

The claude-code cask follows the stable channel, which usually trails the newest release by about a week and skips builds with serious regressions. The claude-code@latest cask gets every release as soon as it ships.

First run

cd ~/code/invoice-service
claude

The first session asks you to sign in through your browser. If ANTHROPIC_API_KEY is set in your environment and you approve its use when prompted, the login step is skipped.

Other surfaces

  • VS Code or Cursor: search for "Claude Code" in the Extensions view (Cmd+Shift+X on macOS, Ctrl+Shift+X elsewhere), then run Claude Code: Open in New Tab from the Command Palette.
  • Desktop: download the app for macOS (Intel and Apple Silicon), Windows x64 or Windows ARM64, sign in and open the Code tab. The CLI is bundled, and a paid plan is required. Ubuntu and Debian have a beta build installed through apt; see desktop on Linux.
  • Web: go to claude.ai/code. For larger bodies of work, a project lets Claude coordinate several parallel sessions.
  • JetBrains: install the Claude Code plugin from the JetBrains Marketplace and restart the IDE. The plugin drives a separately installed CLI.

What it is good at

Clearing the backlog of chores

Tests for untested modules, a project-wide lint clean-up, dependency bumps, merge conflicts, release notes. These are ideal because the success criteria are concrete.

claude "add unit tests for src/billing/proration.ts, run them and fix anything that fails"

Building features and fixing bugs

Describe the behaviour you want. Claude Code explores the code, proposes an approach, edits across files and verifies the result. For bugs, paste the stack trace or describe the symptom and let it trace the cause. Common workflows has worked examples.

Git and pull requests

It stages, commits with sensible messages, creates branches and opens pull requests. In CI it can review pull requests and triage issues through GitHub Actions or GitLab CI/CD.

Connecting your other tools

The Model Context Protocol lets Claude Code reach systems outside the repository: a ticket tracker, a design doc store, a database, your own internal APIs. Start with the MCP quickstart and then the full MCP guide.

Teaching it your conventions

  • A CLAUDE.md file in the repository is loaded at the start of every session. Put build commands, architecture notes and house rules there. If the repo already has an AGENTS.md, Claude Code can read that too. See memory.
  • Auto memory lets Claude record what it learns as it works, without you writing anything.
  • Skills package a repeatable workflow (say /release-notes or /deploy-staging) that the whole team can invoke.
  • Hooks run your own shell commands at fixed points, such as formatting every file Claude edits.

Parallel and custom agents

Subagents split a task across several focused workers. Agent view lets you watch several full background sessions from one screen. When you need your own orchestration, the Agent SDK exposes the same tools and loop as a library.

Scripting and pipelines

The CLI is a well-behaved Unix citizen, so you can pipe data in and use it in scripts:

# Summarise what went wrong in last night's job
journalctl -u nightly-import --since yesterday | claude -p "list the distinct failures and likely causes"

# Check only the files touched on this branch
git diff origin/main --name-only | claude -p "flag any SQL built with string concatenation in these files"

The CLI reference lists every flag, and headless mode covers non-interactive use.

Scheduled work

  • Routines run in the cloud on a schedule, from an API call or on GitHub events, so they keep going when your laptop is shut. Create them on the web, in the desktop app or with /schedule in the CLI.
  • Desktop scheduled tasks run on your own machine with access to local files.
  • /loop repeats a prompt inside a running CLI session, handy for polling a build.

Moving between devices

  • Remote Control lets you carry on a local session from your phone or another browser.
  • Dispatch, in the desktop app, takes a task messaged from your phone and opens a desktop session for it.
  • Start work on the web or in the mobile app, then pull it into your terminal with claude --teleport (claude.ai subscription required).
  • /desktop hands the current terminal session to the desktop app for visual diff review. It needs a claude.ai subscription and works on macOS and x64 Windows.
  • Mention @Claude in Slack with a bug report and get a pull request back.

Picking the right integration

I want to...Use
Keep driving a local session from my phoneRemote Control
Feed messages or webhooks into a running sessionChannels
Kick off locally and finish on mobileclaude --cloud, then the mobile app
Run something on a timetableRoutines or desktop scheduled tasks
Review every pull request automaticallyCode review
Automate triage and review in CIGitHub Actions or GitLab CI/CD
Turn Slack bug reports into pull requestsSlack
Debug a running web app in a real browserChrome
Build my own agentAgent SDK

Where to go next

Work through the quickstart first, then set up a CLAUDE.md using memory. Once you are comfortable, best practices and common workflows are where most of the day-to-day gains are. If anything goes wrong, troubleshooting is the place to start, and settings covers customisation.

An independent guide to Claude Code written by Cameron Shields. Not affiliated with or endorsed by Anthropic.