Skip to content

Quickstart

Install the Claude Code CLI, sign in, and use it on a real project: asking questions, making a change, working with git and fixing a bug.

This walkthrough gets the terminal version of Claude Code running against one of your own projects. By the end you will have asked it about the codebase, made and approved a change, committed with git, and learned the handful of commands you will use every day.

If you would rather work in an editor or a browser, the overview lists every surface. The habits here carry over to all of them.

What you need

  • A terminal (Terminal or iTerm on macOS, any shell on Linux, PowerShell or CMD on Windows, or WSL).
  • A project folder to experiment on. Something real but low stakes is ideal; I used a small internal dashboard the first time.
  • An account: a Claude Pro, Max, Team or Enterprise subscription, a Claude Console account with API credits, or access through a cloud provider such as Amazon Bedrock, Google Cloud or Microsoft Foundry (see third-party integrations).

1. Install

Run the installer for your platform. It downloads quietly, so give it a moment.

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

Prefer a package manager? Use brew install --cask claude-code (or claude-code@latest for every release as it lands), winget install Anthropic.ClaudeCode, or the apt, dnf and apk packages described in advanced setup. Only the native installer updates itself; the others need a manual upgrade from time to time.

Tip: On native Windows, install Git for Windows first. Claude Code uses it for its Bash tool and falls back to PowerShell without it. WSL users can skip this.

Open a new terminal window and confirm the install:

claude --version

You should see a version number followed by (Claude Code). If the shell says claude is not found, the install folder is missing from your PATH; troubleshoot installation explains how to fix it and lists alternative install methods for errors such as a 403.

2. Start a session and sign in

cd ~/code/team-dashboard
claude

On first launch Claude Code asks you to log in, and opens your browser to finish. You can sign in with:

  • A Claude Pro, Max, Team or Enterprise plan (the usual choice).
  • A Claude Console account using pre-paid API credits. The first login creates a workspace called "Claude Code" in the Console so spend is easy to track.
  • Amazon Bedrock, Google Cloud or Microsoft Foundry, configured as described in third-party integrations.
  • Your organisation's Claude apps gateway, if your admin runs one. In that case /login opens straight on the Cloud gateway screen and you sign in with corporate SSO. See Claude apps gateway.

If ANTHROPIC_API_KEY is already exported and you approve it when asked, the browser login is skipped. Credentials are stored after the first sign-in, so you will not be asked again. Run /login inside a session whenever you need to switch account; authentication has the details.

Once you are in, the prompt shows the version, the active model and your working directory.

3. Ask about the code

You do not need to paste files or point at folders. Claude Code reads what it needs. Try a few questions:

give me a two-paragraph tour of this repo
which framework handles routing, and where are the routes defined?
what happens when a user hits "Export CSV"? trace it from the button to the database

It also knows about itself, so you can ask things like how do I add an MCP server? or can you run my Docker Compose stack?.

4. Make a small change

Pick something tiny and easy to verify:

add a /healthz endpoint that returns {"ok": true} and the current git commit

Claude Code finds the right file, prepares the edit and shows you a diff. Depending on your permission mode it will either ask first or just apply it. If it asks, choose Yes.

Press Shift+Tab to cycle the session's permission mode. The default asks before each edit; other modes accept edits automatically or switch to read-only planning.

5. Use git conversationally

what have I changed since the last commit?
create a branch called chore/healthz and commit this with a clear message
show me the last five commits on main, one line each

It is also happy to help you through a messy rebase or a merge conflict: tell it what you were trying to do and let it read the conflict markers.

6. Fix something real

Describe the problem the way you would to a colleague:

the date filter on the reports page ignores the end date when it's today. find out why and fix it, with a test

Or ask for a feature:

add server-side validation to the signup form: email format, password length of at least 12, and a friendly error message for each

7. Try a few more workflows

convert the payment client from callbacks to async/await without changing behaviour
write tests for utils/currency.ts covering rounding and negative amounts
update the README with local setup steps that actually match the scripts in package.json
review my uncommitted changes and point out anything risky

Commands to remember

From your shell

CommandPurpose
claudeOpen an interactive session in the current folder
claude "fix the failing lint step"Open a session with a first prompt already sent
claude -p "summarise CHANGELOG.md"Answer once and exit, ideal for scripts
claude -cPick up the most recent conversation in this folder
claude -rChoose an earlier conversation to resume

Every flag is in the CLI reference.

Inside a session

CommandPurpose
/helpList available commands
/clearStart fresh with an empty conversation
/resumeReopen a previous conversation
/loginSign in again or switch account
/exit (or Ctrl+D twice)Leave Claude Code

The commands reference covers the rest.

Habits worth forming early

Be specific. "Fix the bug" makes Claude guess. "Users who enter a wrong password see a blank page instead of an error; fix it" gives it a target.

Break big jobs into steps. A numbered list keeps a large change on track:

1. add a notifications table with user_id, type, payload and read_at
2. expose GET and PATCH endpoints for a user's notifications
3. add a bell icon in the header that shows the unread count

Let it look before it leaps. Asking read the billing module and explain how invoices are generated before requesting changes gives you, and Claude, a shared understanding.

Learn the shortcuts. Type / to browse commands and skills, use Tab to complete, press the up arrow for history, and Shift+Tab to change permission mode. The full list is in interactive mode.

Next steps