Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt Use this file to discover all available pages before exploring further.
Welcome to Claude Code!
This quickstart guide will have you using AI-powered coding assistance in a few minutes. By the end, you'll understand how to use Claude Code for common development tasks.
Make sure you have:
-
A terminal or command prompt open
- If you've never used the terminal before, check out the terminal guide
-
A code project to work with
-
A Claude subscription (Pro, Max, Team, or Enterprise), Claude Console account, or access through a supported cloud provider
This guide covers the terminal CLI. Claude Code is also available on the web, as a desktop app, in VS Code and JetBrains IDEs, in Slack, and in CI/CD with GitHub Actions and GitLab. See all interfaces.
To install Claude Code, use one of the following methods:
**macOS, Linux, WSL:**
```bash
curl -fsSL https://claude.ai/install.sh | bash
```
**Windows PowerShell:**
```powershell
irm https://claude.ai/install.ps1 | iex
```
**Windows CMD:**
```batch
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
```
If you see `The token '&&' is not a valid statement separator`, you're in PowerShell, not CMD. If you see `'irm' is not recognized as an internal or external command`, you're in CMD, not PowerShell. Your prompt shows `PS C:\` when you're in PowerShell and `C:\` without the `PS` when you're in CMD.
[Git for Windows](https://git-scm.com/downloads/win) is recommended on native Windows so Claude Code can use the Bash tool. If Git for Windows is not installed, Claude Code uses PowerShell as the shell tool instead. WSL setups do not need Git for Windows.
Native installations automatically update in the background to keep you on the latest version.
```bash
brew install --cask claude-code
```
Homebrew offers two casks. `claude-code` tracks the stable release channel, which is typically about a week behind and skips releases with major regressions. `claude-code@latest` tracks the latest channel and receives new versions as soon as they ship.
Homebrew installations do not auto-update. Run `brew upgrade claude-code` or `brew upgrade claude-code@latest`, depending on which cask you installed, to get the latest features and security fixes.
```powershell
winget install Anthropic.ClaudeCode
```
WinGet installations do not auto-update. Run `winget upgrade Anthropic.ClaudeCode` periodically to get the latest features and security fixes.
You can also install with apt, dnf, or apk on Debian, Fedora, RHEL, and Alpine.
Claude Code requires an account to use. When you start an interactive session with the claude command, you'll need to log in:
claude
# You'll be prompted to log in on first use/login
# Follow the prompts to log in with your accountYou can log in using any of these account types:
- Claude Pro, Max, Team, or Enterprise (recommended)
- Claude Console (API access with pre-paid credits). On first login, a "Claude Code" workspace is automatically created in the Console for centralized cost tracking.
- Amazon Bedrock, Google Vertex AI, or Microsoft Foundry (enterprise cloud providers)
Once logged in, your credentials are stored and you won't need to log in again. To switch accounts later, use the /login command.
Open your terminal in any project directory and start Claude Code:
cd /path/to/your/project
claudeYou'll see the Claude Code welcome screen with your session information, recent conversations, and latest updates. Type /help for available commands or /resume to continue a previous conversation.
After logging in (Step 2), your credentials are stored on your system. Learn more in Credential Management.
Let's start with understanding your codebase. Try one of these commands:
what does this project do?
Claude will analyze your files and provide a summary. You can also ask more specific questions:
what technologies does this project use?
where is the main entry point?
explain the folder structure
You can also ask Claude about its own capabilities:
what can Claude Code do?
how do I create custom skills in Claude Code?
can Claude Code work with Docker?
Claude Code reads your project files as needed. You don't have to manually add context.
Now let's make Claude Code do some actual coding. Try a simple task:
add a hello world function to the main file
Claude Code will:
- Find the appropriate file
- Show you the proposed changes
- Ask for your approval
- Make the edit
Claude Code always asks for permission before modifying files. You can approve individual changes or enable "Accept all" mode for a session.
Claude Code makes Git operations conversational:
what files have I changed?
commit my changes with a descriptive message
You can also prompt for more complex Git operations:
create a new branch called feature/quickstart
show me the last 5 commits
help me resolve merge conflicts
Claude is proficient at debugging and feature implementation.
Describe what you want in natural language:
add input validation to the user registration form
Or fix existing issues:
there's a bug where users can submit empty forms - fix it
Claude Code will:
- Locate the relevant code
- Understand the context
- Implement a solution
- Run tests if available
There are a number of ways to work with Claude:
Refactor code
refactor the authentication module to use async/await instead of callbacks
Write tests
write unit tests for the calculator functions
Update documentation
update the README with installation instructions
Code review
review my changes and suggest improvements
Talk to Claude like you would a helpful colleague. Describe what you want to achieve, and it will help you get there.
Here are the most important commands for daily use:
| Command | What it does | Example |
|---|---|---|
claude |
Start interactive mode | claude |
claude "task" |
Run a one-time task | claude "fix the build error" |
claude -p "query" |
Run one-off query, then exit | claude -p "explain this function" |
claude -c |
Continue most recent conversation in current directory | claude -c |
claude -r |
Resume a previous conversation | claude -r |
/clear |
Clear conversation history | /clear |
/help |
Show available commands | /help |
exit or Ctrl+D |
Exit Claude Code | exit |
See the CLI reference for a complete list of commands.
For more, see best practices and common workflows.
Instead of: "fix the bug"
Try: "fix the login bug where users see a blank screen after entering wrong credentials"
Break complex tasks into steps:
```text
1. create a new database table for user profiles
2. create an API endpoint to get and update user profiles
3. build a webpage that allows users to see and edit their information
```
Before making changes, let Claude understand your code:
```text
analyze the database schema
```
```text
build a dashboard showing products that are most frequently returned by our UK customers
```
* Type `/` to see all commands and skills
* Use Tab for command completion
* Press ↑ for command history
* Press `Shift+Tab` to cycle permission modes
Now that you've learned the basics, explore more advanced features:
Understand the agentic loop, built-in tools, and how Claude Code interacts with your project
Get better results with effective prompting and project setup
Step-by-step guides for common tasks
Customize with CLAUDE.md, skills, hooks, MCP, and more
- In Claude Code: Type
/helpor ask "how do I..." - Documentation: You're here! Browse other guides
- Community: Join our Discord for tips and support