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.
| Surface | What it gives you | Start here |
|---|---|---|
| Terminal CLI | The fullest feature set: every command, flag and automation option | Quickstart |
| VS Code (and Cursor) | Inline diffs, @-mentions, plan review and history inside the editor | VS Code |
| JetBrains IDEs | Plugin for IntelliJ IDEA, PyCharm, WebStorm and friends, with diff viewing and selection sharing | JetBrains |
| Desktop app | Visual diff review, several sessions side by side, scheduled tasks, cloud sessions | Desktop |
| Web | Runs in Anthropic's cloud against your GitHub repos, no local setup | Claude Code on the web |
| Mobile | Start and monitor cloud sessions from the Claude app on iOS and Android | Mobile |
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
| Method | Command | Updates |
|---|---|---|
| Homebrew (stable) | brew install --cask claude-code | Manual: brew upgrade claude-code |
| Homebrew (latest) | brew install --cask claude-code@latest | Manual: brew upgrade claude-code@latest |
| WinGet | winget install Anthropic.ClaudeCode | Manual: winget upgrade Anthropic.ClaudeCode |
| apt, dnf, apk | See advanced setup | Through 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+Xon macOS,Ctrl+Shift+Xelsewhere), 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.mdfile 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 anAGENTS.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-notesor/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
/schedulein the CLI. - Desktop scheduled tasks run on your own machine with access to local files.
/looprepeats 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). /desktophands 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
@Claudein 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 phone | Remote Control |
| Feed messages or webhooks into a running session | Channels |
| Kick off locally and finish on mobile | claude --cloud, then the mobile app |
| Run something on a timetable | Routines or desktop scheduled tasks |
| Review every pull request automatically | Code review |
| Automate triage and review in CI | GitHub Actions or GitLab CI/CD |
| Turn Slack bug reports into pull requests | Slack |
| Debug a running web app in a real browser | Chrome |
| Build my own agent | Agent 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.