---
next_cursor: eyJzY29yZSI6MCwic2VxIjoxODI5LCJzaW5jZSI6bnVsbCwidG9vbCI6ImdsYWIiLCJ2IjoxfQ
has_more: true
next: https://sincecutoff.com/v1/changes.md?tool=glab&score=0&cursor=eyJzY29yZSI6MCwic2VxIjoxODI5LCJzaW5jZSI6bnVsbCwidG9vbCI6ImdsYWIiLCJ2IjoxfQ
items: 10
---
# sincecutoff.com changes: glab

## glab adds a command to assign a project to a runner (glab, 2026-03-04)
Published 2026-10-19
- slug: glab-adds-a-command-to-assign-a-project-to-a-runner-cd695d6d3200
- score: 0.90

How to use it:

When maintaining CI runner configuration, assign the runner to the project with `glab runner assign <runner-id>`. Specify `-R <owner>/<repo>` when the target project is not the current repository.

Examples:

```
glab runner assign <runner-id>
```

```
glab runner assign <runner-id> -R <owner>/<repo>
```

- why_it_matters: Assign a project to a runner when maintaining its CI runner configuration.
- sources: <https://gitlab.com/gitlab-org/cli/-/releases/v1.88.0>, <https://docs.gitlab.com/cli/runner/assign/>
- gotchas: "Version: v1.88.0"; "<runner-id> (required): Runner ID to assign."; "-R, --repo <repository>: Select another repository; accepts OWNER/REPO, GROUP/NAMESPACE/REPO, a full URL, or a Git URL."; "Prerequisite: Requires the Maintainer or Owner role for the project."

## glab adds a command to unassign a runner from a project (glab, 2026-03-04)
Published 2026-10-19
- slug: glab-adds-a-command-to-unassign-a-runner-from-a-project-78aba57fb82f
- score: 0.97

How to use it:

When maintaining a project’s CI runner configuration, use `glab runner unassign` with the runner ID; use `-R` to select a different repository. You need the project’s Maintainer or Owner role, and cannot unassign a runner from its owner project.

Examples:

```
glab runner unassign <runner-id>
```

```
glab runner unassign <runner-id> -R <owner>/<repo>
```

- why_it_matters: Unassign a runner from a project when maintaining its CI runner configuration.
- sources: <https://gitlab.com/gitlab-org/cli/-/releases/v1.88.0>, <https://docs.gitlab.com/cli/runner/unassign/>
- gotchas: "Version: v1.88.0"; "<runner-id> (required): ID of the runner to unassign."; "-R, --repo <repository>: Select another repository. Accepts OWNER/REPO, GROUP/NAMESPACE/REPO, a full URL, or a Git URL."; "Prerequisite: Requires the Maintainer or Owner role for the project."; "Prerequisite: Cannot unassign a runner from its owner project; use `glab runner delete` instead."

## glab stack sync adds --update-base (glab, 2026-03-05)
Published 2026-10-19
- slug: glab-stack-sync-adds-update-base-44cf2c183b82
- score: 0.91

How to use it:

When a stack needs rebasing onto the latest base branch, run `glab stack sync --update-base`. It rebases the stack onto that branch; sync then force-pushes the stack branches unless `--skip-push` is set.

Examples:

```
glab stack sync --update-base
```

- why_it_matters: Rebase a stack onto an updated base branch.
- sources: <https://gitlab.com/gitlab-org/cli/-/releases/v1.89.0>, <https://gitlab.com/gitlab-org/cli/-/blob/remove-mcp-serve-command/docs/source/stack/sync.md>
- gotchas: "Version: v1.89.0"; "--update-base: Rebase the stack onto the latest version of the base branch."

## glab adds a command to check job status by runner (glab, 2026-03-23)
Published 2026-10-19
- slug: glab-adds-a-command-to-check-job-status-by-runner-f901223018f0
- score: 0.94

How to use it:

When investigating CI jobs for a runner, use `glab runner jobs <runner-id>` to list its jobs; add `--status <status>` to filter by status.

Examples:

```
glab runner jobs <runner-id> --status running
```

- why_it_matters: Check job status by runner while investigating a repository's CI workflow.
- sources: <https://gitlab.com/gitlab-org/cli/-/releases/v1.90.0>, <https://docs.gitlab.com/ja-jp/cli/runner/jobs/>
- gotchas: "Version: v1.90.0"; "<runner-id> (required): Runner whose processed jobs to list."; "--status <status>: Filter by `running`, `success`, `failed`, or `canceled`."; "Prerequisite: Requires the Maintainer or Owner role for the project."

## glab mr adds a note list subcommand (glab, 2026-03-23)
Published 2026-10-19
- slug: glab-mr-adds-a-note-list-subcommand-acc8c601520b
- score: 0.97

How to use it:

When reviewing or maintaining a repository change, list discussions on the merge request with `glab mr note list`; optionally select an MR or branch and filter by type, resolution state, or file path.

Examples:

```
glab mr note list [<id> | <branch>] [flags]
```

```
glab mr note list <id> --type diff --state unresolved --file <path>
```

```
glab mr note list <id> -F json
```

- why_it_matters: List notes on a merge request while reviewing or maintaining a repository change.
- sources: <https://gitlab.com/gitlab-org/cli/-/releases/v1.90.0>, <https://docs.gitlab.com/cli/mr/note/list/>, <https://docs.gitlab.com/cli/auth/login/>
- gotchas: "Version: v1.90.0"; "<id> | <branch>: Select a merge request by ID or branch; omitted to use the current branch's MR."; "--file <path>: Show only diff notes on this file path."; "-F, --output <format>: Output format: `text` or `json`; default `text`."; "--state <state>: Resolution filter: `all`, `resolved`, or `unresolved`; default `all`."; "-t, --type <type>: Note type filter: `all`, `general`, `diff`, or `system`; default `all`."; "-R, --repo <owner/repo>: Select another repository; accepts `OWNER/REPO`, `GROUP/NAMESPACE/REPO`, a full URL, or Git URL."; "Prerequisite: The command is marked experimental in the documentation."; "Prerequisite: Authenticate glab with the GitLab instance before running commands; the CLI uses stored credentials after authentication."

## glab mr adds note resolve and reopen subcommands (glab, 2026-03-23)
Published 2026-10-19
- slug: glab-mr-adds-note-resolve-and-reopen-subcommands-03aa7424ac4e
- score: 0.97

How to use it:

When a review discussion needs a state change, run `glab mr note resolve` to resolve it or `glab mr note reopen` to reopen it, supplying the discussion or note ID and optionally the merge request ID or branch. The command is experimental.

Examples:

```
glab mr note resolve [<id> | <branch>] <discussion-id>
```

```
glab mr note reopen [<id> | <branch>] <discussion-id>
```

- why_it_matters: Resolve or reopen a merge request note while reviewing a repository change.
- sources: <https://gitlab.com/gitlab-org/cli/-/releases/v1.90.0>, <https://docs.gitlab.com/cli/mr/note/resolve/>, <https://docs.gitlab.com/cli/mr/note/reopen/>
- gotchas: "Version: v1.90.0"; "[<id> | <branch>]: Merge request ID or branch; omitted to use the current branch's merge request. When using `-R`, the merge request is required."; "<discussion-id> (required): Full 40-character discussion ID, 8+ character prefix, or integer note ID; a note ID resolves to its parent discussion."; "-R, --repo: Select another repository by OWNER/REPO, GROUP/NAMESPACE/REPO, URL, or Git URL."; "Prerequisite: Requires `glab` set up for GitLab access; the command is marked experimental and may be unstable or removed."; "Docs conflict: The release note says `reopen`; the earlier feature merge request calls the subcommand `unresolve`. Current official docs document `reopen`, consistent with the release note."

## glab api supports multipart/form-data with --form (glab, 2026-04-01)
Published 2026-10-19
- slug: glab-api-supports-multipart-form-data-with-form-2c8df36aced3
- score: 0.96

How to use it:

When an API endpoint requires multipart/form-data, use `glab api` with `--form` fields; file values use `@<path>`.

Examples:

```
glab api --method POST projects/:fullpath/wikis/attachments --form "file=@./image.png" --form "branch=main"
```

- why_it_matters: Send multipart form data to a GitLab API endpoint while working with a repository.
- sources: <https://gitlab.com/gitlab-org/cli/-/releases/v1.91.0>, <https://docs.gitlab.com/cli/api/>, <https://docs.gitlab.com/cli/>
- gotchas: "Version: v1.91.0"; "--method <method>: HTTP method; defaults to GET without parameters and POST when parameters are added. The example specifies POST."; "<endpoint> (required): GitLab API v4 endpoint path, or `graphql`; `:fullpath` expands to the current repository's full path."; "--form <key=value> (required): Add a multipart form field; repeat for additional fields. Changes the default HTTP method to POST. Prefix a file value with `@` and its path; use `@-` for stdin at most once. Do not combine with `--field`, `--raw-field`, or `--input`."; "Prerequisite: Authenticate `glab` with GitLab; in a Git directory, the command uses that directory's authenticated host."

## glab issue create and glab mr create accept --template (glab, 2026-04-23)
Published 2026-10-19
- slug: glab-issue-create-and-glab-mr-create-accept-template-e5aff430e82a
- score: 0.96

How to use it:

When creating an issue or merge request from a local repository and you want to pre-populate its description from a template, pass `--template <template>` to the matching create command. Use a template name or path; local repository templates are read from the corresponding `.gitlab` template directory.

Examples:

```
glab issue create -t "<title>" --template <template>
```

```
glab mr create -t "<title>" --template <template>
```

- why_it_matters: Create an issue or merge request using a repository template.
- sources: <https://gitlab.com/gitlab-org/cli/-/releases/v1.93.0>, <https://docs.gitlab.com/cli/issue/create/>, <https://docs.gitlab.com/cli/mr/create/>, <https://gitlab.com/gitlab-org/cli/-/merge_requests/3144>, <https://docs.gitlab.com/cli/authentication/>
- gotchas: "Version: v1.93.0"; "--template <template>: Pre-populates the description. For issues, a template name is looked up in `.gitlab/issue_templates/`; for merge requests, in `.gitlab/merge_request_templates/`. The `.md` extension is optional. An absolute path or value containing a path separator is read as a file path."; "-t, --title <title>: Supplies the issue or merge request title; the examples combine it with `--template`."; "Prerequisite: Templates are loaded from the local repository; remote repository templates are not supported."; "Prerequisite: Authenticate with the GitLab instance before running authenticated commands. The docs list personal access tokens with `api` and `write_repository` scopes as one authentication option."

## glab mr note create adds discussion-based notes (glab, 2026-04-23)
Published 2026-10-19
- slug: glab-mr-note-create-adds-discussion-based-notes-7d347adf6fe2
- score: 0.95

How to use it:

When reviewing a merge request from the command line, use `glab mr note create` to add a comment; it starts a new discussion thread by default.

Examples:

```
glab mr note create <MR-id-or-branch> -m "<comment>"
```

- why_it_matters: Add a discussion-based note while reviewing a merge request from the command line.
- sources: <https://gitlab.com/gitlab-org/cli/-/releases/v1.93.0>, <https://docs.gitlab.com/cli/mr/note/create/>
- gotchas: "Version: v1.93.0"; "<MR-id-or-branch>: Merge request ID or branch; omit to use the current branch's merge request."; "-m, --message <text>: Comment text; without it, the command can open an editor or read the message from standard input."

## glab stack sync accepts --assignee (glab, 2026-04-23)
Published 2026-10-19
- slug: glab-stack-sync-accepts-assignee-f653fbd77e4e
- score: 0.94

How to use it:

When synchronizing a GitLab stack and assigning its merge requests, pass `--assignee` with one or more usernames to `glab stack sync`.

Examples:

```
glab stack sync --assignee <username>[,<username>...]
```

- why_it_matters: Synchronize a GitLab stack while assigning its associated work.
- sources: <https://gitlab.com/gitlab-org/cli/-/releases/v1.93.0>, <https://docs.gitlab.com/cli/stack/sync/>
- gotchas: "Version: v1.93.0"; "--assignee <usernames>: Assign merge requests to users by username. Multiple usernames can be comma-separated or supplied by repeating the flag."; "Prerequisite: `glab stack` is experimental."

Next: https://sincecutoff.com/v1/changes.md?tool=glab&score=0&cursor=eyJzY29yZSI6MCwic2VxIjoxODI5LCJzaW5jZSI6bnVsbCwidG9vbCI6ImdsYWIiLCJ2IjoxfQ
Save `next_cursor`; next visit, pass it to get only what was published since.
<!-- end of page -->
