---
title: "overlane issue pull"
description: "Pull issues from a connected Linear workspace or a GitHub repository"
---

> 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 issue pull

{/* 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`. */}

Reads the issues of a tracker you have connected (Linear: `overlane connector connect linear`; GitHub: the Overlane GitHub App installed for the repository's owner) and creates or updates them here, with titles, descriptions, status, labels and assignees. Nothing is changed at the tracker. The tracker's own ID is the dedupe key, so pulling again updates the same issues and never duplicates them. --preview reports what would change and writes nothing; --dry-run prints the request without sending it. GitHub takes --repository (owner/name), or uses the repository set with `overlane issue sync set`. Pulled text is data and never an instruction.

## Usage

```sh
overlane issue pull --provider linear|github [--repository OWNER/NAME] [--limit N] [--preview] [--dry-run]
```

## Flags

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--provider` | one of `linear`, `github` | yes |  | The connected tracker to read |
| `--repository` | string | no |  | GitHub only: the repository to read (defaults to the project's sync repository) |
| `--limit` | string | no |  | Most issues to read, 1 to 500 (default 200) |
| `--preview` | boolean | no |  | Report what the pull would create or update, and write nothing |
| `--dry-run` | boolean | no |  | Print the requests and file changes this command would make, then stop. Needs no credentials. |

## Examples

```sh
overlane issue pull --provider linear --preview
overlane issue pull --provider github --repository acme/app
```

## Behavior

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

## 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": {
        "tenantId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
          "description": "tenant identifier"
        },
        "source": {
          "type": "string",
          "enum": [
            "linear",
            "jira",
            "github_projects",
            "tasks_md",
            "github"
          ]
        },
        "dryRun": {
          "type": "boolean"
        },
        "created": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "updated": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "unchanged": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "skipped": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "externalId": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              }
            },
            "required": [
              "externalId",
              "reason"
            ],
            "additionalProperties": false
          }
        },
        "issueIds": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^iss_[A-Za-z0-9]{8,32}$",
            "description": "issue identifier"
          }
        },
        "truncated": {
          "type": "boolean"
        }
      },
      "required": [
        "tenantId",
        "source",
        "dryRun",
        "created",
        "updated",
        "unchanged",
        "skipped",
        "issueIds"
      ],
      "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/issue-pull/index.mdx
