A school district needs multiple campus apps to share consistent Claude client behavior. Which SDK design fits?
Select an answer to reveal the explanation.
Short Explanation
Many campuses, one Claude habit—wrap a thin TypeScript facade so every app speaks the same client dialect.
Full Explanation
Multiple campus apps share consistent Claude behavior when the district builds a thin TypeScript SDK facade over Claude. The facade centralizes auth injection, retries, streaming defaults, logging, model selection, and prompt/version hooks so schools do not fork divergent HTTP habits that break when Anthropic APIs evolve.
Maintaining independent forks of the Claude SDK inside each campus app repository fails because drift across forks produces inconsistencies in headers, models, and error handling, creating uneven student and staff experiences and multiplying support tickets. Sharing a common React chat widget library across campus apps for Claude UI fails because a UI library standardizes only the view layer and does not centralize auth, retries, or model defaults, so each campus still duplicates Claude client behavior. Routing campus traffic through a central proxy that injects Claude model defaults fails because a proxy handles network traffic but does not provide a shared TypeScript SDK, leaving each app to implement its own Claude calls and allowing behavior to drift.
Exam caveat: the facade must remain thin—do not bury campus-specific pedagogy policy so deeply that product teams cannot see which prompts and models shipped to which schools. Operational check: publish the TypeScript facade as an internal package, require campus apps to depend on it in CI, and verify one config change such as retry policy propagates without per-app edits.