How to use Claude Code

Issue #1000

I’ve been using Claude Code daily for months. Here are my notes

Extended Thinking: The Magic Words

Claude Code has built-in thinking modes that allocate more compute for complex problems:

  • “think” → ~4K tokens
  • “think hard” / “megathink” → ~10K tokens
  • “think harder” / “ultrathink” → ~32K tokens

Example: ultrathink Plan the architecture for this payment system

Image

Reserve ultrathink for architecture decisions and hard debugging. For simple tasks, you’re just burning tokens.


Essential Keyboard Shortcuts

Shortcut Action
Escape Stop current operation
Escape x2 Searchable message history / rewind to checkpoint
Up Arrow Command history (persists across sessions)
Tab Autocomplete file paths
Ctrl+V Paste images (not Cmd+V, even on Mac)
Ctrl+R Search prompt history
Shift+Tab Toggle Plan Mode
@filename Reference files in prompts

Plan Mode

Toggle with Shift+Tab. Claude analyzes your codebase read-only before proposing changes. Use it for:

  • Exploring unfamiliar codebases
  • Planning complex refactors
  • Safe code reviews

CLAUDE.md: Project Memory

Create a CLAUDE.md in your repo root:

# Build
- npm run build
- npm run test

# Style
- ES modules, not CommonJS
- No `any` types
- Destructure imports

# Workflow
- Typecheck after changes
- Run single tests, not full suite

Keep it concise. Claude loads this automatically every session.

Tip: Press # during a session to give Claude an instruction it will automatically add to the relevant CLAUDE.md.


Context Management Tips

  • /clear often — Start fresh for new tasks. Old history eats tokens.
  • /compact — Summarize context when running low.
  • --resume — Continue previous sessions: claude --resume
  • /context — See what’s currently in Claude’s memory.
  • Run parallel instances — Different terminal panes for different parts of your codebase.

MCP: Connect Claude to Everything

Context7 (Up-to-Date Docs)

Fetches real-time, version-specific documentation. No more deprecated API suggestions.

claude mcp add context7 -- npx -y @upstash/context7-mcp@latest

Then add “use context7” to prompts.

Other Useful MCPs

  • GitHub — Manage PRs and issues
  • Zapier — Connect to 1000s of apps
  • Perplexity — Research without leaving terminal

VS Code Extension

Install from the Marketplace. Features:

  • Inline diffs with accept/reject
  • Plan review before applying
  • Auto-accept mode
  • Multiple parallel instances in tabs

Works standalone—no CLI needed.


Chrome Extension

Claude in Chrome lets Claude navigate websites, fill forms, and automate browser tasks. Now integrates with Claude Code for build-test-verify workflows.

Image

Checkpoints: Undo Everything

Claude auto-saves before each change. Rewind with:

  • Escape x2 → Select checkpoint
  • /rewind command

Restore options: chat only, code only, or both.


Track Usage with ccusage

npx ccusage@latest daily     # Daily usage
npx ccusage@latest session   # By conversation
npx ccusage@latest blocks --live  # Real-time monitoring

Essential for understanding where your tokens go. GitHub


Hooks

Run scripts at specific events. Add to .claude/settings.json:

{
  "hooks": {
    "PostToolUse": [{ "type": "command", "command": "npm run lint" }]
  }
}

Available events: SessionStart, PreToolUse, PostToolUse, Stop, Notification, PreCompact


GitHub Actions

Tag @claude in any PR or issue to get Claude to analyze code, implement features, or fix bugs automatically.

Quick Setup

/install-github-app

Or manually: install the Claude GitHub App, add ANTHROPIC_API_KEY to repo secrets, and copy the workflow file.

What You Can Do

@claude implement this feature based on the issue description
@claude fix the TypeError in the dashboard component  
@claude review this PR for security issues

Claude respects your CLAUDE.md guidelines and existing code patterns.

Full docs →


Subagents: Specialized Helpers

Create focused agents for specific tasks:

/agents

Examples: code-reviewer, api-designer, test-writer. Each has its own context and tools.

Tip: Combine with ultrathink: have the main agent plan, then delegate to subagents.


Hidden Commands Worth Knowing

  • /init — Initialize project setup
  • /doctor — Diagnose issues
  • /permissions — Manage tool access
  • /cost — See current session cost
  • /model — Switch models mid-session
  • /stats — Your Claude Code stats (favorite model, usage streak, graphs)
  • /usage — Current usage and limits
  • /export — Export conversation
  • /memory — View/edit memory rules
Image Image Image

Git Worktrees for Parallel Work

Run multiple Claude instances on different branches:

git worktree add ../feature-branch feature-branch
cd ../feature-branch
claude

Each worktree gets its own Claude session. Great for comparing implementations.


Plugin Ecosystem

Install Plugins

/plugin marketplace add edmund-io/edmunds-claude-code
/plugin install edmunds-claude-code
Repo What It Offers
edmund-io/edmunds-claude-code 14 commands + 11 agents for web dev
wshobson/commands 57 production-ready commands
wshobson/agents Plugin marketplace version
anthropics/skills Official skills (docx, xlsx, pdf, pptx)
EveryInc/compound-engineering-plugin Engineering workflows

Prompting Tips

Good prompts make all the difference. Here’s what works:

Be Clear and Specific

# Bad
"Help me with authentication"

# Good
"Add JWT refresh token logic to src/auth/refresh.ts. 
The access token expires in 15min, refresh token in 7 days. 
Store refresh token in httpOnly cookie. Follow the pattern in src/auth/login.ts."

Use Examples

Show Claude what you want:

"Format error messages like this existing one:
{ code: 'AUTH_001', message: 'Invalid credentials', status: 401 }

Now create error types for: expired token, missing permissions, rate limited"

Encourage Step-by-Step Thinking

For complex tasks, ask Claude to think through it:

"Before implementing, think step-by-step:
1. What files need to change?
2. What could break?
3. How do we test this?
Then implement."

Iterate and Refine

Don’t accept the first output. Be specific about what to change:

# Bad
"Make it better"

# Good  
"Good start, but:
1. Extract the validation logic into a separate function
2. Add error handling for network failures
3. Use early returns instead of nested ifs"

Use Role-Playing

Assign Claude a perspective:

"Act as a security auditor. Review this authentication flow 
and identify potential vulnerabilities. Then switch to a 
senior developer perspective and suggest fixes."

Specify Output Format

Tell Claude exactly how you want the response:

"Analyze this API design and provide:
1. Executive summary (2-3 sentences)
2. Issues found (bullet list)
3. Recommended changes (table: issue | fix | priority)
4. Implementation order"

Let Claude Say “I Don’t Know”

Add this to avoid hallucinations:

"If you're unsure about any part of our codebase conventions, 
ask me rather than guessing."

For more prompting techniques, see this Claude prompting guide.

Read more

Written by

I’m open source contributor, writer, speaker and product maker.

Start the conversation