Claude Code is Anthropic’s terminal-based coding agent. Most individuals log in with a Claude.ai subscription (Pro/Max/Team), but if your org runs on the Anthropic API (Console/Enterprise pay-as-you-go), you authenticate with an API key instead — which gives you per-key budgets, dedicated rate limits, and full cost visibility in the Console dashboard.
This tutorial covers install → auth → your first session → beginner-friendly things to try.
1. Install Claude Code
You need Node.js installed first, then:
npm install -g @anthropic-ai/claude-code
Verify it installed:
claude --version
2. Authenticate with an API key (enterprise/org path)
For an org using the Anthropic API rather than individual subscriptions, an admin creates the key in Claude Console and shares it with the team (ideally through a secrets manager, not Slack/email).
Set it as an environment variable:
export ANTHROPIC_API_KEY="your-api-key-here"
# Make it permanent by adding to your shell profile
echo 'export ANTHROPIC_API_KEY="your-api-key-here"' >> ~/.bashrc
source ~/.bashrc
Notes for enterprise/team use:
- Anthropic recommends a shared org-issued key per team/project rather than every developer minting their own — it keeps billing, revocation, and usage monitoring centralized.
- If your org routes through Amazon Bedrock, Google Cloud’s Agent Platform, or Microsoft Foundry instead of a direct API key, that’s set via
CLAUDE_CODE_USE_BEDROCK,CLAUDE_CODE_USE_VERTEX, orCLAUDE_CODE_USE_FOUNDRYenv vars — ask your platform team which applies. - If you ever see auth errors even though the key looks right, run
unset ANTHROPIC_API_KEYto fall back to another credential, and use/statusinside Claude Code to check which auth method is currently active.
If your company routes traffic through its own gateway URL
Many enterprises don’t let Claude Code hit api.anthropic.com directly — instead they run an internal gateway/proxy (for audit logging, budget enforcement, or multi-provider routing) that speaks the same Anthropic API shape. In that case, two variables matter, not just one:
export ANTHROPIC_BASE_URL="https://your-company-gateway.example.com"
export ANTHROPIC_AUTH_TOKEN="your-gateway-token" # if the gateway issues its own token
# OR keep using ANTHROPIC_API_KEY if the gateway accepts the standard x-api-key header
ANTHROPIC_BASE_URLonly changes where requests go — it doesn’t change how you authenticate.- Check with your platform team whether their gateway expects
x-api-key(→ useANTHROPIC_API_KEY) or a bearer token (→ useANTHROPIC_AUTH_TOKEN). This is the single most common gateway misconfiguration. - For it to persist across every session (not just your current shell), put it in
~/.claude/settings.jsonunder theenvblock:{ "env": { "ANTHROPIC_BASE_URL": "https://your-company-gateway.example.com", "ANTHROPIC_AUTH_TOKEN": "your-gateway-token" }} - The value is read once, at process start — changing it while
claudeis running does nothing. Restart the session after any change. - If the gateway is a non-Anthropic host, Claude Code disables MCP tool search by default (it relies on the gateway forwarding certain internal blocks). If your gateway forwards them correctly, your platform team can re-enable it with
ENABLE_TOOL_SEARCH=true. - Quick sanity check:
echo $ANTHROPIC_BASE_URLto confirm it’s set, and/statusinside Claude Code to confirm it’s the active endpoint.
3. Start your first session
Navigate to a project folder and run:
cd my-project
claude
This drops you into an interactive session. Just type in plain English — no special syntax needed.
4. What beginners can actually do with Claude Code
Here’s a practical, low-risk on-ramp — roughly in the order most people try things:
a) Ask questions about the codebase (read-only, zero risk)
> What does this project do?
> Where is the authentication logic handled?
> Explain how the payment flow works
b) Make a small, contained code change
> Add a loading spinner to the login button
> Fix the bug where dates display in the wrong timezone
Claude Code will show you a diff before applying changes — review it, then approve.
c) Use Plan Mode before big changes For anything non-trivial, ask Claude to plan first instead of jumping straight to edits:
> Plan how you'd refactor the auth module to use JWT instead of sessions
It’ll research the code and propose a plan you can approve, tweak, or reject — before any files are touched.
d) Write and run tests
> Write unit tests for the utils/formatDate.js file
> Run the test suite and fix any failures
e) Use Git through Claude Code
> Commit these changes with a clear message
> Create a pull request for this branch
f) Pipe things in and out (unix-style)
cat error.log | claude -p "summarize the root cause of these errors"
g) Create custom slash commands for repeated tasks (e.g. a /deploy-checklist command your team reuses).
5. A few essential commands
| Command | What it does |
|---|---|
/config | Change settings, including auth method |
/status | Check which credential/model is active |
/agents | Manage specialized subagents |
/add-dir <path> | Give Claude visibility into another folder mid-session |
Ctrl+C / exit | End the session |
6. Good early habits
- Start with read-only questions before letting it edit files, to build trust in its judgment on your codebase.
- Keep changes small and review every diff — don’t rubber-stamp.
- If your repo touches sensitive data, ask your admin about permission/hook restrictions before diving in.
- A
CLAUDE.mdfile at your project root (plain markdown describing conventions, gotchas, and dos/don’ts) meaningfully improves output quality — worth setting up early.
Source: Anthropic’s official Claude Code docs — https://docs.claude.com/en/docs/claude-code/overview — for anything more advanced (hooks, MCP servers, subagents, CI/CD integration).
