Problem
The [ci skip] or [skip ci] tag should skip CircleCI builds but sometimes doesn't work. This happens when the tag is placed incorrectly or when you're in an unsupported scenario.
Why this occurs: CircleCI only checks the first 250 characters of the commit title or body for skip tags.
Solutions
Solution 1: Place Tag at the Start
Put [ci skip] or [skip ci] in your commit title or at the very beginning:
git commit -m "[ci skip] Update docs"
Solution 2: Check for Unsupported Scenarios
Skip tags do NOT work in these cases:
Fork pull requests
Scheduled workflows
GitHub App pipelines triggered via webhooks or schedules
For these scenarios, use pipeline parameters instead (see Solution 3).
Solution 3: Use Pipeline Parameters
For API-triggered builds or when skip tags don't work:
version: 2.1parameters:
run_workflow:
type: boolean
default: trueworkflows:
build:
when: << pipeline.parameters.run_workflow >>
jobs:
- buildOutcome
Builds are skipped: The tag is correctly placed in the first 250 characters.
Builds still run: You're in an unsupported scenario. Use pipeline parameters or conditional workflows instead.
Additional Notes
Only the latest commit message is checked when pushing multiple commits
Skipped pipelines won't appear on the pipelines page (GitHub App) or show as NOT RUN (GitHub OAuth/GitLab/Bitbucket)
The tag must be in the first 250 characters
Additional Resources
Skip CI and Cancel Workflows - Complete skip build documentation
Pipeline Parameters - Using parameters in configuration
Conditional Workflows - Controlling workflow execution