This guide will get you up and running with Claude Code in 10 minutes.
Claude Code is an AI agent that can edit files, run tests, and handle refactoring tasks. With thousands of MCP servers and a ton of community-make Skills, CC can do almost anything (dev-related and otherwise).
Ways to use Claude Code
CC can be run in three different ways: web, CLI, and IDE.
Claude Code on the web: start coding ASAP
Go to claude.ai/code. This is the easiest and fastest way to use CC.
- Go to claude.ai/code
- Sign in (you’ll need Claude Pro/Max)
- Select your env
- Connect your GitHub and select a repo
- Start prompting
- (optional) Click “Open in CLI” to bring the session to your terminal
Using Claude Code CLI
If you prefer running the agent locally and/or prefer the terminal, install the CLI:
# via curl
curl -fsSL https://claude.ai/install.sh | bash
# or via homebrew
brew install --cask claude-code
Launch a session by running:
claude
Then login with the slash command from your CC session:
/login
Launch a CC session for a specific project:
claude /path/to/project
The CLI version works with your local setup and environment. It’ll run everything on your machine, and use tools that you’ve configured.
Using Claude Code from Your IDE
Anthropic has a VS Code extension for Claude Code. It’s currently in beta. You can access it via a VS Code panel (like Cursor or Continue).
Claude Pro vs API
To use Claude Code, you’ll need either a premium plan or API tokens.
We highly recommend Claude Pro. It’s $20/month and gives you a decent amount of usage for most casual/mid-intensity dev work.
Buying tokens gets really pricey quickly, and it’s often more economical to upgrade to Max instead.
Here’s how you can track your token usage.
Use Claude Code within a repo
Always run Claude Code from your project root:
cd /your/project
claude
This gives much better results than running it from (for example) your Documents directory. Without project context, its outputs will be too generic.
Run commands in Claude Code
Claude Code has a real terminal. There are two ways to use it:
Direct shell access: Start any message with ! within a CC session to run a command yourself:
!npm test
!git status
!curl localhost:3000/health
Let Claude Code run commands: You can do this in natural language, e.g. write “run the tests” or “install axios” or “check what’s running on port 3000”. CC can figure out the right command and run it.
Getting Web Content
Claude Code can fetch URLs with curl or wget, but it can’t use the browser on its own. This means if you have a frontend bug or need to grab browser console logs, you’ll need to solve manually (or use an MCP server).
What base CC can do:
curl https://api.example.com/data- make API callswget https://example.com/file.pdf- download files- Reading public HTML (if it’s server-rendered)
What it can’t:
- SPAs that need JavaScript
- clicking through pages
Workaround: Playwright MCP
Playwright’s MCP server launches a real browser that Claude Code can manage. Tell it to “use Playwright to screenshot this page” or “get the DOM from this React app”. Claude Code can then analyze what Playwright captures.
Undoing changes
Did Claude Code break something? You can rewind by running /rewind in a session.
This rolls back all file changes until the checkpoint that you select. It’s also much more token-efficient (and accurate) than asking CC to revert the changes it made.
Claude Code quick config
Claude Code is super customizable. Here are a few basic ways you can configure its behavior.
Your CLAUDE.md file
Create a CLAUDE.md in your project’s root. You can use Claude to help write it.
You may want to give context on commands, architecture, and add few rules (always run tests, don’t do XYZ etc.). This will save you tokens over time, and prevent you from needing to repeat instructions.
# Project Context for Claude Code
## Project Overview
Node.js app, Express + PostgreSQL
## Commands
- `npm test` - run tests
- `npm run dev` - start dev server
- `npm run lint` - linting
## Architecture
- Controllers: /src/controllers
- Models: Sequelize ORM
- All features need tests
## Style
- async/await only
- functional style preferred
- keep functions small
Read some tips for writing a good CLAUDE.md file.
MCP Servers
MCP servers let you extend CC’s capabilities. They’re great for streaming data quickly between an external service and CC.
Caution: they tend to eat a lot of tokens; use your discretion.
You can find the MCP config for your tool of choice, then (outside a CC session) run:
# add the playwright mcp
claude mcp add playwright npx '@playwright/mcp@latest
Add context to CLAUDE.md:
## MCP Configuration
- generate diagrams with MermaidJS MCP for architecture changes
- use Playwright MCP to visit localhost and take screenshots to verify
Best MCP Servers
There are a ton of MCP servers out there that can help you connect CC to your other services. Here are a few that are particularly useful:
- Playwright MCP - Browser automation and E2E test generation
- MermaidJS MCP - Generate diagrams from code structure
- Notion MCP - Read and update Notion docs directly
- Shipyard MCP - Spin up preview environments for your agents
Claude Skills
Skills are reusable prompts, typically for repeatable workflows or processes. You can write/generate them, then invoke them with natural language.
E.g. create a skill for your API conventions:
# api-endpoint.skill
When creating API endpoints:
- Use middleware for auth
- Return 422 for validation errors
- Include request ID in responses
- Write integration tests for each endpoint
Save it to your project’s .claude/skills/ folder. Ask CC to “add a user endpoint” and Claude Code will refer to the skill.
Best Claude Skills
Here are a few community-made skills that you can paste into your project:
| Skill | Description | GitHub Link |
|---|---|---|
| raffle-winner-picker | Choose raffle winners from spreadsheets | View source |
| video-downloader | Download web videos | View source |
| csv-data-summarizer | Summarize data in a CSV | View source |
| receiving-code-review | Set yourself up to receive code review | View source |
| gardening-skills-wiki | Keep skills wiki healthy with periodic checks | View source |
| ship-learn-next | Get plans from learning content | View source |
| skill-seeker | Generate a skill from any docs page | View source |
Claude Code prompting tips
If you understand how LLMs work and prompt accordingly, you’ll get higher-quality outputs. Here are a few basics:
- Start with the test cases (Claude Code works well with TDD)
- Give it error messages verbatim
- Reference specific files and line numbers
- Show example input/output
- Be explicit; tell it what NOT to change
- Limit to one task per message (atomic commits)
Try it yourself
You can get started using Claude Code right away: go to claude.ai/code, connect your GitHub, and start prompting.
To learn more pro tips, check out our Claude Code cheat sheet.