---
title: "overlane claim conflicts"
description: "Check two branch heads for a merge conflict with git merge-tree, before either pull request merges"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.overlane.app/llms.txt
> Use this file to discover all available pages before exploring further.

# overlane claim conflicts

{/* Generated by apps/docs/scripts/generate.mjs (CLI pages from the command registry in packages/cli). Do not edit; run `pnpm --filter @overlane/docs gen`. */}

Runs `git merge-tree --write-tree` between two commits in this checkout, which merges them in memory and touches neither branch nor the working tree, and records the result so `claim readiness` can use it. With --all it checks every pair of open branches that has no check for its current heads. Exit 5 when a conflict is found. Needs git 2.38 or later; both commits must be present locally (fetch first).

## Usage

```sh
overlane claim conflicts [--a REF] [--b REF] [--all] [--no-record] [--dry-run]
```

## Flags

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--a` | string | no |  | First branch, tag or commit |
| `--b` | string | no |  | Second branch, tag or commit |
| `--all` | boolean | no |  | Check every open pair that has no check for its current heads |
| `--no-record` | boolean | no |  | Print the result without recording it (works offline) |
| `--dry-run` | boolean | no |  | Print the requests and file changes this command would make, then stop. Needs no credentials. |

## Examples

```sh
overlane claim conflicts --a feat/billing --b feat/review
overlane claim conflicts --all
```

## Behavior

- Effect: `write` (changes local or hosted state).
- Needs credentials: no. Uses the network: no.
- Supports `--dry-run`: yes. Accepts `--force`: no.
- Machine-readable description: `overlane schema claim conflicts`.

## Result

With `--json` (the default when stdout is not a terminal) the command prints this JSON Schema's shape on stdout.

```json
{
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "checks": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "a": {
                "type": "object",
                "properties": {
                  "ref": {
                    "type": "string"
                  },
                  "sha": {
                    "type": "string"
                  }
                },
                "required": [
                  "ref",
                  "sha"
                ],
                "additionalProperties": false
              },
              "b": {
                "type": "object",
                "properties": {
                  "ref": {
                    "type": "string"
                  },
                  "sha": {
                    "type": "string"
                  }
                },
                "required": [
                  "ref",
                  "sha"
                ],
                "additionalProperties": false
              },
              "result": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "clean",
                      "conflict",
                      "error"
                    ]
                  },
                  "treeOid": {
                    "type": "string",
                    "pattern": "^[0-9a-f]{40,64}$"
                  },
                  "files": {
                    "maxItems": 500,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "path": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 1000
                        },
                        "kind": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 80
                        }
                      },
                      "required": [
                        "path",
                        "kind"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "message": {
                    "type": "string",
                    "maxLength": 1000
                  }
                },
                "required": [
                  "status",
                  "files"
                ],
                "additionalProperties": false
              },
              "recorded": {
                "type": "boolean"
              }
            },
            "required": [
              "a",
              "b",
              "result",
              "recorded"
            ],
            "additionalProperties": false
          }
        },
        "conflicts": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "errors": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "checks",
        "conflicts",
        "errors"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "dryRun": {
          "type": "boolean",
          "const": true
        },
        "service": {
          "type": "string"
        },
        "requests": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "method": {
                "type": "string"
              },
              "path": {
                "type": "string"
              },
              "body": {},
              "note": {
                "type": "string"
              }
            },
            "required": [
              "method",
              "path"
            ],
            "additionalProperties": false
          }
        },
        "commands": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "writes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "path": {
                "type": "string"
              },
              "action": {
                "type": "string",
                "enum": [
                  "write",
                  "append",
                  "delete"
                ]
              },
              "description": {
                "type": "string"
              }
            },
            "required": [
              "path",
              "action",
              "description"
            ],
            "additionalProperties": false
          }
        },
        "notes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "dryRun",
        "requests",
        "commands",
        "writes",
        "notes"
      ],
      "additionalProperties": false
    }
  ]
}
```

See [exit codes](/cli/#exit-codes) for the status the process returns.

Source: https://docs.overlane.app/cli/claim-conflicts/index.mdx
