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
/loginopens 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
| Command | Purpose |
|---|---|
claude | Open 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 -c | Pick up the most recent conversation in this folder |
claude -r | Choose an earlier conversation to resume |
Every flag is in the CLI reference.
Inside a session
| Command | Purpose |
|---|---|
/help | List available commands |
/clear | Start fresh with an empty conversation |
/resume | Reopen a previous conversation |
/login | Sign 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
- Understand what is happening under the hood in how Claude Code works.
- Give Claude lasting project knowledge with a
CLAUDE.md, explained in memory. - Read best practices and common workflows for the patterns that pay off most.
- See features overview for skills, hooks, MCP and subagents.
- For install options, manual updates or uninstalling, see advanced setup.