CCDV-F Agents and the Agent SDK Practice Question
A developer is building an agent that must decide when to call tools versus when to respond directly to the user. The agent uses the Anthropic SDK with tool definitions supplied in the request. Which TWO behaviors correctly describe how the model handles tool use in this setup? (Choose two.)
⚠ Common exam trap
The trap here is assuming the model runs the tool and returns its output, when it only requests the tool and waits for the application to supply the result.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
The model can return a normal text response instead of a tool_use block when it determines no tool is required.
Claude decides whether to call a tool and, if so, emits a tool_use block with the name and arguments; it may also answer directly with text when no tool is needed. The application, not the model, performs execution and returns results, which is why the agent loop must handle both tool_use and plain text outcomes.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
The model can return a normal text response instead of a tool_use block when it determines no tool is required.
Why this is correct
Tool use is optional from the model's perspective. If the user's request can be answered from existing context, Claude may reply with text and no tool_use block. The developer's loop should handle both outcomes, which is why checking the stop reason and content blocks is essential.
- ✓
The model emits a tool_use block containing the tool name and input arguments when it decides a tool is needed.
Why this is correct
When Claude chooses to use a tool, it returns a structured tool_use content block with the tool name and a JSON input object matching the schema. The developer's code then executes the tool and returns the result. This is the core mechanism that lets the agent take actions beyond text generation.
- ✗
The model requires the tool's input_schema to be omitted so it can choose parameters freely.
Why it's wrong here
The input schema tells the model what parameters are valid. Omitting it removes the structure the model needs to produce correct arguments and typically results in malformed or rejected tool calls. Schemas are required for reliable tool use, not optional overhead.
- ✗
The model automatically retries a failed tool call until it succeeds without developer intervention.
Why it's wrong here
There is no automatic retry of tool execution. If a tool fails, the developer must send the error back as a tool_result and let the model decide whether to try again. The SDK does not orchestrate retries on its own, so the application owns that control flow.
- ✗
The model executes the tool itself and returns the result directly in the same response.
Why it's wrong here
Claude does not execute tools. It only requests them by emitting a tool_use block. Execution happens in the developer's application, which then sends the output back as a tool_result. Confusing the request with execution is a common misunderstanding that leads to broken agent loops.
About these practice questions
One of 257 original CCDV-F practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Anthropic exam blueprint
This CCDV-F practice question is part of Courseiva's free Anthropic certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CCDV-F exam.