20% of the exam · 12 questions

Claude Code Configuration & Workflows

The CLAUDE.md memory hierarchy, settings and permissions, hooks, slash commands, subagents, and CI/CD automation.

What this domain covers

This is the largest-weighted material you will face in this area of the Claude Certified Architect exam. Expect scenario-based questions that test whether you can apply these concepts, not just recall them.

  • CLAUDE.md memory hierarchy (user, project, directory) and imports
  • settings.json, permission modes, and allow/ask/deny rules
  • Hooks: events, matchers, exit codes, and blocking behavior
  • Built-in and custom slash commands
  • Subagents in .claude/agents with YAML frontmatter
  • MCP server config and scopes (local, project, user)
  • Headless mode and GitHub Actions / CI/CD integration

Free practice questions: Claude Code Configuration & Workflows

8 original, exam-style questions from this domain. Reveal each answer for the full explanation.

Q1Claude Codefoundation

Which of the following belongs in a settings file rather than in CLAUDE.md?

  • AThe command sequence for building and testing the project
  • BThe team's naming conventions for API handler files
  • CA permission rule that denies Claude the ability to run a specific shell command
  • DA summary of the repository's architecture and directory layout
Show answer & explanation

Answer: C. A permission rule that denies Claude the ability to run a specific shell command

Permission rules like permissions.deny are technical enforcement applied by the Claude Code client regardless of what the model decides, so they belong in settings files. CLAUDE.md content is context that guides behavior but is not guaranteed to be obeyed. Build commands, naming conventions, and architecture overviews are exactly the kind of natural-language guidance CLAUDE.md is designed to carry.

Read the docs →
Q2Claude Codefoundation

What does the /memory slash command do in an interactive Claude Code session?

  • ALists all CLAUDE.md, CLAUDE.local.md, and rules files loaded in the session and lets you open them in your editor, plus toggle auto memory
  • BClears the current context window while preserving the conversation transcript
  • CPrints a token-by-token breakdown of how much context each tool call consumed
  • DSaves the current conversation into the project CLAUDE.md automatically
Show answer & explanation

Answer: A. Lists all CLAUDE.md, CLAUDE.local.md, and rules files loaded in the session and lets you open them in your editor, plus toggle auto memory

The /memory command is the inspection and editing entry point for memory: it shows every memory file loaded in the current session, opens any of them in your editor, and includes the auto memory toggle. Clearing context is handled by /clear or /compact, not /memory. It does not produce token usage reports, and it never writes the conversation itself into CLAUDE.md.

Read the docs →
Q3Claude Codefoundation

What is the intended purpose of a CLAUDE.local.md file at the root of a project?

  • AOverriding and disabling the committed project CLAUDE.md for the current machine
  • BProviding instructions that only load when Claude Code is started with a --local flag
  • CHolding personal, project-specific instructions (like sandbox URLs or preferred test data) that are added to .gitignore rather than committed
  • DDistributing organization-wide policies that individual developers cannot exclude
Show answer & explanation

Answer: C. Holding personal, project-specific instructions (like sandbox URLs or preferred test data) that are added to .gitignore rather than committed

CLAUDE.local.md is for individual, per-project preferences: it loads alongside the project CLAUDE.md and should be gitignored so it stays private to you. It does not override or disable the shared CLAUDE.md; both files are combined into context. There is no --local launch flag gating it, and organization-wide policy belongs in the managed policy CLAUDE.md location, not in a per-developer local file.

Read the docs →
Q4Claude Codefoundation

Which YAML frontmatter fields must be present in a Claude Code subagent definition file?

  • Aname, description, and tools
  • Bname and description
  • Cname, description, tools, and model
  • Dname only; all other fields including description are optional
Show answer & explanation

Answer: B. name and description

Only name and description are required in subagent frontmatter; the Markdown body then becomes the subagent's system prompt. Fields like tools, model, and permissionMode are optional: omitting tools inherits all tools from the main conversation, and omitting model falls back to the session's model. The description is required because Claude uses it to decide when to delegate.

Read the docs →
Q5Claude Codefoundation

A developer joins a project that has no CLAUDE.md and runs the /init command in Claude Code. What does /init do?

  • AAnalyzes the codebase and generates a starting CLAUDE.md with discovered build commands, test instructions, and conventions; if one already exists it suggests improvements instead of overwriting it
  • BCreates a default .claude/settings.json with recommended permission rules but no memory files
  • CDeletes any existing CLAUDE.md and regenerates it from scratch on every run
  • DRegisters the project with the Anthropic Console so usage can be tracked per repository
Show answer & explanation

Answer: A. Analyzes the codebase and generates a starting CLAUDE.md with discovered build commands, test instructions, and conventions; if one already exists it suggests improvements instead of overwriting it

/init bootstraps project memory by exploring the codebase and writing a CLAUDE.md that captures build commands, test instructions, and project conventions, and when a CLAUDE.md already exists it proposes improvements rather than overwriting. It is a memory-generation command, not a settings or permissions generator. It never destroys an existing file, and it has nothing to do with Console registration.

Read the docs →
Q6Claude Codefoundation

Which syntax does a CLAUDE.md file use to import the contents of another file into Claude Code's context at launch?

  • AA templating directive, for example {{import: docs/git-instructions.md}}
  • BA C-style include, for example #include "docs/git-instructions.md"
  • CA markdown link with an import label, for example [import](docs/git-instructions.md)
  • DAn @ prefix followed by the path, for example @docs/git-instructions.md
Show answer & explanation

Answer: D. An @ prefix followed by the path, for example @docs/git-instructions.md

CLAUDE.md supports @path/to/import syntax, so writing @docs/git-instructions.md anywhere in the file expands that file into context at launch. Both relative and absolute paths are allowed. The templating, #include, and markdown-link forms are plausible-looking inventions that Claude Code does not recognize as imports.

Read the docs →
Q7Claude Codefoundation

In Claude Code's default permission mode, which category of tool actions runs without ever triggering an approval prompt?

  • ABash commands that were already run earlier in the session
  • BRead-only operations such as file reads and Grep searches
  • CFile edits inside the current working directory
  • DWeb fetches to domains that were fetched before in the session
Show answer & explanation

Answer: B. Read-only operations such as file reads and Grep searches

Claude Code uses a tiered permission system in which read-only tools like file reads and Grep never require approval. Bash commands and file modifications both require approval in default mode: Bash approvals persist per project directory and command only when you choose the don't-ask-again option, and file edit approvals last until the session ends. There is no automatic session-wide trust for previously used commands or domains.

Read the docs →
Q8Claude Codefoundation

According to Anthropic's guidance, which situation is the strongest signal that an instruction should be added to a project's CLAUDE.md?

  • AThe instruction is a long multi-step procedure that only matters for one subdirectory of the codebase
  • BThe instruction is a secret API key that Claude needs for integration tests
  • CThe developer notices they are typing the same correction into chat that they typed in a previous session
  • DThe instruction must be technically enforced no matter what the model decides to do
Show answer & explanation

Answer: C. The developer notices they are typing the same correction into chat that they typed in a previous session

The docs frame CLAUDE.md as the place to write down what you would otherwise re-explain: repeated corrections, repeated mistakes, and context a new teammate would need. Long multi-step procedures or narrowly scoped guidance belong in skills or path-scoped rules instead, keeping CLAUDE.md concise. Secrets should never go in a memory file, and anything requiring guaranteed enforcement belongs in settings (permissions or hooks), not in context.

Read the docs →

Drill this domain in Claude Prep

The app has dozens more questions in this domain alone, plus a Domain Drill mode that focuses your practice exactly here, and full mock exams that weight it at 20%.

The other exam domains