What Is Claude Code? A Practical Guide
Claude Code is a command-line AI coding assistant from Anthropic that works directly in your terminal. Learn what it does, how it works, and how to get started.
Claude Code is a command-line coding assistant made by Anthropic. Unlike browser-based AI tools, it runs directly in your terminal and works with your local files, git repos, and development environment.
How Claude Code works
You start Claude Code by running claude in your terminal. From there, you give it tasks in plain English (“add authentication to the API,” “fix the failing tests,” “refactor this module to use async/await”) and it reads your codebase, plans an approach, and makes the changes.
What makes it different from copying code out of a chatbot:
- It reads your actual code. Claude Code uses tools like
Read,Grep, andGlobto explore your codebase before making changes. It understands your project structure, not just the snippet you pasted. - It edits files directly. Instead of handing you a code block to copy, it writes changes to your files with precise edits.
- It runs commands. It can run bash commands, run tests, install packages, and verify its own work.
- It asks permission. Every file edit and command run needs your approval (unless you configure it otherwise).
The permission model
Claude Code’s permission system is one of its most important features. When it wants to take an action, whether that’s editing a file, running a shell command, or searching your code, it asks for your approval first. You see exactly what it wants to do and can allow or deny each action.
This creates a natural collaboration loop: Claude proposes, you approve, Claude runs it. It’s AI pair programming where you stay in control.
In a standard terminal, these permission prompts show up as text in your terminal output. Tools like crystl take this further by showing approvals as floating glass panels that don’t interrupt your workflow, so you can approve or deny without switching windows.
What you can do with Claude Code
Claude Code handles a wide range of development tasks:
- Write new features. Describe what you want and Claude builds it, following your project’s patterns and conventions.
- Fix bugs. Point Claude at a bug and it investigates, finds the root cause, and applies a fix.
- Refactor code. Ask Claude to restructure code, rename variables, extract functions, or migrate to new patterns.
- Write tests. Claude can generate test suites based on your existing code and testing framework.
- Explain code. Ask Claude to walk you through unfamiliar code and it reads the files and tells you what’s happening.
- Git operations. Claude can commit changes, create branches, and help with merge conflicts.
Getting started
- Install Claude Code from Anthropic
- Open your terminal and navigate to a project directory
- Run
claudeto start a session - Describe what you want to build or fix
Claude Code works with any programming language and any project structure. It figures out the context by reading your files.
Managing Claude Code sessions
When you’re running Claude Code on a single project, a single terminal window works fine. But once you’re working across multiple projects, or running several Claude agents on the same project, managing all those sessions becomes the challenge.
This is exactly what crystl was built for. It’s a macOS terminal designed specifically for Claude Code that organizes projects into workspaces called gems, tracks what every session is doing, and lets you run parallel agents without git conflicts. If you’re using Claude Code daily, it’s worth a look.
It also handles the flip side of the permission model: an agent that asks before every action stops the moment you step away. crystl can queue a task backlog the agent works through on its own, auto-approve the safe operations, and push the requests that genuinely need you to your phone, so a session keeps going instead of sitting idle. See how to run AI coding agents for longer.