Short answer: Install Claude Code with
curl -fsSL https://claude.ai/install.sh | bashon macOS/Linux (or the PowerShell equivalent on Windows), or vianpm install -g @anthropic-ai/claude-code@latestif you prefer npm. It is not part of the free Claude plan; you need a paid Claude Pro ($20/month), Max ($100 or $200/month), Team, or Enterprise account, or a pay-as-you-go Claude Console/API account, to actually use it. Start every project with aCLAUDE.mdfile, use plan mode before big changes, and treat every permission prompt as a real decision, not a formality to click through.
Claude Code is a command-line AI coding tool: you run it in a terminal, point it at a project folder, and talk to it in plain English to read, write, and run code. This walks through installing it, your first real session, the safety habits worth building from day one, and shipping something live.
Installing Claude Code
Anthropic's current recommended installation is a standalone native installer, though the older npm method still works.
macOS, Linux, or WSL:
curl -fsSL https://claude.ai/install.sh | bash
Windows (PowerShell):
irm https://claude.ai/install.ps1 | iex
Alternative: npm. Anthropic's own quickstart lists the native installer, Homebrew, and WinGet as the supported methods and doesn't feature npm anymore, but the npm package still works if you already have Node.js installed and prefer that path:
npm install -g @anthropic-ai/claude-code@latest
Pinning @latest matters here since the npm package can lag behind the native installer's auto-updates. npm installs need a recent Node.js version; check the current requirement with node --version and update Node if the install warns about it. Either method installs the same claude command.
Verify it installed correctly:
claude --version
Then run claude inside any project folder to start your first session. On first launch, it'll walk you through logging in with your Claude account.
Your first session
Open a terminal, cd into a project folder (or an empty folder for a brand-new project), and run:
claude
You're now in an interactive session. Try something small first, not "build me a full app," but something like "create a simple Next.js page that shows a list of my favorite Filipino dishes." Watch what it does: which files it creates, what commands it runs, how it explains its reasoning. Getting a feel for its rhythm on a small task before trusting it with something bigger is worth the extra ten minutes.
Setting up CLAUDE.md
CLAUDE.md is a markdown file at your project's root that Claude Code reads automatically at the start of every session in that folder. Think of it as onboarding notes for a new teammate: your build commands, code style preferences, architectural decisions, and anything project-specific it would otherwise have to guess or ask about every time.
Run /init inside a Claude Code session to generate a starter CLAUDE.md based on your existing project, or create one manually:
# CLAUDE.md
## Project
A Next.js app for tracking sari-sari store inventory.
## Commands
- `npm run dev` - start local dev server
- `npm run build` - production build
- `npm run lint` - run linter before committing
## Conventions
- Use TypeScript, not plain JavaScript.
- Components go in `components/`, one per file.
- Never commit `.env.local` or any file with real API keys.
## Database
Supabase project. Row Level Security is on for every table. See /blog/supabase-tutorial-for-beginners for the pattern we follow.
A good CLAUDE.md saves you from re-explaining the same context every session, and it's also where you write down hard rules you never want skipped, like "never disable Row Level Security" or "always ask before deleting a file."
Understanding permission prompts
By default, Claude Code asks for your confirmation the first time it wants to use a given tool in a session, editing a file, running a shell command, and so on. This is a deliberate safety layer, not a bug to work around by mashing "yes" without reading. A few permission modes worth knowing:
| Mode | What it does | When to use it |
|---|---|---|
| Default | Prompts you on first use of each tool | Everyday work, especially early on |
| Plan mode | Claude reads and explores but doesn't edit anything | Understanding an unfamiliar codebase, or reviewing what it intends to do before it does it |
| Accept edits | Auto-approves file edits and common filesystem commands | Once you trust the pattern of changes for a specific task |
| Bypass permissions | Skips all permission prompts | Only in a fully disposable or sandboxed environment, never on a project touching real credentials or production data |
You can check and adjust these with /permissions inside a session. The instructions in your CLAUDE.md shape what Claude tries to do, but they don't override what the permission system actually allows, which is exactly the point: a prompt asking it to "always delete old files without asking" doesn't grant that permission by itself.
The plan-then-build workflow
For anything beyond a trivial change, ask Claude Code to plan before it touches code:
- Describe the goal, ask for a plan first. "I want to add user authentication to this app. Don't write any code yet, walk me through your plan first."
- Read the plan like a code review. Does it match how you understood the feature? Is it touching files you didn't expect?
- Approve, or redirect. If something's off, say so before it starts writing files, not after.
- Let it build, then review the diff, not just whether the app runs.
This catches misunderstandings while they're still cheap to fix, a wrong plan, instead of expensive, a wrong implementation you now have to unwind.
Git safety while using an AI coding tool
Claude Code can run git commands, which means it's genuinely important that you have working git habits, not optional ones.
- Commit before starting a risky change, so you always have a clean point to return to with
git difforgit checkout. - Review every diff before committing, the same way you would with a human collaborator's pull request.
git diffis your friend; reading it is not optional just because an AI wrote the change. - Never let an AI tool force-push, rewrite history, or delete branches on a shared repo without you explicitly confirming it. Treat these the same way you'd treat a junior teammate asking to run a destructive command: pause and check.
- Use small, frequent commits so any single AI-driven change is easy to isolate and revert if it turns out to be wrong.
Our git flow guide covers a beginner-friendly branching workflow that pairs well with AI-assisted development.
Reviewing diffs like you mean it
The single habit that separates safe AI-assisted development from a future security incident is actually reading what got changed. When Claude Code finishes a task:
- Run
git diffand read every changed line, not just the parts related to what you asked for. - Look specifically for anything touching authentication, database access rules, or environment variables, the areas where AI-generated code causes the most real-world damage.
- Ask it directly: "explain what could go wrong here from a security standpoint," and read the answer before moving on.
This doesn't need to take long once it's a habit. It needs to happen every time, not just when something feels risky, because the changes that feel routine are exactly the ones most likely to get skimmed past.
Deploying to Vercel
Once your app works locally, shipping it is usually a few commands:
npm install -g vercel
vercel login
vercel --prod
Or, more commonly for an ongoing project, connect your GitHub repo directly at vercel.com: import the repo, add any environment variables your app needs (API keys, database URLs) in the project settings, and Vercel deploys automatically on every push to your main branch. See our full guide to deploying your first website for free for the free-tier details and alternatives like Netlify.
Cost and plan notes
| Plan | Price | Claude Code included? | Good for |
|---|---|---|---|
| Free | $0/month | Not included | Trying the Claude chat product, not Claude Code |
| Pro | $20/month ($17/month billed annually) | Yes | Most individual developers doing regular, not all-day, Claude Code work |
| Max (5x) | $100/month | Yes, higher usage limits | Developers using Claude Code through most of a working day |
| Max (20x) | $200/month | Yes, highest usage limits | Heavy daily use where hitting usage limits on Pro or Max 5x is a recurring problem |
There's also a pay-as-you-go API option billed per token, useful if you're building your own tool on top of Claude rather than using the Claude Code CLI directly, but for the beginner workflow this guide covers, a subscription plan is the simpler starting point. Start on Pro; upgrade to Max only once you've actually hit its usage limits during real work, not preemptively.
Your first week with Claude Code
- Install it and run
/initon a small existing project, or start a brand-new one. - Write a real
CLAUDE.mdwith your actual commands and at least one hard rule you care about. - Do one task in plan mode before letting it write code, so you see the habit in action.
- Review a diff line by line, even if the app "looks like it works."
- Deploy something small to Vercel by the end of the week. If you don't have a project yet, our free Ship Your First Project 7-day challenge is built around exactly this arc.
Frequently asked questions
How do I install Claude Code?
Run curl -fsSL https://claude.ai/install.sh | bash on macOS, Linux, or WSL, or irm https://claude.ai/install.ps1 | iex in PowerShell on Windows. Anthropic's official quickstart also lists Homebrew (brew install --cask claude-code) and WinGet (winget install Anthropic.ClaudeCode) as supported methods. You can alternatively install it via npm with npm install -g @anthropic-ai/claude-code@latest if you already use Node.js, though Anthropic's docs now recommend the native installer first.
Is Claude Code free to use?
No. Claude Code is not included in the free Claude plan, per Anthropic's official pricing page. You need a paid Claude Pro plan ($20/month), a Max plan ($100 or $200/month), a Team or Enterprise seat, or a Claude Console account billed pay-as-you-go, to log in and use it.
What is CLAUDE.md and do I actually need one?
CLAUDE.md is a markdown file at your project root that Claude Code reads automatically to understand your project's commands, conventions, and rules. You don't strictly need one for a five-minute task, but for any real project, it saves significant repeated explanation and is where you encode hard rules you never want skipped.
Is it safe to let Claude Code run commands without approving each one?
Only in a fully disposable or sandboxed environment. For any project with real credentials, real data, or a shared git history, keep permission prompts on default or use plan mode, and review diffs before committing, rather than switching to a mode that skips all confirmations.
How do I deploy an app I built with Claude Code?
The most common beginner path is pushing your project to GitHub and connecting the repo to Vercel, which deploys automatically on every push and offers a free tier for personal projects. Our guide to deploying your first website for free covers Vercel plus alternatives.
Sources
- Quickstart, Claude Code Docs
- Configure permissions, Claude Code Docs
- How Claude remembers your project (CLAUDE.md and memory), Claude Code Docs
- Plans & Pricing, Claude by Anthropic
- @anthropic-ai/claude-code, npm
- Deploying to Vercel, Vercel Docs
- Our git flow guide for vibe coders
- Our guide to deploying your first website for free