Skip to content

Your First Hour with Claude Code

This page takes you from zero to your first real task. By the end, you’ll have Claude Code installed, running, and doing something useful.


Claude Code is installed via npm, which is the package manager for Node.js. Node.js is a program that lets you run JavaScript outside a browser — many developer tools are built on it. npm comes bundled with Node.js and handles installing those tools. You don’t need to learn JavaScript; you just need Node.js installed so npm can install Claude Code.

=== “Mac”

**Install Node.js first** (if you haven't already):
Go to [nodejs.org](https://nodejs.org) and download the LTS version. Run the installer.
Verify it worked:
```bash
node --version
```
Then install Claude Code:
```bash
npm install -g @anthropic-ai/claude-code
```

=== “Windows (WSL)”

Claude Code runs best on Windows through WSL (Windows Subsystem for Linux). If you don't have WSL set up, open PowerShell as Administrator and run:
```powershell
wsl --install
```
Restart your computer, then open the Ubuntu app. Inside Ubuntu, install Node.js:
!!! info "Alternative: use `nvm` for a non-root install"
If you prefer not to pipe scripts to sudo, install Node via [nvm](https://github.com/nvm-sh/nvm) instead: `curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash` then `nvm install --lts`.
```bash
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
```
Then install Claude Code:
```bash
npm install -g @anthropic-ai/claude-code
```

=== “Linux”

Install Node.js for your distribution, then:
```bash
npm install -g @anthropic-ai/claude-code
```
On Ubuntu/Debian:
```bash
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
npm install -g @anthropic-ai/claude-code
```

Run claude in your terminal:

Terminal window
claude

On first launch, Claude Code opens a browser window for you to log in with your Anthropic account. If you have a Pro or Max subscription, Claude Code usage is included in your plan. If you’re on a free account, you can authenticate with an API key from console.anthropic.com instead.

!!! info “How billing works” Pro/Max subscribers: Claude Code usage is included in your subscription. You may hit usage limits during peak demand. API key users: Billed per token (input + output). Most people find it runs $5–20/month for regular use. Set spending limits in the Anthropic console.


After authentication, running claude drops you into an interactive session:

Terminal window
claude

You’ll see something like:

Claude Code (version x.x.x)
Type a message or / for commands. Ctrl+C to exit.
>

That > prompt is where you type. It’s a conversation interface, not a traditional shell. You talk to it in plain English.

Try this to confirm everything works:

> What directory am I in?

Claude Code will read your current directory and tell you. Not exciting — but it confirms the tool is alive and can see your filesystem.


Here’s a task that’s genuinely useful and shows what Claude Code can actually do.

Navigate to your Downloads folder first:

Terminal window
cd ~/Downloads

Then start Claude Code:

Terminal window
claude

Now give it this prompt:

Look at the files in this folder and write a Python script that
organizes them by file type — move PDFs into a PDFs folder, images
into an Images folder, and everything else into Other. Don't run
it yet, just write it and show me what it will do first.

Watch what happens:

  1. Claude Code reads your Downloads folder
  2. It writes a Python script
  3. It explains what the script will do, file by file
  4. It asks if you want it to run

This is the pattern. You describe what you want, it figures out how to do it, it shows you, you decide whether to proceed.

!!! tip “Ask to see before it acts” Early on, always ask Claude Code to explain what it’s going to do before doing it. Use phrases like “don’t run anything yet” or “show me the plan first.” Once you trust how it works in a given context, you can let it move faster.


Terminal window
claude # Start a new interactive session
claude --continue # Resume your last session
claude -p "your prompt" # One-shot: get an answer and exit

The best way to get good results is to tell Claude Code what it’s working with:

> I'm working on a Python Flask app. The main file is app.py and
the database is SQLite. Can you read app.py and tell me if there
are any obvious issues?

You can also just reference files by name — Claude Code will find and read them:

> Read requirements.txt and tell me if any packages are outdated

If you’re getting an error, paste it directly:

> I'm getting this error:
TypeError: 'NoneType' object is not subscriptable on line 47
Here's the relevant code: [paste it]
What's wrong?

By default, Claude Code will ask for your permission before writing to any file. You’ll see a confirmation prompt:

Write to app.py? (y/n)

If you say yes, it edits the file directly. If you say no, it shows you what the change would be and you can apply it yourself.

To skip confirmations for a session (only do this when you trust the task):

Terminal window
claude --dangerously-skip-permissions

!!! warning “Use permission skipping with care” Skipping permissions means Claude Code can edit and create files without asking. It’s fast, but you lose the safety net. Use it on throwaway projects or when you’re very sure of what you’ve asked for. Never use it on important files you haven’t backed up.

Claude Code has a concept of how much autonomy to give it. For new users, the default is good — it asks before writing files or running commands.

ModeWhat It Means
DefaultAsks permission for file writes and shell commands
--dangerously-skip-permissionsSkips most confirmation prompts
Read-onlyTell it to only read, not modify — useful for analysis

For read-only analysis, just say so in your prompt:

> Don't make any changes. Just read through this codebase and
give me a summary of how it's structured.

If Claude Code is doing something you didn’t intend, press Ctrl+C. It stops immediately, mid-task.

If it’s going off track but you don’t want to lose the session, you can interrupt and redirect:

> Wait — stop. I didn't want you to change that file. Let's go back
to just analyzing it.

Claude Code will follow the redirect. It remembers the conversation context.


The hardest thing about Claude Code for new users isn’t the installation. It’s unlearning the habit of thinking in commands.

With a traditional terminal, you type commands. You have to know the commands. The knowledge is in your head.

With Claude Code, you describe outcomes. You say what you want to happen, and Claude Code figures out the commands. The knowledge is in the AI.

This means:

  • You don’t need to know the exact syntax for something — just describe what you want
  • You can ask “what would happen if I…” before doing anything
  • You can say “I got this error” and let it diagnose
  • You can ask it to explain what it just did in plain English

The more naturally you describe your goal, the better Claude Code performs. Don’t think “what command do I need?” — think “what do I actually want to accomplish?”


Being too vague

# Vague — you'll get a generic response
> Fix my code
# Specific — you'll get an actionable fix
> Read main.py. On line 47 there's a function called parse_date()
that's throwing a TypeError when the date string is empty.
Fix it to return None if the input is empty or None.

Asking it to do too much at once

Claude Code can handle complex tasks, but breaking things into steps gives you more control and better results.

# Overwhelming
> Read all my files, find every bug, fix them all, add tests, and
write documentation.
# Better
> Let's start by reading main.py. Tell me what you see and flag
any obvious issues. We'll fix them one at a time.

Not verifying before moving on

After Claude Code makes a change, check it. Read the file. Run the code. Don’t assume the change is correct just because it was confident.

> You just edited app.py. Can you read it back to me so I can
confirm the change looks right?

Using it only for code

Claude Code is powerful for non-coding tasks too: organizing files, processing text files, writing scripts to rename things in bulk, analyzing data in CSVs. If you’d normally do it in a terminal or a script, Claude Code can help.


Tell it your skill level. If you’re new to Python, say so. Claude Code will explain what it’s doing rather than assuming you understand.

Ask for explanations, not just fixes. “Fix this and explain what was wrong” is more valuable than “fix this.”

Use it iteratively. Make one change, test it, come back. Don’t ask for everything at once.

Save good sessions. If Claude Code did something really useful, use --continue to pick up where you left off, or describe what worked in your next session.

Be honest when something’s wrong. If Claude Code’s response isn’t what you wanted, say specifically what’s off: “That’s too complex,” “I actually need it to handle edge case X,” “You changed the wrong file.”


!!! example “Try this right now” Pick one file on your computer — a script, a document, anything. Navigate to its folder and run claude. Ask Claude Code to read the file and summarize what it does. Then ask one follow-up question about it. That’s enough to get a feel for how the tool works.