Release 0.122.0 drops resolveSkillVersion, the one named export @anthropic-ai/sdk/tools/agent-toolset/node loses this release. It only affects code that imported the helper directly to turn a skill version alias such as latest into the concrete id the download endpoint needs. The toolset’s own skill downloader, setupSkills, never depended on it as a public function and keeps working unchanged.

What changed

Before and after

The fixture Emendant’s matcher is proved against imports the removed name directly:

import { resolveSkillVersion } from '@anthropic-ai/sdk/tools/agent-toolset/node';
export { resolveSkillVersion };

No transform writes this one. Where your code called resolveSkillVersion(client, skillId, version) before downloading, call the retrieve endpoint and read the id off its result instead:

const version = await client.beta.skills.versions.retrieve(skillVersion, { skill_id: skillId });
const versionId = version.id;

That is the same call setupSkills makes internally, so a latest alias resolves the same way whether you drive the download yourself or let the toolset do it.

Migration guidance and its limits

This finding carries an assisted fix, so emendant fix asks a model once you name a provider on the command line or in emendant.json; without one it is reported with its guidance and nothing is sent anywhere. Expect a decline more often than a patch. The guidance asks for the equivalent the release provides and tells the model to set fixed to false rather than invent one, and what replaced this helper is a different call shape rather than a name to substitute. A patch that is written is proved in a copy of your repository moved to 0.122.0 and put through whichever of your own typecheck and tests it finds there, and withheld if it fails.

Where your code called resolveSkillVersion to resolve an alias before downloading a skill, replace the call with client.beta.skills.versions.retrieve(version, { skill_id }) and take .id from what it returns. Numeric versions round-trip through the same call unchanged, since the endpoint already accepted them.

The matcher fires on the import specifier @anthropic-ai/sdk/tools/agent-toolset/node. A copy of the helper vendored into your own module, or a call reached only through a factory Emendant’s provenance tracking cannot follow, is not something a clean scan rules out. This page covers the one change the feed carries for 0.122.0; the release’s other fixes and documentation updates are not part of this entry.

What Emendant detects, fixes and verifies

1 change in @anthropic-ai/sdk 0.122.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 resolveSkillVersion
anthropic-ai-sdk-npm-0.122.0-tools-agent-toolset-node-resolve-skill-version-removed
Breaking
  • resolveSkillVersion imported from @anthropic-ai/sdk/tools/agent-toolset/node
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.122.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.