AI Wisdom

Anthropic associate level

Claude Certified Architect – Foundations

Code
CCAR-F
Length
120 minutes
Pass mark
720 out of 1,000
Price
$125, partner tier discounts apply at checkout
Valid for
12 months, free renewal assessment if on time
Study time, our estimate
60 to 90 hours

The best single AI exam for a senior engineer who already builds agents. Every question sits inside one of four production scenarios, and most options are things a smart person might try. It rewards having actually run this stuff.

Take it if

You design Claude systems and have six months of real use behind you.

Skip it if

You have only used Claude through a chat window. The exam assumes you have written agent loops and configured Claude Code for a team.

Before you start

Check yourself against this list first. If something is missing, close that gap before you pay for an exam.

  • Six months building with ClaudeAnthropic expects real use of the API, Agent SDK, Claude Code and MCP.
  • You have written an agent loop yourselfTake Building with the Claude API on Claude Academy first. Learn more
  • You have configured Claude Code for a teamSet up shared CLAUDE.md, rules, and one MCP server on a real repo. Learn more
  • Your employer is in the Claude Partner NetworkOnly partner staff can register. Membership is free to apply for. Learn more
All exam details
Format
60 items across 4 scenarios drawn at random from 6
Length
120 minutes
Pass mark
720 out of 1,000
Price
$125, partner tier discounts apply at checkout
Valid for
12 months, free renewal assessment if on time
Delivery
Pearson VUE, online or test center
Who can sit it
Staff of Claude Partner Network organizations
Experience
6+ months building with the API, Agent SDK, Claude Code and MCP
If you fail
Wait 14, then 30, then 90 days

What the exam covers

  • Agentic Architecture & Orchestration27%
  • Tool Design & MCP Integration18%
  • Claude Code Configuration & Workflows20%
  • Prompt Engineering & Structured Output20%
  • Context Management & Reliability15%

What to focus on

  • The agent loop itself: stop_reason, tool results going back into history, and why text checks and iteration caps are the wrong stopping rule.
  • Hooks against prompts. If a rule must always hold, it belongs in a hook or a prerequisite gate, because prompt instructions have a failure rate.
  • Subagents start with empty context. Whatever they need has to be in the prompt you send them.
  • Claude Code for a team: the CLAUDE.md hierarchy, .claude/rules with path globs, skills with context: fork, plan mode, and -p in CI.
  • Extraction: tool_use with a JSON schema stops syntax errors but not wrong values. Nullable fields stop the model inventing data.
  • Escalation: honor an explicit request for a human, escalate on policy gaps, and do not trust sentiment or self-reported confidence.
Everything on one mapEvery topic and key idea in this certification.
mindmap
  root((CCAR-F))
    Agentic architecture
      stop_reason
      Hub and spoke
      Isolated context
      Hooks or prompts
    Tool design and MCP
      Clear boundaries
      Structured errors
      Empty is not failure
      tool_choice
      Scoping
    Claude Code configuration
      Hierarchy
      Path rules
      Skills or CLAUDE.md
      context fork
      Plan mode
      CI
    Prompts and structured output
      Explicit criteria
      Few-shot examples
      Schema limits
      Nullable fields
      Batches
    Context and reliability
      Case facts
      Escalation
      Error propagation
      Human review
      Provenance

Lesson 1 of 5, 27% of the exam

Agentic architecture

The largest domain at 27%, and the one that separates people who have built agents from people who have read about them.

stop_reason
Continue on tool_use and finish on end_turn. Text in a reply says nothing about whether the task is done.
Hub and spoke
A coordinator delegates, gathers results and handles errors, and all subagent communication goes through it.
Isolated context
Subagents inherit nothing. Pass findings in the prompt, with sources kept as structured data.
Hooks or prompts
If a rule must always hold, block the call with a hook. Prompt instructions have a failure rate.
The agent loopKeep this in your head for every Domain 1 question.
sequenceDiagram
  participant App as Your code
  participant C as Claude
  participant T as Tool
  App->>C: Messages plus tool definitions
  loop While stop_reason is tool_use
    C-->>App: tool_use block
    App->>T: Run the tool
    T-->>App: Result
    App->>C: Append tool_result and call again
  end
  C-->>App: Final answer with end_turn

Common trap

Using an iteration cap as the stopping rule. It is a safety net, and the exam treats it as an anti-pattern for normal completion.

Try it yourself

Build a coordinator with two subagents, pass context by hand, and block a refund tool until verification has run.

Lesson 2 of 5, 18% of the exam

Tool design and MCP

Tool choice fails in predictable ways, and most fixes are about naming and boundaries.

Clear boundaries
Two tools with similar descriptions will be misrouted. Rename them or split them by purpose.
Structured errors
Return a category, a retryable flag and a readable description, so the agent knows whether to retry.
Empty is not failure
A timeout and a successful query with no matches need different handling. Do not report one as the other.
tool_choice
auto may return text, any forces some tool, and naming a tool forces that one.
Scoping
.mcp.json is shared with the project. ~/.claude.json is for you alone. Use env var expansion for secrets.
How an agent should react to a tool errorStructured errors make this decision possible.
flowchart TD
  A["Tool returns an error"] --> B{"Error category"}
  B -->|Transient| C["Retry locally"]
  B -->|Validation| D["Fix the input and call again"]
  B -->|Business rule| E["Explain to the customer"]
  B -->|Permission| F["Escalate"]
  C --> G{"Still failing?"}
  G -->|Yes| H["Pass to coordinator with partial results"]

Common trap

Giving one agent all 18 tools. Fewer tools per role makes selection more reliable.

Try it yourself

Write two similar tools, test with ambiguous requests, and fix the misrouting with descriptions alone.

Lesson 3 of 5, 20% of the exam

Claude Code configuration

A fifth of the exam, and a lot of it is knowing exactly where each setting lives.

Hierarchy
~/.claude/CLAUDE.md is yours alone. The project file is shared through version control.
Path rules
Files in .claude/rules with a paths glob load only for matching files, even when those files span many folders.
Skills or CLAUDE.md
CLAUDE.md is always loaded, so keep it universal. Skills load on demand for specific tasks.
context: fork
Runs a skill in an isolated subagent, so verbose output stays out of your session.
Plan mode
Use it for large changes with several valid approaches. Fix a small, clear bug directly.
CI
Use -p so it never waits for input, and --output-format json with --json-schema for parseable output.
Where each Claude Code setting livesMost questions here come down to scope.
flowchart TD
  A{"Who needs it, and when?"} -->|"Everyone, always"| B["Project CLAUDE.md"]
  A -->|"Only you"| C["~/.claude/CLAUDE.md"]
  A -->|"Files matching a glob"| D[".claude/rules with paths"]
  A -->|"On demand for a task"| E["Skill in .claude/skills"]
  A -->|"Shared tool server"| F[".mcp.json"]

Common trap

Reviewing code in the same session that wrote it. An independent instance has no attachment to its earlier reasoning.

Try it yourself

Add a path-scoped rule, a forked skill with allowed-tools, and a CI job that posts structured review findings.

Lesson 4 of 5, 20% of the exam

Prompts and structured output

Extraction questions are precise, and each one hinges on a specific behavior.

Explicit criteria
State exactly what to report and what to skip. "Be conservative" does not improve precision.
Few-shot examples
Two to four examples of hard cases, with the reasoning, beat more instructions.
Schema limits
A schema through tool use stops syntax errors. It cannot stop wrong values, so validate meaning too.
Nullable fields
If a value may be missing, make it optional. Required fields push the model to invent data.
Batches
Half the cost and up to 24 hours, with no latency promise and no tool loop inside a request.
When does a retry help?Retry only when the fix is in the output, not missing from the input.
flowchart TD
  A["Validation failed"] --> B{"Is the data in the source?"}
  B -->|Yes| C["Retry with the specific error"]
  B -->|No| D["Return null and flag it"]
  C --> E{"Valid now?"}
  E -->|Yes| F["Accept"]
  E -->|No| G["Send to human review"]

Common trap

Retrying when the information is simply not in the document. Retries only fix format and structure problems.

Try it yourself

Build an extraction pipeline with a schema and a retry that feeds validation errors back, then run it as a batch.

Lesson 5 of 5, 15% of the exam

Context and reliability

These questions ask what you do when things go wrong in a long-running system.

Case facts
Keep amounts, dates and IDs in a persistent block, because summaries blur exactly those details.
Escalation
Honor an explicit request for a person at once. Escalate on policy gaps. Sentiment and self-reported confidence are poor signals.
Error propagation
Recover locally from transient failures, and pass up only what you cannot fix, with partial results.
Human review
A high overall accuracy can hide a weak document type. Measure by segment before reducing review.
Provenance
Keep claim-to-source mappings through synthesis, and annotate conflicts rather than picking a winner.
When an agent should escalateSentiment is not on this chart, on purpose.
flowchart TD
  A["New customer request"] --> B{"Asked for a human?"}
  B -->|Yes| H["Hand off now with a summary"]
  B -->|No| C{"Does policy cover it?"}
  C -->|"No or unclear"| H
  C -->|Yes| D{"Making progress?"}
  D -->|No| H
  D -->|Yes| E["Resolve it"]

Common trap

Returning an empty result when a search actually failed. The coordinator then treats a failure as an answer.

Try it yourself

Add a case-facts block and a scratchpad file to a long agent session, then design one escalation rule with examples.

Study plan

  1. Weeks 1 and 2: build an agent

    Use the Agent SDK to build a loop with tools, error handling and sessions. Add a coordinator with two subagents and pass context by hand.

  2. Week 3: configure Claude Code properly

    Set up CLAUDE.md, path-scoped rules, a skill with context: fork and allowed-tools, and one MCP server in .mcp.json with an env var for the token.

  3. Week 4: tools and extraction

    Write MCP tools with structured errors and retry flags. Build an extraction pipeline with a schema, a validation retry loop and a batch run.

  4. Week 5: context and review

    Practice case-facts blocks, scratchpad files and a multi-pass code review. Design one human review flow.

  5. Week 6: exam practice

    Do the preparation exercises and sample questions in the official guide, then the mock below, under time.

Exam day and after

  • Scored 100 to 1,000 and you need 720. Your report shows percent correct by domain, but only the total decides the result.
  • Items are multiple choice or multiple response, and each one tells you how many answers to pick.
  • A failed attempt means a wait of 14 days, then 30, then 90, with at most four attempts in 12 months. Every attempt is paid.
  • You can cancel or reschedule up to 24 hours before the appointment. After that the fee is gone.
  • You see 4 of the 6 published scenarios and cannot choose them, so prepare all six: support agent, code generation, multi-agent research, developer productivity, CI, and data extraction.
  • When two answers both work, the exam usually wants the one that is deterministic or the one that fixes the root cause rather than monitoring it.
Test yourself10 practice questions, scored by exam topic.
Start the mock exam

Keep going

Exam facts checked on October 31, 2026 against CCAR-F exam guide, July 2026. Lessons are our own explanations, so use the official docs as the final word, and confirm price and dates before booking.