Lesstep
GitLab · CI/CD pipeline variables · pipelines and jobs API · Checked October 24, 2026

GitLab: "Insufficient permissions to set pipeline variables"

Pipeline variables are the variables given when a pipeline is started: in the Run pipeline form, through the pipelines or triggers API, in a pipeline schedule, with push options, or by a trigger job for another project's pipeline. Since GitLab 17.1 a project can limit who may use them, under Settings > CI/CD > Variables > Minimum role to use pipeline variables (GitLab's documentation). Below that role, a new pipeline with variables is refused. All of this is from GitLab's source (lib/gitlab/ci/pipeline/chain/build/associations.rb, app/services/ci/play_build_service.rb, app/models/project_ci_cd_setting.rb), read on October 24, 2026:

HTTP/1.1 400 Bad Request

{"message":{"base":["Insufficient permissions to set pipeline variables"]}}

The setting

The setting does not touch the CI/CD variables of the project or group, or variables in .gitlab-ci.yml. Child pipelines in the same project are not restricted either.

Where it shows

What to do

GitLab pipelines in IntelliJ IDEA

Pipeline Inbox for GitLab CI, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, lists your GitLab projects' pipelines with their jobs and logs, and with Pro runs new pipelines and manual jobs with variables. Its Run Pipeline dialog fills in the variables .gitlab-ci.yml offers, as GitLab's own form does, and when GitLab refuses, it stays open with GitLab's reason. From version 1.0.17, where your role may not use pipeline variables, it starts the pipeline without the offered variables you left unchanged, as GitLab's own form does (the pipeline still gets their values from .gitlab-ci.yml); if you changed them, or gave variables to a manual job, it names the Minimum role to use pipeline variables setting. Before, it sent the offered variables anyway, so GitLab refused until you removed them all. Reading is free; retrying, cancelling and running are Pro (US$1.50 a month, with a 30-day trial).

GITLAB is a trademark of GitLab Inc.; IntelliJ IDEA is a trademark of JetBrains s.r.o. This page is not affiliated with or endorsed by GitLab Inc. or JetBrains.

More: GitLab pipeline or job refused (400, 403, 409, 429) · GitLab job log refused or empty (403, 404) · GitLab "insufficient_scope" · GitLab 401 "invalid_token" · GitLab 404 "Group Not Found" · GitLab pipeline plugins for IntelliJ IDEA, compared · 日本語