AI Wisdom

Anthropic associate level

Claude Certified Developer – Foundations

Code
CCDV-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
50 to 70 hours

The right Claude exam for people who write the code. It is an application engineering exam more than an agents exam: a third of it is Applications and Integration (API mechanics, software engineering basics, application design and configuration), and almost none of it is Claude Code.

Take it if

You ship Claude features and your company is in the Claude Partner Network.

Skip it if

You mostly design systems and hand them off. Take the Architect exam instead, because it tests judgment over API detail.

Before you start

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

  • One to five years of software engineeringAnthropic recommends this, and a third of the exam assumes it.
  • Six months with Claude or a comparable LLMShip one small feature first. Reading alone will not get you there.
  • Python or TypeScript, REST and CLI toolsBe comfortable with async code and reading JSON responses.
  • Your employer is in the Claude Partner NetworkOnly partner staff can register. Membership is free to apply for. Learn more
All exam details
Format
53 multiple-choice and multiple-response items
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
1 to 5 years of software engineering, 6+ months with Claude or a comparable LLM
If you fail
Wait 14, then 30, then 90 days

What the exam covers

  • Agents and Workflows14.7%
  • Applications and Integration33.1%
  • Claude Code3.1%
  • Eval, Testing, and Debugging2.6%
  • Model Selection and Optimization16.8%
  • Prompt and Context Engineering11.0%
  • Security and Safety8.1%
  • Tools and MCPs10.6%

What to focus on

  • The Messages API in detail: streaming, tools, vision, thinking, caching, and when batch beats realtime.
  • Ordinary engineering: REST, JSON, async, version control, code review and refactoring. Do not skip this because it feels easy.
  • Model tiers and cost: Opus against Sonnet against Haiku, token budgets, prompt caching and cache checkpoints.
  • Choosing between a built-in tool, a custom tool, a Skill and an MCP server. That trade-off alone is 4.1% of the exam.
  • Claude Code is only 3.1% here against 20% on the Architect exam. Know CLAUDE.md, settings.json and headless mode, then move on.
Everything on one mapEvery topic and key idea in this certification.
mindmap
  root((CCDV-F))
    Agents and workflows
      Workflow or agent
      Custom loop or Agent SDK
      Subagents
    The API and integration
      Realtime or batch
      Streaming
      Configuration
    Claude Code and debugging
      CLAUDE.md hierarchy
      Headless mode
      Isolating a failure
    Model choice and cost
      Tiers
      Prompt caching
      Thinking and effort
    Prompts and context
      Context drift and bloat
      Instruction placement
      Defensive parsing
    Security and safety
      Prompt injection
      Hooks as guardrails
      Keys and access
    Tools and MCP
      Tool descriptions
      Client and server tools
      Tool, Skill or MCP
The loop every agent runsYour code owns the loop. Claude only asks for tools to be run.
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

Lesson 1 of 7, 14.7% of the exam

Agents and workflows

You need to know when an agent earns its extra cost, and how to build one when it does.

Workflow or agent
If the steps are known in advance, a workflow is cheaper and easier to test. Use an agent when the path depends on what it finds.
Custom loop or Agent SDK
A custom loop gives full control. The Agent SDK gives you the loop, tools and hooks ready-made, so you write less plumbing.
Subagents
A subagent works in its own context, which keeps long discovery output out of the main conversation.
Workflow or agentFixed steps stay in your code. Open-ended work goes to the model.
flowchart LR
  subgraph W["Workflow: you own the order"]
    W1["Extract"] --> W2["Validate"] --> W3["Store"]
  end
  subgraph A["Agent: the model picks the next step"]
    A1["Goal"] --> A2["Choose a tool"]
    A2 --> A3["Observe the result"]
    A3 --> A2
    A3 --> A4["Done"]
  end

Common trap

Reaching for an agent when the steps never change. Questions like this usually want the workflow.

Try it yourself

Build the same task twice, as a fixed chain and as an agent, then compare cost and how predictable each is.

Lesson 2 of 7, 33.1% of the exam

The API and integration

This is a third of the exam, and it is mostly normal engineering applied to the Messages API.

Realtime or batch
Use the Messages API when someone is waiting. Use batch when a job can wait, because it costs less and has no latency promise.
Streaming
Streaming shows tokens as they arrive. Total generation time stays the same, but people feel the wait far less.
Configuration
Pin model versions, version your prompts, and keep CLAUDE.md and settings.json in the repo, so behavior changes through review.
Which API call fits?Start from whether a person is waiting.
flowchart TD
  A{"Is someone waiting?"} -->|Yes| B{"Long answer?"}
  A -->|No| C{"Large volume?"}
  B -->|Yes| D["Messages API with streaming"]
  B -->|No| E["Messages API"]
  C -->|Yes| F["Message Batches API"]
  C -->|No| E

Common trap

Skipping the software engineering objectives because they look easy. REST, JSON, async, Git and refactoring carry real marks.

Try it yourself

Build one small service that streams answers, accepts an image, and sends a nightly batch.

Official docs: StreamingBatch processingAPI errors

Lesson 3 of 7, 3.1% + 2.6% of the exam

Claude Code and debugging

These two are small here, so learn the essentials and stop. Together they are under 6%.

CLAUDE.md hierarchy
User, project and directory files stack. Only project files reach your teammates.
Headless mode
Running with -p makes Claude Code non-interactive, which is what you need in scripts and CI.
Isolating a failure
Look at the trace first. Decide whether the integration sent the wrong thing or the model returned the wrong thing, then fix that side.
Where CLAUDE.md appliesLater levels add to the earlier ones. Only project files reach teammates.
flowchart TD
  A["~/.claude/CLAUDE.md, you only"] --> B["Project CLAUDE.md, shared in Git"]
  B --> C["Subdirectory CLAUDE.md, that folder"]
  C --> D["What Claude Code loads for a task"]

Common trap

Over-preparing here because you use Claude Code daily. The Architect exam weights it far higher.

Try it yourself

Add a project CLAUDE.md, run one task with -p, then break a tool call on purpose and find it from the trace.

Lesson 4 of 7, 16.8% of the exam

Model choice and cost

Every design decision has a price, and this domain tests whether you can reason about it.

Tiers
Opus, Sonnet and Haiku trade capability against cost and speed. Test on your own task before you decide.
Prompt caching
Caching matches an exact prefix, so stable content goes first and anything that changes goes last.
Thinking and effort
Extended thinking and effort settings spend more tokens for harder problems. They are not free defaults.
How a cached prompt is builtStable content first. One changed byte in the prefix misses the cache.
flowchart LR
  A["Tools"] --> B["System prompt"] --> C["Long documents"] --> D(["Cache breakpoint"]) --> E["Latest user message"]
  D -.-> F["Everything before this can be reused"]
  E -.-> G["Changes on every call, so it goes last"]

Common trap

Putting a timestamp or user name at the top of a cached prompt. The prefix changes, so the cache never hits.

Try it yourself

Cache a large system prompt, then read the cache fields in the usage response and work out your saving.

Official docs: Models overviewPrompt caching

Lesson 5 of 7, 11.0% of the exam

Prompts and context

Long sessions fail quietly, so you need to control what stays in context.

Context drift and bloat
Tool output piles up and pushes out what matters. Prune it, compact it, or move the work to a subagent.
Instruction placement
Stable rules belong in the system prompt, and few-shot examples show the format better than more rules.
Defensive parsing
Validate model output, because a confident answer can still be malformed or wrong.
Keeping context under controlEach option removes a different kind of bloat.
flowchart TD
  A{"What is filling the context?"} -->|"Verbose tool output"| B["Prune fields before they enter"]
  A -->|"Long history"| C["Compact into a summary"]
  A -->|"Exploration noise"| D["Move it to a subagent"]
  A -->|"Facts must survive"| E["Keep a case-facts block"]

Common trap

Assuming max_tokens controls context. It only limits the reply.

Try it yourself

Trim a verbose tool result to the fields you use and measure the token difference over ten turns.

Lesson 6 of 7, 8.1% of the exam

Security and safety

Anything your agent reads can try to instruct it.

Prompt injection
Treat retrieved content as data, not instructions, and keep it apart from your trusted prompt.
Hooks as guardrails
Hooks run in your code, so they hold even when the model is persuaded. Prompt rules do not.
Keys and access
Keep secrets out of prompts and repos, and give each component the least access it needs.
Where a prompt injection gets stoppedThe model may be fooled. The hook is not, because it runs in your code.
sequenceDiagram
  participant D as Web page
  participant C as Claude
  participant H as Hook
  participant T as Sensitive tool
  D->>C: Hidden text says send the data out
  C->>H: Tool call requested
  H-->>C: Blocked by policy
  Note over H,T: The tool never runs

Common trap

Fixing injection with a sentence in the system prompt. That is a request, not a control.

Try it yourself

Plant an instruction in a test document, then block the dangerous tool call with a hook.

Official docs: Claude Code hooksAgent SDK hooks

Lesson 7 of 7, 10.6% of the exam

Tools and MCP

Most agent quality problems are really tool design problems.

Tool descriptions
The description is how the model chooses. Say what the tool returns and when to use it over similar ones.
Client and server tools
Client tools run in your code. Server tools run on Anthropic's side, so the loop differs.
Tool, Skill or MCP
A Skill packages know-how, a custom tool does one job for one app, and MCP shares an integration across many apps.
Pick the right extension pointThe exam weights this choice at 4.1%.
flowchart TD
  A{"What do you need?"} -->|"Repeatable know-how"| B["Skill"]
  A -->|"An action in one app"| C["Custom tool"]
  A -->|"One integration for many apps"| D["MCP server"]
  A -->|"Read or search files"| E["Built-in tool"]

Common trap

Building an MCP server for something only one app uses. A custom tool is simpler.

Try it yourself

Write one MCP server with two tools, connect it to Claude Code, and improve the descriptions until selection is reliable.

Study plan

  1. Weeks 1 and 2: API mechanics

    Finish Building with the Claude API. Build streaming, tool use and prompt caching into one small app, and read the token usage it reports.

  2. Week 3: agents and tools

    Write a custom agent loop, then rebuild it on the Agent SDK. Write one MCP server and one Skill so you can feel the difference.

  3. Week 4: cost and failure

    Cache a large system prompt and measure the hit rate. Handle 429 and overload errors with backoff. Trace one failure from integration to model output.

  4. Week 5: exam practice

    Run the sample questions in the official guide, take the mock below, and restudy the weakest domain.

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.
  • Spend your time where the weight is. Applications and Integration at 33.1% is worth more than Claude Code, Evals and Security put together.
Test yourself10 practice questions, scored by exam topic.
Start the mock exam

Keep going

Exam facts checked on October 31, 2026 against CCDV-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.