Claude Code/
Lesson

Most AI coding tools live inside your IDEWhat is ide?Integrated Development Environment - an application like VS Code where you write, run, and debug code. AI coding tools plug into IDEs to suggest completions., a sidebar panel, an autocomplete overlay, a chat window embedded in VS Code. Claude Code takes a different approach: it runs in your terminalWhat is terminal?A text-based interface where you type commands to interact with your computer. Also called the command line or shell.. No plugins, no extensions, no IDE lock-in. Just a command-line tool that understands your entire project.

Why the terminalWhat is terminal?A text-based interface where you type commands to interact with your computer. Also called the command line or shell.?

The terminal is the one tool every developer already uses, regardless of their editor preference. By running in the terminal, Claude Code works alongside any editor, any workflow, any operating system. It also means Claude Code has the same access your shell does: it can read files, run commands, interact with git, and execute scripts, all without needing IDEWhat is ide?Integrated Development Environment - an application like VS Code where you write, run, and debug code. AI coding tools plug into IDEs to suggest completions.-specific APIs.

This isn't about replacing your editor. It's about adding an AI collaborator that works where you already work.

Good to know
Claude Code doesn't require any IDE or editor. If you can open a terminal, you can use Claude Code. This makes it especially useful on remote servers, in containers, or during SSH sessions where IDE-based AI tools aren't available.
02

Installation

Claude Code requires Node.js 18 or higher. Install it globally with npm:

npm install -g @anthropic-ai/claude-code

Once installed, navigate to any project directory and start a sessionWhat is session?A server-side record that tracks a logged-in user. The browser holds only a session ID in a cookie, and the server looks up the full data on each request.:

cd your-project
claude

On first run, Claude Code will authenticate with your Anthropic account and begin indexing your project. You'll see a prompt where you can start typing questions or instructions.

03

The permission model

Claude Code can read files, write files, and run shell commands. Because that's powerful (and potentially destructive), it has a permission system with three modes:

ModeBehaviorBest for
ask (default)Claude shows proposed changes and waits for approvalDay-to-day development, learning
auto-acceptClaude applies changes without askingTrusted, well-defined tasks
denyClaude can only read, never write or executeExploration, code review

In ask mode, every time Claude wants to edit a file or run a command, it shows you exactly what it plans to do. You press Enter to approve or type "no" to reject. This is the safest way to work while you're learning.

Auto-accept mode is useful when you trust Claude with a specific task, for example, running a formatter across your codebase or applying a well-understood refactor. You can enable it with:

claude --dangerously-skip-permissions

The flag name is intentionally cautious. Use it when you know what you're doing.

AI pitfall
Auto-accept mode is powerful but risky. Claude might generate a command like rm -rf as part of a cleanup task, or overwrite a file you didn't expect. Always review what Claude plans to do in ask mode first, and only switch to auto-accept for tasks you've already tested interactively.

Deny mode prevents Claude from making any changes at all. It can still read your code and answer questions, but it won't touch anything.

04

First steps in a sessionWhat is session?A server-side record that tracks a logged-in user. The browser holds only a session ID in a cookie, and the server looks up the full data on each request.

Once you're in a Claude Code session, you interact by typing natural language. There's no special syntax to learn:

Claude Code
> What does this project do?

> How is authentication implemented?

> Show me the main entry point

Claude reads your project files, follows imports and references, and gives you answers grounded in your actual code, not generic documentation.

To exit a session, press Ctrl+C twice or type /exit.

05

How Claude Code compares

If you've used other AI coding tools, here's how Claude Code differs:

FeatureClaude CodeCursorGitHub Copilot
InterfaceTerminal (CLI)IDE (VS Code fork)IDE extension
Editor lock-inNoneCursor editorVS Code / JetBrains
File accessFull project via shellOpen files + indexingOpen files + limited context
Command executionRuns shell commands directlyLimited terminal integrationNo command execution
Git integrationNative (commits, PRs, diffs)BasicBasic
AutomationHeadless mode for scripts/CINoNo
Context windowLarge, with automatic managementVariesLimited

The key differentiator is that Claude Code operates at the project level, not the file level. It can understand your entire codebase, run your tests, read the output, and fix the issues, all in one flow.

06

Best practices for getting started

  • Run from the project root. Claude Code works best when started from the root of a git repositoryWhat is repository?A project folder tracked by Git that stores your files along with the complete history of every change, inside a hidden .git directory.. It uses git to understand your project structure and track changes.
  • Start with questions. Before asking Claude to change anything, ask it to explain your codebase. This builds your confidence in its understanding.
  • Use ask mode. Keep the default permission mode while you're learning. Review every proposed change. You'll build intuition for what Claude does well and where it needs guidance.
  • Be specific. Instead of "fix the bug", say "the login form crashes when the email field is empty, fix the validation in LoginForm.tsx". The more context you provide, the better the result.
Edge case
If you start Claude Code outside a git repository, it still works but loses some capabilities. It won't be able to track which files it has changed, propose meaningful commits, or use git history for context. Always git init first if your project isn't already a repo.