What Is Claude Code? A Practical Guide

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, and Glob to explore your codebase before making changes. It understands your project structure, not just the snippet you pasted.
  • It edits files directly. Instead of showing you a code block to copy, it writes changes to your files using precise edits.
  • It runs commands. It can execute bash commands, run tests, install packages, and verify its own work.
  • It asks permission. Every file edit and command execution requires 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 — editing a file, running a shell command, 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 executes. It’s AI pair programming where you stay in control.

In a standard terminal, these permission prompts appear 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 — 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, identifies 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 explains what’s happening.
  • Git operations — Claude can commit changes, create branches, and help with merge conflicts.

Getting started

  1. Install Claude Code from Anthropic
  2. Open your terminal and navigate to a project directory
  3. Run claude to start a session
  4. 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 as you start working across multiple projects — or running multiple 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.