@anthropic-ai/sdk 0.118.0 removes one named export: MidConversationSystemBlockParam, the parameter type for a mid_conv_system content block. The package’s own changelog files this as a bug fix rather than a rename: the type described a block the API never accepted. Code that imports the name from @anthropic-ai/sdk/resources stops compiling on upgrade.

What changed

Before and after

The one site Emendant finds:

import { MidConversationSystemBlockParam } from '@anthropic-ai/sdk/resources';
export { MidConversationSystemBlockParam };

There is no after. The entry carries an assisted fix, so emendant fix asks a model once you name a provider, but nothing replaces this type and the guidance tells the model to decline rather than invent a name. Expect the finding back unfixed.

Migration guidance and its limits

There is most likely nothing to apply. The entry’s fix is assisted rather than deterministic, so naming a model provider on the command line or in emendant.json lets emendant fix try the rewrite, and without one the finding is reported with its guidance and nothing is sent anywhere. Nothing takes this type’s place, so a decline is the honest answer and the guidance asks for one.

Delete the import, and delete any code that still builds a mid_conv_system block by hand, since the API already refused it before this release removed the type.

Attribution is by import specifier: only a name imported from @anthropic-ai/sdk/resources is reported. The same name imported from a local module or a vendor shim, or brought in under an alias, does not carry that specifier, so the matcher does not follow it there and nothing is reported for it.

A clean scan says the name is not imported from @anthropic-ai/sdk/resources. It does not say your requests never built a mid_conv_system block, since a plain object literal with that shape needs no import at all, and the tool traces imports and constructed values rather than the fields of an object sent to a client method.

What Emendant detects, fixes and verifies

1 change in @anthropic-ai/sdk 0.118.0. 0 patched by a transform, 1 patched only with a model provider you name, 0 report only. Every patch is proved in a copy of your repository before it is offered, and its header names the checks that passed. This table is generated from the feed entry, so it cannot claim more than the entry does.

ChangeSeverityDetectsFixVerified by
Removed MidConversationSystemBlockParam
anthropic-ai-sdk-npm-0.118.0-resources-mid-conversation-system-block-param-removed
Breaking
  • MidConversationSystemBlockParam imported from @anthropic-ai/sdk/resources
Patch, only when you name a model providerYour typecheck and tests

emendant explain <change-id> prints any row's entry, guidance and sources at the terminal.

Coverage

Snapshot
2026-09-20.1, sequence 27, signed 20 September 2026
Minimum CLI
emendant@0.1.0
Feed entry
feed/npm/@anthropic-ai/sdk/0.118.0.json

emendant feed status shows the snapshot your machine holds, and emendant feed update fetches the latest.

Primary sources

Every claim above was checked against these, each pinned to the release rather than to a default branch.

Scan your repository

Runs locally, reads your lockfile and source, sends nothing anywhere.

npx emendant scan

Then npx emendant fix writes the patches the table says exist. The getting started guide covers the flags and the patch grades.