You have a terminal open and a folder of code you already know. That is enough to begin. You will not configure anything, write any files, or make decisions about how the tool should behave. You are going to ask one question about your own code and read the answer.
Claude Code is a CLI, short for command line interface. That means you start the program by typing its name into a terminal instead of clicking an icon. It runs on your machine, uses the folder where you started it, and can read the files in that folder.
Do this
-
Install it. You have several installation choices, but the documentation marks the native install as “Recommended.” It downloads a ready-made program straight from Anthropic. Use that route because it is the only one that updates itself in the background, which keeps you from drifting onto an old version without noticing.
On macOS, Linux, or WSL, short for Windows Subsystem for Linux, a Linux system running inside Windows, run:
curl -fsSL https://claude.ai/install.sh | bashOn Windows with PowerShell, run:
irm https://claude.ai/install.ps1 | iexOn Windows with CMD, the older Windows command prompt, run:
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmdWindows gives you two terminals, and each expects a different command. Check the prompt before you paste: PowerShell shows
PS C:\, while CMD showsC:\without thePS. If you see'irm' is not recognized, you are in CMD. If you seeThe token '&&' is not a valid statement separator, you are in PowerShell. You do not need to run any of this as Administrator. Installing Git for Windows is optional but recommended in the documentation; without it, Claude Code runs shell commands through PowerShell instead of Bash.If the native install fails, macOS also supports
brew install --cask claude-code, and Windows supportswinget install Anthropic.ClaudeCode. Both work, but neither updates itself, so you must run upgrades by hand. You can find the other routes, apt, dnf, apk, npm, pinning a specific version, and uninstalling again, on code.claude.com/docs/en/setup. When the installation goes wrong, troubleshoot-install gives you a table that matches the error text to its fix. -
Check the install worked. Open a new terminal window and run:
claude --versionThe new window matters because the terminal you installed from still holds its old list of program locations. You should get a version number followed by the program’s name, like
2.1.211 (Claude Code). If the terminal answerscommand not foundor'claude' is not recognized, the program is on disk but the terminal cannot find it. The PATH section of troubleshoot-install has the fix for your system.Now ask for more detail than a version number:
claude doctorThis prints a read-only report about the installation and your settings files. It tells you whether the install is healthy, whether any setting failed to parse, and what happened during the last update attempt. Read-only means it reports what it finds and changes nothing. The version that can fix things is
/doctor, typed inside a running session, and it asks before applying anything. -
Move into a project that has code in it. Pick a real project you know rather than an empty folder:
cd ~/code/your-projectThe folder where you start decides which files Claude Code can see. This is the step people miss first.
-
Start it.
claudeOn the first run, a browser window opens and asks you to sign in. You need a paid account: Pro, Max, Team, Enterprise, or a Claude Console account. The free Claude.ai plan does not include Claude Code. If the browser does not open, press
c; Claude Code copies the sign-in address to your clipboard so you can paste it into a browser yourself. Over a remote connection or inside WSL, the browser may give you a code instead of returning you to the terminal. Paste it at the line readingPaste code here if prompted. When sign-in works, the terminal saysLogin successfuland waits for you to press Enter.You now land in an interactive session: a prompt waiting for you to type in the same terminal. Above the prompt, you can see the version, the model you are talking to, and your current folder.
-
Answer the trust question. The first time you start Claude Code in a folder, it asks whether you trust that folder. There is a reason for the pause: a project can contain configuration files that tell Claude Code to run things, and a repository you cloned contains code written by somebody else. Say yes for your own project. Claude Code remembers trust per project, keyed to the top level of your git repository, so you answer once per repo rather than once per session.
-
Ask a question. Do not give an order. Type a question about this codebase that you cannot already answer, then press Enter:
What does this project do, and where does it start running? -
Watch the middle part. Before the answer arrives, you will see lines naming files. Those lines appear because Claude Code is reading them. Let it finish.
-
Ask one follow-up. Choose one of the files it named and ask about it:
What is the biggest thing you would be careful about in that file? -
Leave. Type
/exitto close the session./quitdoes the same job.
That is it. You have used Claude Code, and nothing on your machine changed.
What just happened
The lines that scrolled past before the answer were tool calls. A tool is one specific action Claude Code can take on your machine; reading a file is one of those actions. Claude Code chose which files to open from your question and what it found in the folder. Nobody gave it a list. This is why step 3 mattered: start it in a folder with nothing useful to read, and the answer has to lean on guesses.
Claude Code did not ask permission to read those files. It starts in a permission mode, a setting that decides how much it can do before checking with you. A fresh install’s first session uses the mode named default, shown in the interface as Manual. Manual allows reading and nothing else. You can confirm the mode at the bottom of the screen, where the status line reads ⏸ manual mode on. A question that needs only reading can therefore run from start to finish without interruption. Once Claude Code wants to edit a file or run a shell command, the rules change. That is where module 1 picks up.
If a permission prompt appeared during your question, the safeguard is doing its job. You did nothing wrong, and the prompt is not an error. Claude Code is asking before it acts. Answer it and carry on.
Two other first-session behaviors can look like faults:
It sat there for a while before answering. A long pause is normal. Claude Code is reading, and a large project may take plenty of reading before it has enough evidence to give you a true answer. Press Escape if you want it to stop. Escape interrupts the current work and returns the prompt to you. The interruption damages nothing, and the work already completed remains in the conversation so you can ask something else.
Nothing was set up. Installing Claude Code writes no settings file at all. Your first ~/.claude/settings.json appears when you change an option, not during installation. The session you just ran therefore used every default and none of your own choices. That clean baseline is what the rest of this course will change.
Before you move on, keep three commands close. Type each one at the prompt with a leading slash. /help lists what is available, while /status shows the state of the current session. Pressing ? on an empty prompt toggles a keyboard-shortcut panel. If the rest slips your mind, /help gets you back.
You open a terminal, type claude, and ask about your project. But terminals usually start in your home folder, so Claude Code is reading your entire home directory instead of the project.
The answer sounds confident, but it describes something other than your code. You get no error message and nothing red on the screen. Claude Code read what was in front of it and answered about that.
Watch for two tells. First, the tool-call lines name files you do not recognise. Second, the trust question returns every time you start a session. Trust in your home directory lasts for one session and is never written to disk, while a project asks you once.
Fix it by typing /exit, using cd to enter the project, and starting claude again. The top of the screen shows your working folder. Read it before you type the question.
Check yourself
- Claude Code read four files to answer your question without asking first. Which permission mode were you using, and what action would have caused a prompt to appear?
- You started
claude, realised the answer is heading somewhere useless, and want to stop the response without ending the session. Which key do you press? - You ran one session and changed nothing. Which settings files now exist on your machine because of that session?