Claude Code is an agentic coding tool that works directly inside your codebase — reading files, writing code, running tests, and making changes with your approval. It’s fundamentally different from asking Claude questions about code in chat. Here’s how to use it effectively from your first session.
claude command). Both require a Pro, Max, Team, or Enterprise subscription. For installation, see How to Install Claude Code.
Starting a Session
Open the Code tab in Claude Desktop (or run claude in your terminal), then select your session type:
- Local — Claude works on your machine with direct file access. Changes happen locally. Best for everyday development.
- Remote — Claude runs on Anthropic’s infrastructure. The session continues even if you close the app. Best for long autonomous tasks.
- SSH — Claude connects to a remote server over SSH. Best for server-side or cloud VM development.
Select your project folder and choose a model — Sonnet 4.6 for most work, Opus 4.6 for the most complex tasks. You can’t change the model after the session starts.
Get the Claude workflow that actually sticks.
Practical Claude setup tips from someone running it across 27 client sites daily — not marketing, not theory. Email Will directly and he’ll share what’s working.
What to Ask Claude Code to Do
Claude Code works best with clear, specific tasks. Unlike chat, it has your full codebase as context — so you can refer to actual files, functions, and patterns without explaining them.
Strong prompts:
- “Fix the bug in
auth.pywhere users aren’t logged out after session expiry” - “Add input validation to all API endpoints in
routes/— check for SQL injection” - “Refactor
UserServiceto use dependency injection” - “Write tests for all public methods in
utils/parser.js“ - “Explain the data flow from the API call in
main.pyto the database”
How Claude Code Makes Changes
Claude Code doesn’t modify your files silently. When it wants to make a change, it shows you a diff — the exact lines it plans to add, remove, or edit — and waits for your approval before writing anything. You can accept the change, reject it, or ask Claude to revise its approach.
This review-before-write pattern means Claude Code is safe to use even on code you’re not fully familiar with. You see every change before it happens.
CLAUDE.md: Persistent Project Instructions
Create a CLAUDE.md file in your project root to give Claude Code persistent context about your codebase — coding conventions, architecture decisions, testing patterns, libraries to prefer or avoid. Claude Code reads this file at the start of every session, so you don’t re-explain your project each time.
# CLAUDE.md example ## Stack - Python 3.11, FastAPI, PostgreSQL, SQLAlchemy - Tests use pytest with fixtures in conftest.py ## Conventions - Functions should have type hints - No bare except clauses — always catch specific exceptions - Use Pydantic models for all request/response schemas ## Do not modify - legacy/ directory — kept for backward compatibility
Common Workflows
Debugging: Paste the error message and stack trace, ask Claude to find and fix the root cause. It reads the relevant files and proposes a fix.
Refactoring: Describe the refactor goal — “extract this into a separate service,” “replace all these conditionals with a strategy pattern” — and Claude Code walks through the changes systematically.
Test writing: “Write unit tests for all functions in this file” or “add edge case tests for the payment processing flow.” Claude reads your existing test patterns and matches them.
Code review: “Review this PR for security issues, missing error handling, and anything that violates our conventions.” Claude reads the changed files and gives structured feedback.
Documentation: “Add docstrings to all public functions” or “generate a README that explains this project’s architecture.”
Tips for Getting the Most Out of It
- Start small. First session, give it a small, contained task in a file you know well. Calibrate your trust before handing it larger work.
- Be specific about constraints. “Don’t use async/await,” “keep changes backward compatible,” “match the style of the existing tests.” Claude Code holds these throughout the session.
- Use CLAUDE.md. Any convention you find yourself re-explaining belongs in this file.
- Review every diff. Claude Code is capable but not infallible. Read each proposed change before approving — especially on production code.
- Use Remote for long tasks. Autonomous multi-file refactors or test generation across a large codebase work better in a Remote session that won’t be interrupted.
For pricing details, see Claude Code Pricing: Pro vs Max. For how it compares to other tools, see Claude vs GitHub Copilot and Claude Code vs Windsurf.
Frequently Asked Questions
How does Claude Code work?
Claude Code reads your project files, executes tasks like debugging, refactoring, and test writing, and shows you a diff of every proposed change before modifying anything. You approve or reject each change. It operates in your actual development environment, not in a chat window.
Can Claude Code modify my files without permission?
No. Claude Code shows you a diff of every proposed change and waits for your approval before writing to any file. You remain in full control of what gets modified.
What languages does Claude Code support?
Claude Code works with any programming language. It’s particularly strong on Python, JavaScript, TypeScript, and Go, but handles most modern languages and frameworks well. It reads and writes whatever files are in your project directory.
Leave a Reply