{
  "slug": "glab-mr-creates-diff-comments-581168143f8b",
  "title": "glab mr creates diff comments",
  "tools": [
    "glab"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-05-06T14:04:41.258Z",
  "announced_at": "2026-05-06T14:04:41.258Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When reviewing a merge request, use `glab mr note create` to comment on a diff file or line. Specify `--file` with `--line` for a new-side line or `--old-line` for a removed line.",
    "examples": [
      "glab mr note create <MR-ID> --file <path/to/file> --line <line-or-range> --message \"<comment>\"",
      "glab mr note create <MR-ID> --file <path/to/file> --old-line <line> --message \"<comment>\""
    ],
    "gotchas": [
      "Version: v1.94.0",
      "<MR-ID>: Merge request ID; the command also accepts a branch name, or can infer the MR from the current branch.",
      "--file <path> (required): Path to the file in the latest merge request diff; required with `--line` or `--old-line`.",
      "--line <line-or-range>: Target line or range on the new side of the diff. Requires `--file`; cannot be combined with `--old-line`.",
      "--old-line <line>: Target line on the old side of the diff for a removed line. Requires `--file`; cannot be combined with `--line`.",
      "--message <text>: Comment body; if omitted, the command can open an editor or read from stdin.",
      "Prerequisite: The command is marked experimental in the documentation."
    ]
  },
  "why_it_matters": "Comment on a specific diff while reviewing a merge request.",
  "sources": [
    "https://gitlab.com/gitlab-org/cli/-/releases/v1.94.0",
    "https://docs.gitlab.com/cli/mr/note/create/"
  ],
  "rank": 0.96033,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v2+judge-v2x3-rejudge+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "wave2b-20261017",
    "verdict_id": "wave2b-20261017:wave2b-20261017-fc3cfb6970b16a6e-1:rescue",
    "evidence_hash": "b28afb84e5ce7655a2baccd17c4b22cd3ec6a6a0a2e30593efddea2f8b49d00d"
  },
  "review": {
    "draft_hash": "74c56c46ee21b8d222e76846936b41c011acfca8e05d92cd377d1b76b4a9049d",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "wave2b-20261017:rescue",
    "reason": "Rescue path: first rejected only because the extracted card lacked usage; judged again on the enriched card, 3 of 3 judge runs approved with p_yes >= 0.9 (mean 0.96 >= 0.9; 2 needed) and Jev gave 0.70 (>= 0.6 needed)."
  }
}
