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
- Removed.
resolveSkillVersionis no longer exported from@anthropic-ai/sdk/tools/agent-toolset/node. It resolved a skill version alias like"latest"to the concrete numeric id the skill version endpoints required, by listing a skill’s versions and picking the highest. - No like-for-like replacement. The job it did moved into
client.beta.skills.versions.retrieve, which now accepts the alias itself and returns the concrete id on the result. There is no standalone function under a new name to point a rewrite at, which is why no transform writes this one.
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.
| Change | Severity | Detects | Fix | Verified by |
|---|---|---|---|---|
Removed resolveSkillVersionanthropic-ai-sdk-npm-0.122.0-tools-agent-toolset-node-resolve-skill-version-removed | Breaking |
| Patch, only when you name a model provider | Your 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.
- @anthropic-ai/sdk@0.122.0npm registry, the published package
- @anthropic-ai/sdk@0.121.0npm registry, the published package
Scan your repository
Runs locally, reads your lockfile and source, sends nothing anywhere.
npx emendant scanThen npx emendant fix writes the patches the table says exist. The getting started guide covers the flags and the patch grades.