Anthropic · CCAR-P
Validates advanced expertise in designing and architecting production-grade AI solutions using Claude, targeting solution architects, AI/ML engineers, and technical leads with 3+ years of systems-architecture experience. Covers solution design, integration patterns (MCP, API, agent-to-agent), evaluation, governance, safety, and operational enablement.
Practice Questions
306
≈ 4 practice exams
Duration
120 minutes
Passing Score
720/1000
Difficulty
ProfessionalLast Updated
Sep 2026
Use this CCAR-P practice exam to prepare for Claude Certified Architect Professional (CCAR-P) with realistic questions, detailed explanations, and focused study modes. The practice bank includes 306 questions for Anthropic CCAR-P, so you can review the exam steadily instead of relying on one long cram session.
As you practice, pay extra attention to recurring topics such as Solution Design & Architecture, Claude Models, Prompting & Context Engineering, Integration Mechanisms (MCP, API/CLI, Agent-to-Agent), Evaluation, Testing & Optimisation, and Governance, Safety & Risk Management. Start with short sessions to identify weak areas, then move into timed quizzes once your accuracy is consistent.
The explanations are written for candidates preparing for Anthropic certification questions and reviewing how the concepts apply in practice. Use the free preview first, then unlock the full question bank when you are ready to build a complete study routine.
5 sample questions with answers and explanations. The full bank has 306 questions, enough for 4 full-length practice exams.
Preview — answers shown1. You are designing a custom tool that returns data from an API. The tool can return an empty result when no matches are found, or it can encounter an actual error. How should the tool distinguish these two cases? (Select one!)
Explanation
A tool should distinguish a successful empty result from an error. No matches found is a legitimate outcome, not a failure, so it should be a successful result with an empty results array. An actual error, such as a network failure or invalid input, should be an isError result so the agent knows something went wrong and can handle it appropriately. Treating no matches as an error would cause the agent to retry unnecessarily or escalate a non-issue, while treating actual errors as successful results would hide real problems.
2. You are configuring an agent with permissionMode: acceptEdits. You expect MCP tools to be auto-approved because file edits are auto-approved in this mode. Which statement about MCP tools in this configuration is correct? (Select one!)
Explanation
permissionMode: acceptEdits does NOT auto-approve MCP tools; it only auto-approves file edits and filesystem Bash commands. MCP tools still require approval or must be explicitly allowed. The readOnlyHint annotation does not affect auto-approval in acceptEdits mode. MCP tools are not denied entirely; they simply require explicit approval or configuration.
3. A customer-support chatbot only needs to read tickets and draft replies. Which tool access should it have? (Select one!)
Explanation
If the chatbot only needs to read tickets and draft replies, it should not have access to refund or deletion tools. Least privilege limits exposure.
4. A developer is reviewing the security architecture of Claude Code on the web. Which statement about credential handling is correct? (Select one!)
Explanation
Claude Code on the web executes each session in an isolated sandbox where sensitive credentials are never inside the sandbox; a custom proxy service handles git interactions with a scoped credential. "Sensitive credentials are injected into the sandbox for each session." is wrong because credentials are not injected into the sandbox. "Git credentials are stored inside the sandbox and used directly by the agent." is wrong because git credentials are not stored in the sandbox. "The sandbox directly accesses the user's git credentials through a mounted keychain." is wrong because the proxy service, not the sandbox, handles git interactions.
5. You are designing a booking system for a clinic. The current design has two separate tools: `check_availability` and `reserve_slot`. A patient asks for the next available appointment, and the agent calls `check_availability`, then calls `reserve_slot` with the returned slot ID. In production, you notice that sometimes the slot is already taken by another patient between the two calls. What is the best fix? (Select one!)
Explanation
A booking system should combine 'check availability' and 'reserve slot' into one atomic `find_and_book_appointment` tool to avoid race conditions. The separate-tool design creates a window where another patient can take the slot. Adding a `hold_slot` tool introduces a new race window and complexity, a retry loop does not eliminate the underlying race, and changing temperature has no effect on concurrency. The atomic tool ensures the check and reservation happen as a single operation.
$17.99
One-time access to this exam