Skip to content

CCAR-F · Domain 5: Context Management & Reliability · 15% of the exam

Task 5.3: Implement error propagation strategies across multi-agent systems

Passing failures up with their type, the attempted query, partial results and alternatives, recovering locally first, and annotating the final output with the coverage that is missing.

Study it

  • Error propagation between subagents and the coordinator

    Partly covered by: The Tool-Use Loop

Sample questions

Try each one before opening the answer. Every option is explained, with the Anthropic documentation page that proves it.

Question 1 · choose 1

Your document-analysis subagent calls a PDF service that returns a transient 503 about once in twenty calls; an immediate retry almost always works. Today every 503 goes straight back to the coordinator, which re-plans the whole research step and slows every run. How should errors be handled?

  1. ALet the subagent retry transient failures itself, within a limit, and report what still fails
  2. BHave the subagent skip a document whenever the service fails and carry on without mentioning it
  3. CStop the whole research workflow on any error, so that no report is built from incomplete analysis
  4. DKeep sending every error to the coordinator, which sees the whole plan
Show the answer and why
  • ALet the subagent retry transient failures itself, within a limit, and report what still fails

    Correct

    Local recovery handles routine transient errors where they happen, and the coordinator hears only about problems it must decide on.

  • BHave the subagent skip a document whenever the service fails and carry on without mentioning it

    Incorrect

    Silently dropping documents hides gaps that the final report should disclose.

  • CStop the whole research workflow on any error, so that no report is built from incomplete analysis

    Incorrect

    Terminating everything on one transient failure throws away the work that succeeded.

  • DKeep sending every error to the coordinator, which sees the whole plan

    Incorrect

    This is the current design; routine retries do not need re-planning and only slow the run.

Subagents should recover locally from transient failures and propagate only the errors they cannot resolve, with what was attempted and any partial results. Both silent suppression and aborting the workflow are anti-patterns.

Question 2 · choose 2

During a research run, the subagent responsible for one of four source areas cannot reach its database for the entire run; the other three areas returned solid findings. The report is still wanted today. Which TWO actions should the system take? (Choose TWO.)

  1. AMark in the report which conclusions are well supported and which area has a gap because its source was unavailable
  2. BFill the missing area from the model's general knowledge so that the report covers all four areas
  3. CHave the failing subagent return an empty result marked as successful so the pipeline can finish normally
  4. DHave the coordinator continue with the findings from the three available source areas
  5. ECancel the run and schedule it again for when the database is back online
Show the answer and why
  • AMark in the report which conclusions are well supported and which area has a gap because its source was unavailable

    Correct

    Coverage annotations tell readers exactly where the evidence is thin and why.

  • BFill the missing area from the model's general knowledge so that the report covers all four areas

    Incorrect

    Unsourced content presented alongside cited findings misleads readers about what the research supports.

  • CHave the failing subagent return an empty result marked as successful so the pipeline can finish normally

    Incorrect

    Reporting a failure as success hides the gap from the coordinator and from the report.

  • DHave the coordinator continue with the findings from the three available source areas

    Correct

    Partial results are still valuable; one unavailable source does not justify discarding the rest.

  • ECancel the run and schedule it again for when the database is back online

    Incorrect

    Cancelling throws away three good areas and misses today's deadline.

When a source is unavailable, proceed with partial results and annotate the synthesis with coverage gaps. Do not hide the failure or invent content to fill it.

Question 3 · choose 1

In Claude Code, your coordinator runs four research subagents in the background. Three finish; the fourth is still searching. The coordinator writes its report straight away, marking the fourth area "source unavailable." What should it have done?

  1. AMarked the fourth area as having no findings, since its subagent had not reported
  2. BRestarted the fourth subagent from scratch so that its results arrive sooner
  3. CWaited for the fourth subagent's completion or failure notification before treating its area as covered or missing
  4. DAsked the synthesis step to fill the fourth area from general knowledge
Show the answer and why
  • AMarked the fourth area as having no findings, since its subagent had not reported

    Incorrect

    A subagent that has not finished has neither failed nor found nothing; either label misstates what happened.

  • BRestarted the fourth subagent from scratch so that its results arrive sooner

    Incorrect

    Restarting throws away the work in progress and still leaves the coordinator waiting.

  • CWaited for the fourth subagent's completion or failure notification before treating its area as covered or missing

    Correct

    A background subagent's result reaches Claude as a notification in a later turn; until it arrives, the area is still in progress.

  • DAsked the synthesis step to fill the fourth area from general knowledge

    Incorrect

    That presents unsourced material as research and hides that the search had not finished.

Error reporting starts with telling states apart: still running, failed, and finished with no results are different outcomes. A background subagent reports through a completion notification, so wait for it before declaring a gap.

Question 4 · choose 1

Your research subagents query a citations database through an MCP server. On days the server fails to connect, Claude writes the literature section without it and never mentions the failure. You find that the deployment sets ENABLE_TOOL_SEARCH=false. What explains the silence, and what helps?

  1. AWithout tool search, Claude Code does not tell Claude about failed server connections; turn tool search back on or check server status in system/init and flag the run
  2. BMCP servers that fail to connect are retried until they succeed, so the failure must be in the database itself
  3. CClaude ignores connection errors by design; add a line to the prompt telling it to mention them
  4. DThe server should return isError on connection failures so that Claude sees them
Show the answer and why
  • AWithout tool search, Claude Code does not tell Claude about failed server connections; turn tool search back on or check server status in system/init and flag the run

    Correct

    With tool search, Claude is told which server failed and why; in configurations without it, the failure is not reported to Claude.

  • BMCP servers that fail to connect are retried until they succeed, so the failure must be in the database itself

    Incorrect

    Claude Code retries a failed first connection a few times and then marks the server as failed.

  • CClaude ignores connection errors by design; add a line to the prompt telling it to mention them

    Incorrect

    Claude cannot mention an error it is never told about.

  • DThe server should return isError on connection failures so that Claude sees them

    Incorrect

    A server that never connected cannot return any result, error or otherwise.

A failure has to reach the agent before it can be reported. With tool search, Claude Code tells Claude which configured server failed and its error; without tool search it does not, so check the MCP server status your application receives at startup and annotate or fail the run yourself.

Question 5 · choose 1

During busy periods your subagents' primary model is sometimes overloaded, and runs fail. You want them to keep working on another model when that happens. What should you configure?

  1. AA higher maxTurns for every subagent
  2. BA Stop hook that restarts failed runs
  3. CA fallback model chain for the subagents
  4. DA rule in CLAUDE.md telling Claude to try another model
Show the answer and why
  • AA higher maxTurns for every subagent

    Incorrect

    More turns do not help when the model rejects the request.

  • BA Stop hook that restarts failed runs

    Incorrect

    Restarting into the same overload fails again.

  • CA fallback model chain for the subagents

    Correct

    Sessions and subagents switch to a backup model when the primary is overloaded or unavailable.

  • DA rule in CLAUDE.md telling Claude to try another model

    Incorrect

    Claude cannot switch its own model through instructions.

Configure fallback models so that, when the primary model is overloaded or unavailable, the session or subagent continues on a backup.

Question 6 · choose 1

Of six parallel research subagents, five succeeded and one failed on a malformed query. A teammate's recovery plan reruns all six. What is the better recovery?

  1. ARerun the failed subagent with the same malformed query
  2. BRerun only the failed subagent with a fixed query
  3. CDrop the failed subtopic without noting it
  4. DRerun all six so that the results are consistent
Show the answer and why
  • ARerun the failed subagent with the same malformed query

    Incorrect

    The same input fails the same way.

  • BRerun only the failed subagent with a fixed query

    Correct

    Recovering just the failed piece preserves good work and saves cost.

  • CDrop the failed subtopic without noting it

    Incorrect

    The subtopic is lost to a query that could have been fixed.

  • DRerun all six so that the results are consistent

    Incorrect

    Repeating successful work adds cost without benefit.

Recover at the level of the failure: keep successful results and retry only the failed part, adjusted so that it can succeed.

Question 7 · choose 2

In Claude Code, a usage limit cuts off two of your research subagents: one running in the foreground that had already written part of its findings, and one running in the background. Which TWO statements describe what the coordinator receives? (Choose TWO.)

  1. AFor the foreground subagent, the Agent tool returns its partial output with a note that it was cut off and did not finish
  2. BFor the foreground subagent, the cut-off output arrives as a normal result, indistinguishable from a finished one
  3. CFor the background subagent, it is marked failed, and the message names the API error and includes its last output
  4. DThe whole session ends with the API error, and neither subagent's work is kept
  5. EA subagent whose only output was tool calls returns those calls as partial findings
Show the answer and why
  • AFor the foreground subagent, the Agent tool returns its partial output with a note that it was cut off and did not finish

    Correct

    A foreground subagent that already produced text returns that partial output, marked as unfinished.

  • BFor the foreground subagent, the cut-off output arrives as a normal result, indistinguishable from a finished one

    Incorrect

    An API error that ends a subagent early is never delivered as its result; the output is marked as cut off.

  • CFor the background subagent, it is marked failed, and the message names the API error and includes its last output

    Correct

    A background subagent's failure message carries the error and its last output, so partial work is not lost.

  • DThe whole session ends with the API error, and neither subagent's work is kept

    Incorrect

    The failure is reported to Claude per subagent; the session continues.

  • EA subagent whose only output was tool calls returns those calls as partial findings

    Incorrect

    A subagent that produced nothing, or only tool calls, fails with "Agent terminated early due to an API error".

Claude Code keeps API failures in subagents visible and keeps partial work: a cut-off foreground subagent returns its text marked as unfinished, and a failed background subagent's message names the error and carries its last output. Once the error clears, retry or resume the subagent.

Practise domain 5 →Practise all domains →