# Error propagation across multi-agent systems

*Claude Certified Architect - Foundations Study Guide · Context Management & Reliability · Last updated October 22, 2026 · https://www.certifyforce.com/study-guide/claude-certified-architect-foundations/context-management-and-reliability/error-propagation-across-multi-agent-systems*

How subagent failures should reach the coordinator: recover transient errors locally, propagate the rest with failure type, attempted query, partial results and alternatives, tell access failures from valid empty results, resume partial subagents, and annotate coverage gaps instead of suppressing errors or aborting the run.

- Certification: Claude Certified Architect - Foundations
- Exam section: Context Management & Reliability
- Study guide: https://www.certifyforce.com/study-guide/claude-certified-architect-foundations

**Official exam objective:**

> Implement error propagation strategies across multi-agent systems

## What the exam expects

- Return structured error context from a subagent (failure type, what was attempted, partial results, possible alternatives) instead of a generic "search unavailable".
- Distinguish access failures (a timeout that needs a retry decision) from valid empty results (a successful query with no matches), and pick the coordinator action for each.
- Recover transient failures inside the subagent and propagate only what it cannot resolve.
- Reject both anti-patterns: silently returning empty results as success, and terminating the whole workflow on one failure.
- Treat a subagent stopped by `maxTurns` as partial work to resume, and use structured status fields rather than scanning prose.
- Annotate synthesis output with coverage: which findings are well supported and which topic areas have gaps because sources were unavailable.

Key terms: **structured error context** (machine-readable failure details a coordinator can act on); **access failure** (the source could not be reached or read); **valid empty result** (the query ran and found nothing); **local recovery** (bounded retries inside the subagent); **partial result** (completed work plus what is left); **coverage annotation** (per-topic statement of support and gaps).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Structured error context | Failure type, attempted query, partial results, alternative approaches | [Exam Guide v1.0](https://everpath-course-content.s3-accelerate.amazonaws.com/instructor%2F6nizmqk8tpzpfjvt6qmmav7rh%2Fpublic%2F1783542750%2FClaude+Certified+Architect+%E2%80%93+Foundations+Exam+Guide.pdf) |
| Access failure vs valid empty | Timeout needs a retry decision; successful query with no matches is a finding | [Exam Guide v1.0](https://everpath-course-content.s3-accelerate.amazonaws.com/instructor%2F6nizmqk8tpzpfjvt6qmmav7rh%2Fpublic%2F1783542750%2FClaude+Certified+Architect+%E2%80%93+Foundations+Exam+Guide.pdf) |
| Both anti-patterns | Empty results reported as success; aborting the workflow on one failure | [Exam Guide v1.0](https://everpath-course-content.s3-accelerate.amazonaws.com/instructor%2F6nizmqk8tpzpfjvt6qmmav7rh%2Fpublic%2F1783542750%2FClaude+Certified+Architect+%E2%80%93+Foundations+Exam+Guide.pdf) |
| MCP tool execution errors | Returned in the result with `isError: true`; protocol errors are JSON-RPC errors | [MCP Tools spec](https://modelcontextprotocol.io/specification/2026-07-28/server/tools) |
| Recovery over restart | Resume from where the agent was; retry logic plus regular checkpoints | [Multi-agent research system](https://www.anthropic.com/research/multi-agent-research-system) |
| Subagent hits `maxTurns` | Output marked partial (Claude Code v2.1.246+); resume to continue | [Subagents in the SDK](https://code.claude.com/docs/en/agent-sdk/subagents) |
| Resuming a subagent | Capture `agentId` and session ID; resume the session; history retained | [Subagents in the SDK](https://code.claude.com/docs/en/agent-sdk/subagents) |
| API error ends a subagent | Never delivered as its result; background failures include last output | [Subagents in the SDK](https://code.claude.com/docs/en/agent-sdk/subagents), [Create custom subagents](https://code.claude.com/docs/en/sub-agents) |
| Foreground subagent cut off | Partial text returned with a note it didn't finish; no text means an error | [Create custom subagents](https://code.claude.com/docs/en/sub-agents) |
| SDK run outcome | `ResultMessage.subtype`; `result` only on `success` | [Agent loop](https://code.claude.com/docs/en/agent-sdk/agent-loop) |
| Coverage annotations | Well-supported findings vs topic gaps from unavailable sources | [Exam Guide v1.0](https://everpath-course-content.s3-accelerate.amazonaws.com/instructor%2F6nizmqk8tpzpfjvt6qmmav7rh%2Fpublic%2F1783542750%2FClaude+Certified+Architect+%E2%80%93+Foundations+Exam+Guide.pdf) |

## Check yourself

- Why is "search unavailable" a poor error report from a subagent?
- When should a subagent handle a failure itself instead of propagating it?
- Why resume a failed run rather than restart it?
- What does Claude Code do with a subagent's output when it hits `maxTurns`?

## Sources

- [Claude Certified Architect – Foundations Exam Guide v1.0](https://everpath-course-content.s3-accelerate.amazonaws.com/instructor%2F6nizmqk8tpzpfjvt6qmmav7rh%2Fpublic%2F1783542750%2FClaude+Certified+Architect+%E2%80%93+Foundations+Exam+Guide.pdf)
- [How we built our multi-agent research system](https://www.anthropic.com/research/multi-agent-research-system)
- [Subagents in the SDK](https://code.claude.com/docs/en/agent-sdk/subagents)
- [Create custom subagents](https://code.claude.com/docs/en/sub-agents)
- [Tools (MCP specification 2026-07-28)](https://modelcontextprotocol.io/specification/2026-07-28/server/tools)
- [How the agent loop works](https://code.claude.com/docs/en/agent-sdk/agent-loop)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 8 linked practice questions, and unlimited timed mock exams are included with the Claude Certified Architect - Foundations pack (USD $19): https://www.certifyforce.com/practice-exams
