Your First Hour with Claude Code
Your First Hour with Claude Code
Section titled “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.
Step 1 — Install Claude Code
Section titled “Step 1 — Install Claude Code”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:
```bashnode --version```
Then install Claude Code:
```bashnpm 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:
```powershellwsl --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`.
```bashcurl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -sudo apt-get install -y nodejs```
Then install Claude Code:
```bashnpm install -g @anthropic-ai/claude-code```=== “Linux”
Install Node.js for your distribution, then:
```bashnpm install -g @anthropic-ai/claude-code```
On Ubuntu/Debian:
```bashcurl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -sudo apt-get install -y nodejsnpm install -g @anthropic-ai/claude-code```Step 2 — Authenticate
Section titled “Step 2 — Authenticate”Run claude in your terminal:
claudeOn 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.
Step 3 — First Launch
Section titled “Step 3 — First Launch”After authentication, running claude drops you into an interactive session:
claudeYou’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.
Step 4 — Your First Real Task
Section titled “Step 4 — Your First Real Task”Here’s a task that’s genuinely useful and shows what Claude Code can actually do.
Navigate to your Downloads folder first:
cd ~/DownloadsThen start Claude Code:
claudeNow give it this prompt:
Look at the files in this folder and write a Python script thatorganizes them by file type — move PDFs into a PDFs folder, imagesinto an Images folder, and everything else into Other. Don't runit yet, just write it and show me what it will do first.Watch what happens:
- Claude Code reads your Downloads folder
- It writes a Python script
- It explains what the script will do, file by file
- 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.
Key Commands to Know
Section titled “Key Commands to Know”Starting a session
Section titled “Starting a session”claude # Start a new interactive sessionclaude --continue # Resume your last sessionclaude -p "your prompt" # One-shot: get an answer and exitGiving it context
Section titled “Giving it context”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 outdatedIf 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?Letting it edit files vs. just suggest
Section titled “Letting it edit files vs. just suggest”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):
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.
Permission modes
Section titled “Permission modes”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.
| Mode | What It Means |
|---|---|
| Default | Asks permission for file writes and shell commands |
--dangerously-skip-permissions | Skips most confirmation prompts |
| Read-only | Tell 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.How to stop it mid-task
Section titled “How to stop it mid-task”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 Mental Shift
Section titled “The Mental Shift”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?”
Common First-Timer Mistakes
Section titled “Common First-Timer Mistakes”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.
Tips for Better Results
Section titled “Tips for Better Results”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.