Claude Academy
Sign in

Vault / wiki/201/claude-code-overview.md

updated 2026-05-28

Claude Code — Overview

Anthropic's CLI/IDE agent for software engineering. Runs locally, reads/writes your repo, executes commands, integrates with MCP, supports skills/subagents/hooks/slash commands.

Surfaces

  • CLIclaude in your terminal. Interactive REPL or one-shot claude -p "prompt".
  • IDE extensions — VS Code, JetBrains. Same agent inside the editor.
  • Web — claude.ai/code for short coding sessions.
  • Backgroundclaude --print for non-interactive scripted use, hooks, CI.

Built-in tools

Claude Code's default tool kit:

  • Read — read files (replaces cat).
  • Edit / Write — make targeted edits or rewrite a file.
  • Bash — run shell commands.
  • Grep / Glob — search by content / by path.
  • Agent — spawn a subagent.
  • TaskCreate / TaskUpdate / TaskList — task tracker.
  • WebFetch / WebSearch — fetch and search the web.
  • NotebookEdit — Jupyter support.
  • Plan / ExitPlanMode — plan mode.

These are first-class; MCP tools are additional.

Permission model

Every tool call goes through a permission check. Three sources, in precedence:

  1. CLI flags (--allow-tool, --deny-tool).
  2. Project settings (.claude/settings.json).
  3. User settings (~/.claude/settings.json).
  4. Enterprise managed settings.

Permission strings look like Bash(npm test:*) or Read(./src/**). The first match wins.

Session model

  • A session is one conversation. Persistent until you /clear or exit.
  • /resume continues the prior session.
  • Each session has a working directory; sub-tools inherit it.
  • Sessions can be isolated (subagent worktree, sandbox) for risky ops.

Memory: CLAUDE.md

Claude reads CLAUDE.md files at project + parent + home level on every session start. This is the durable "what this repo is and how to work in it" memory. See claude-code-md.

Why this matters for CCA-F

Domain 3 is 20% of the exam. Expect questions like:

  • "Where do you put a tool permission so all teammates pick it up?" → .claude/settings.json committed to repo.
  • "How do you constrain Claude to read-only review in CI?" → permissions + --output-format json + --allowed-tools restrictions.
  • "How do you trigger a check after every Bash call?" → PostToolUse hook.

See also