You can install Claude Code on Mac or Windows with its native installer. To get a useful first session, you need more than a successful download: the CLI must start in the project you chose, use the account you intended, and show an actual read of a file you may share with that account. This guide joins those checks into one Mac or Windows walkthrough. It is based on the current official setup and quickstart, checked on 22 October 2026. BIG CHANGE did not install Claude Code or run a paid session for this guide.
The big change
- What changed: The official native installer supports macOS and native Windows. Node.js is not a prerequisite for this route, and Windows users do not need WSL merely to install the CLI.
- Why it matters: You can check the binary, account, starting directory and one observed file read in sequence, so each failed step has a clear place to investigate.
- What to watch: A prompt naming one file is a bounded reader request, not a guarantee that the session processed only that file. Check the tool activity and your project’s data rules before continuing.
Before you install
The setup requirements list macOS 13 or later, or Windows 10 version 1809 or later, an x64 or ARM64 processor, at least 4 GB of RAM, internet access and an Anthropic-supported country. You also need a project you are permitted to inspect and an account route that can use Claude Code: Pro, Max, Team, Enterprise, Claude Console, or a supported configured cloud provider. The free claude.ai plan does not include Claude Code. Check your organization's installation and data-sharing rules for the chosen project.
On Windows, choose the environment where the project and its tools live. Native PowerShell works for Windows projects without WSL. Git for Windows is optional for installation; when present, it provides Git Bash for Claude Code's Bash and Monitor tools. Without it, Claude Code uses its PowerShell tool for shell commands. WSL 2 is an option when you need a Linux toolchain or supported command sandboxing; install and launch the Linux CLI inside WSL. Do not run a WSL installer in PowerShell and expect that to configure a WSL session. This walkthrough uses macOS Terminal or native Windows PowerShell; the WSL commands are identified where they differ.
1. Install and check the CLI
In macOS Terminal, run the official native installer. Use the same command inside a WSL Linux terminal if you chose WSL:
curl -fsSL https://claude.ai/install.sh | bashIn native Windows PowerShell, run:
irm https://claude.ai/install.ps1 | iexBoth commands download and run the vendor's installer. Review the official installation instructions and your device policy before executing them. A managed machine may require its approved software route. The native installer can appear idle during download.
When it finishes, open a new terminal in the same environment. Run these commands there:
claude --version
claude doctorclaude --version should print an installed version. claude doctor provides read-only installation and settings diagnostics; inspect and resolve any reported blocker. These checks establish that the executable is available and its setup is healthy. They do not establish that the intended account can access a model or that a project file was read. Native installations update in the background, so record the version you actually saw rather than assuming a fixed version from this guide.
2. Start from your project and check the account
Choose the existing project folder and replace the example path below with its actual path. The example is a placeholder; it does not create a folder. On macOS Terminal or inside WSL, navigate and print the directory:
cd "/path/to/your/project"
pwd
claudeOn native Windows PowerShell, use its own path and directory command:
Set-Location -LiteralPath 'C:\path\to\your\project'
Get-Location
claudeBefore you run claude, compare the output of pwd or Get-Location with the folder you meant to open. If it differs, navigate again and repeat the directory check immediately before launch. Do not use /status as the proof of this path: the Commands reference documents its version, model, account and connectivity display, not a directory check.
On first launch, follow the sign-in prompt for your intended eligible account. A Claude subscription or Console account normally uses a browser. An organization using a supported cloud provider follows its configured provider route. An existing ANTHROPIC_API_KEY can cause Claude Code to offer that API key instead of browser sign-in; confirm which account and billing route you want before accepting. Never paste a credential into the project, a Claude prompt or a shared verification note. If the browser does not open, the authentication guide says to press c to copy the login URL. WSL and remote environments may ask you to paste a browser code into the terminal.
Once the interactive session opens, type:
/statusCheck the documented account, model, version and connectivity fields. If the account is wrong, correct the sign-in or provider configuration before the file-read step. If you are unsure where the session began, exit, return to the intended folder and repeat the shell path check before relaunching. The account and model display is a configuration readback, not proof that a paid request has succeeded.
3. Observe one authorized file read
Pick a nonsensitive file in that project whose contents you are allowed to process through the selected account or provider. Know its exact relative path and open it yourself so you can compare the answer. Check the session's /permissions view and any organization or project rules that apply. In an ordinary manual permission mode, file reads inside the working directory generally do not trigger an approval prompt. A prompt, if one appears, must be evaluated for the action it actually requests.
At the Claude Code prompt, adapt this request to a real file:
Read only the project file at docs/README.md. Tell me its purpose in two sentences and identify a concrete detail I can compare with the file. Do not edit files or run commands. If that path does not exist, tell me without looking for a replacement.docs/README.md is an example path, not a claim that your project has that file. Replace it with the file you selected. Watch the displayed tool activity for the actual read action and path, then compare the answer and cited detail with the file. If the path is missing, select a real permitted file and make a new, exact request. If the activity shows a different file or an unexpected action, stop and assess that action before relying on the answer. The prompt sets a useful scope for this first check; Claude Code may have loaded project context or configuration at startup, and the prompt alone cannot certify exclusive access or overall security.
Your first-session record can be brief: installed version, doctor result, the project path printed by the launching shell, the intended account seen in /status, the selected file, the read action you observed, and whether your comparison matched. Keep private paths and account details out of public notes. A plausible summary without an observed selected-file read does not complete this check.
If a check fails
If claude is not found after installation, open a new terminal and follow the official PATH troubleshooting for your operating system; then repeat claude --version and claude doctor. A 403, TLS, installer syntax or download error is an installation symptom, not evidence of a completed install. Use the matching official troubleshooting step before retrying. On Windows, irm belongs in PowerShell; the macOS/WSL shell command belongs in a Bash-compatible terminal.
If login stalls, use the documented copy-URL or paste-code route and verify the resulting account in /status. If the account or provider lacks access, ask its administrator or choose an eligible route you control; repeating a file prompt will not fix an access limit. If the project path is wrong, exit and relaunch from the checked folder. If the file read fails, inspect the exact path and effective permission rules, and retry only after the underlying issue is clear. Do not relax organization rules merely to pass the exercise.
Cost and scope
Your cost and usage view depends on whether you sign in through a subscription, Console/API key or an organization’s cloud provider. Check the official cost guidance, current plan terms and account limits before using a project. /usage may help inspect account-dependent usage, but a usage display is not a universal invoice or a promise of a fixed charge. The first read sends relevant project content through the chosen service route. This article makes no claim about an actual reader's bill, model quality, code change or deployment.
If you later want a separate task, our Context Mode installation guide covers a third-party plugin after the base CLI is running, and our Google Workspace connection guide covers account-scoped app reads. Neither is required to complete this first session.
Sources & further reading
- Claude Code setup: current platform requirements, native installers, native Windows and WSL choices, verification and troubleshooting. It documents expected behavior, not an installation performed by BIG CHANGE.
- Claude Code quickstart: project launch and first-session flow. Its example exploration prompts are broader than the selected-file check used here.
- Claude Code authentication: eligible sign-in routes, API-key behavior and browser recovery. It cannot establish a reader's actual entitlement.
- Claude Code commands:
/statusfields. The starting directory in this guide is checked independently in the launching shell. - Claude Code permissions: default file-read behavior and permission rules. A reader must inspect the effective rules and tool action in their own session.
- Claude Code costs: route-dependent usage and cost tools. It does not establish this guide's or a reader's bill.



