Do AI coding agents care about SemVer or is it something for humans only? In experiments run in Microsoft's Vally evaluation tool with GitHub Copilot CLI as the agent, Claude Sonnet 5.5 checked a breaking dependency upgrade in only 2 of 10 runs when the version was labeled a patch (1.4.3) but in all 10 runs when byte-identical code was labeled a major release (2.0.0). Claude Opus 5.5, GPT-6.1 Sol and GPT-6.1 Terra checked every upgrade under both labels (70/70 each), across two experiments and almost 1,000 runs on a Node.js app depending on a fictional npm library, fluxkit. The results show semantic versioning labels still steer some coding agents' verification behavior even when the code behind the version number is identical. Semantic versioning tells developers how risky an upgrade is. A patch fixes bugs, a minor release adds features without breaking anything and a major release breaks things, so you know how closely to look before you upgrade. On paper, that signal is redundant when an AI coding agent does the upgrade. The agent has no muscle memory tied to the old API. It can read the new code and run the tests, so why would it care what the version number says? We suspected it wouldn’t, and that SemVer had become something only people need. Two models proved us wrong. Across two experiments and almost 1,000 runs, the version number alone changed what they did with byte-identical code. Given an upgrade that broke the app, Claude Sonnet 5.5 ran the tests or read the new code in 2 of 10 runs when the upgrade was labeled a patch, and in all 10 when it was labeled a major release. Other models checked every upgrade, whatever the label said. Some agents still read SemVer, and for them, a patch label is a reason to check less. Why an agent might still read the version number SemVer describes what the maintainer intended a release to do. Whether it works with your app is something an agent can check directly, by reading the code and running the tests. Still, models learn from repositories and docs where SemVer is everywhere. Somewhere in that data, they may have picked up the same habits developers have: a major release deserves a careful look, and a patch is safe to take. If they did, the label could decide how thoroughly an agent checks an upgrade, even when the code behind it is the same. We wanted to know whether a patch, minor or major label changes how agents behave, and if it does, whether that changes the outcome. We ran both experiments in Vally https://aka.ms/vally , Microsoft’s evaluation tool for AI agents, with GitHub Copilot CLI as the agent. Same code, different version number We built a small Node.js app that depends on fluxkit , an npm library we made up. A fictional library meant no model could rely on what it remembered about the API or its release history. The new version of fluxkit renamed a function the app calls, so upgrading without updating the app leaves it broken. We gave the agents a deliberately minimal instruction, in one of two versions: patch Bump fluxkit to 1.4.3. major Bump fluxkit to 2.0.0. The library code behind both versions was byte-identical, breaking change included, so only the version number differed. If agents ignored the label, they’d behave the same in both conditions. If they treated a major release as riskier, they’d check the upgrade more often. We counted a run as checked when the agent ran the tests or the app, or read the updated library code. | Model | Checked: patch | Checked: major | Verdict | |---|---|---|---| | Claude Sonnet 5.5 | 2/10 | 10/10 | Effect | | Claude Opus 5.5 | 70/70 | 70/70 | No meaningful effect | | GPT-6.1 Sol | 70/70 | 70/70 | No meaningful effect | | GPT-6.1 Terra | 70/70 | 70/70 | No meaningful effect | Claude Sonnet 5.5 reacted to the label more than we expected any model to. Asked for a patch, it often changed only the dependency version and stopped there, leaving the app broken. Asked for a major release, it checked every time. The other three models checked every upgrade under both labels. In a five-run pilot, GPT-6 Sol did the same, before we replaced it with GPT-6.1 Terra for the full run. Reviewing a teammate’s update “Bump this dependency” is the simplest upgrade there is. More often, a teammate or a dependency bot prepares a branch, and someone reviews it before it’s merged. When that someone is an agent, it has to decide on its own whether the update is safe to merge, and we wanted to see whether the label still changes how carefully it checks. We prepared update branches and asked the agents to review them: Review the update-