You have a terminal open and a folder of code you already work on. That is the whole starting position for this module. You are not going to configure anything, write any files, or decide anything about how the tool should behave. You are going to ask it one question about your own code and read what it says back.
Claude Code is a CLI, short for command line interface: a program you start by typing its name into a terminal, rather than by clicking an icon. It runs on your machine, in whatever folder you started it from, and it can read the files in that folder.
Do this
-
Install it. There are several ways to do this, and the documentation marks one of them “Recommended”: the native install, which downloads a ready-made program straight from Anthropic. Use that one. It is the only method that updates itself in the background, so you will not drift onto an old version without noticing.
On macOS, on Linux, or inside WSL, short for Windows Subsystem for Linux, which is a Linux system running inside Windows:
curl -fsSL https://claude.ai/install.sh | bashOn Windows, in PowerShell:
irm https://claude.ai/install.ps1 | iexOn Windows, in CMD, which is the older Windows command prompt:
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmdWindows gives you two terminals and they take different commands, so check which one you are in before you paste. Your prompt shows
PS C:\in PowerShell andC:\without thePSin CMD. If you get'irm' is not recognized, you are in CMD. If you getThe token '&&' is not a valid statement separator, you are in PowerShell. On Windows you do not need to run any of this as Administrator. Installing Git for Windows as well is optional, and the documentation recommends it, because without it Claude Code runs shell commands through PowerShell rather than through Bash.If the native install fails on your machine, macOS has
brew install --cask claude-codeand Windows haswinget install Anthropic.ClaudeCode. Both work, and neither updates itself, so you would have to run the upgrade by hand. The other routes, which are apt, dnf, apk, npm, pinning a specific version, and uninstalling again, are all on one page: code.claude.com/docs/en/setup. When an install goes wrong, troubleshoot-install opens with a table that matches the error text you got to the fix for it. -
Check the install worked. Open a new terminal window, because the one you installed from is still holding the list of program locations it had before, and run:
claude --versionYou 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 your terminal cannot find it, and the PATH section of troubleshoot-install has the fix for your system.For more detail than a version number, run:
claude doctorThat prints a read-only report on your installation and your settings files: whether the install is healthy, whether any setting failed to parse, and what the last update attempt did. Read-only means it tells you and changes nothing. The version of this that can actually fix things is
/doctor, typed inside a running session, and it asks you before it applies anything. -
Move into a project that has code in it. Use a real one you know, not an empty folder:
cd ~/code/your-projectThe folder you start in decides which files Claude Code can see. This matters more than anything else in the module, and step 3 is where people get it wrong.
-
Start it.
claudeThe first run opens a browser window and asks you to sign in. You need a paid account for this: Pro, Max, Team, Enterprise, or a Claude Console account. The free Claude.ai plan does not include Claude Code. If no browser opens, press
cand the sign-in address is copied to your clipboard for you to paste into one yourself. If the browser hands you a code instead of sending you back to the terminal, which is what happens over a remote connection or inside WSL, paste that code at the line readingPaste code here if prompted. When it works the terminal saysLogin successfuland waits for you to press Enter.After that you land in an interactive session: a prompt waiting for you to type, in the terminal you were already in. Above it you get the version, the model you are talking to, and the folder you are in.
-
Answer the trust question. The first time you start it in a folder, Claude Code asks whether you trust that folder. It is asking because a project can carry configuration files that tell Claude Code to run things, and code from a repository you cloned is code somebody else wrote. Say yes for your own project. Trust is remembered per project, keyed to the top level of your git repository, so you answer this once per repo and not once per session.
-
Ask a question. Do not give an order. Type something you genuinely do not know the answer to about this codebase, and 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, because it is reading them. Let it finish.
-
Ask one follow-up. Pick a file it named and ask about that:
What is the biggest thing you would be careful about in that file? -
Leave. Type
/exit. That closes the session./quitdoes the same thing.
You have now used Claude Code. 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, and reading a file is one of them. It chose which files to open on its own, from your question and from what it found in the folder. Nobody handed it a list. That is why step 3 mattered: run it in a folder with nothing in it and it has nothing to read, so you get an answer built out of guesses.
It did not ask your permission to read those files, and that is worth understanding rather than shrugging at. Claude Code starts in a permission mode, which is a setting for how much it does without checking with you first. A fresh install’s first session starts in the mode named default, shown in the interface as Manual, and Manual allows reading and nothing else. You can see which one you are in at the bottom of the screen, where the status line reads ⏸ manual mode on. So a question that only needs reading runs start to finish with no interruption. The moment it wants to change a file or run a shell command, that changes, which is module 1.
If a permission prompt did appear during your question, that is the tool working. It is not an error and it is not you having done something wrong. It is the thing asking before it acts. Answer it and carry on.
Two other things a first session does that look like faults and are not:
It sat there for a while before answering. A long pause is normal. It is reading, and on a large project it may read a lot before it has enough to say anything true. If you want it to stop, press Escape. Escape interrupts whatever Claude is doing and hands the prompt back to you. Nothing is damaged by interrupting. The work it had done is still in the conversation and you can say something else.
Nothing was set up. Installing Claude Code writes no settings file at all. Your first ~/.claude/settings.json gets created the first time you change an option, not at install. So the session you ran is the tool with all of its defaults and none of your choices, which is exactly the baseline the rest of this course changes.
Three commands worth knowing before you go further, all typed at the prompt with a leading slash. /help lists what is available. /status shows the state of the current session. Pressing ? on an empty prompt toggles a panel of keyboard shortcuts. If you forget everything else, /help gets you back.
You open a terminal, type claude, and ask about your project. The terminal was sitting in your home folder, which is where terminals usually start, so the folder Claude Code is reading is your entire home directory and not your project.
What you see is an answer that sounds confident and describes something that is not your code. There is no error message. There is nothing red on the screen. It read what was in front of it and answered about that.
Two tells. The files it names in those tool-call lines are not files you recognise. And the trust question comes back every time you start a session, because trust in your home directory is session-only and never written to disk, unlike a project where you are asked once.
The fix is /exit, then cd into the project, then claude again. Check the top of the screen: it shows the folder you are working in. Read it before you type your question.
Check yourself
- You asked a question and it read four files without asking you first. Which permission mode were you in, and what would it have had to want to do for a prompt to appear?
- You started
claude, realised the answer is going somewhere useless, and want out of the current response without ending the session. Which key? - You have run one session and changed nothing. Which settings files now exist on your machine because of that session?
Next: you have watched it read. Module 1 is what happens when you let it write, and how to put the file back afterwards.