---
summary: "enrichmentTrailer.render switched to method syntax so tools declaring an enrichment block stay assignable to AnyToolDefinition — fixes the 0.9.15 createApp({ tools }) typecheck regression for every enrichment tool"
breaking: false
security: false
---

# 0.9.16 — 2026-05-29

## Fixed

- **`enrichmentTrailer.render`** declared with method syntax instead of an arrow property, so its parameter is checked bivariantly. A concrete tool's narrow `render` value — and the `enrichmentTrailer` property type itself, present whenever an `enrichment` block is declared (even with no trailer literal) — once again stays assignable to the type-erased `AnyToolDefinition`, so `createApp({ tools: [...] })` typechecks for every enrichment tool. Matches how `format` and `handler` already dodge the same `strictFunctionTypes` variance check. Regression from 0.9.15; type-only, no runtime change. ([#180](https://github.com/cyanheads/mcp-ts-core/issues/180))
