Azure Devops '[skip ci]' commit message flag is no longer working

Tobi Azeez 0 Reputation points
2026-10-28T22:48:04.78+00:00

I believe since about Oct 23rd this has become an issue.
We have a CI that commits and pushes with a message of 'chore(release): [skip ci]' that was (correctly) not triggering a recursive CI build.
As of (from what I can tell) around Oct 23 none of our '[skip ci]' flags work anymore (including the other variants) from both within our CI and when manually pushing a commit directly to main and including a skip ci flag in the commit message.
We never changed anything about the pipeline or the triggers for that pipeline (which is a push on main trigger as it has always been).
Is this an error or was this purposefully changed?

Azure DevOps
0 comments No comments

1 answer

Sort by: Most helpful
  1. Hemant Bharadwaj 90 Reputation points Microsoft Employee
    2026-10-29T02:58:05.9666667+00:00

    Likely cause: this is usually trigger-context behavior rather than a global deprecation—[skip ci] is honored only for qualifying push runs, and can be ignored for PR/build-policy or non-push trigger paths.

     

    1. Confirm which trigger actually started the run

     

    1. Verify token placement and commit selection

     

    1. Check PR validation/build policy expectations

     

    1. Add a defensive YAML condition for release-automation commits
      • If your release bot pushes to main, add a condition so jobs are skipped when the commit message contains your marker (for example chore(release): [skip ci]).
      • This protects you even if a run is queued by policy or another trigger path.

     

    Example job condition:

    condition: and(succeeded(), not(contains(variables['Build.SourceVersionMessage'], '[skip ci]')))

     

    Validation checks:

    • Push a test commit directly to the CI branch with [skip ci] in the commit message and confirm no push CI run is created.
    • Repeat through your PR merge path and confirm whether the merge commit retains the token.

     

    Note: if you rely on mandatory policy validation, use branch filters/conditions for release commits instead of depending only on skip tokens.

     

    “If you find this answer helpful, please upvote it. If this resolves your issue, please mark it as the accepted answer so that it can help others in the community.”

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.