Guide7 min read

Import Linear issues into GitHub Projects

Import Linear issues into GitHub Projects with statuses, priorities and cycles: the field map, the manual CSV route, and what stays behind on the free tier.

By Published Updated

Last checked

Importing Linear issues into GitHub Projects means deciding where each Linear field lands, because GitHub splits the data in two: the issue lives in a repository, and planning fields such as status, priority and cycle live on a GitHub Project board. Do the mapping by hand through Linear's CSV export, or let an importer read Linear's API and write both halves. This guide gives the map, the manual route and what Gitsu's importer does, including what it leaves behind.

What does each Linear field become in GitHub?

Each Linear field becomes either part of the GitHub issue or a field on the project. This is the map Gitsu's importer applies (src/features/linear-import/linear-mapping.ts); a manual move can follow the same one.

LinearGitHubHow
Workflow statusStatus field on the project, the board's columnsMatched by name, then by meaning (Canceled finds Cancelled); a state with no match gets its own new option
Priority (Urgent, High, Medium, Low)Priority single-select fieldMatched to existing options by meaning; "No priority" stays empty
EstimateEstimate number fieldOptional
Due dateDue date date fieldOptional
CycleCycle single-select field, one option per cycleOptional
LabelsRepository labelsCreated in the repository with Linear's colour
CommentsIssue commentsOriginal date kept, Linear author named
Title, description, created date, done or canceledThe issue itselfDone and canceled issues are imported closed
AssigneeIssue assigneeWhen you map the Linear person to a GitHub login; otherwise named in the body
Parent issue, "blocks"Sub-issue and blocked-by linksBoth issues must be in the import
Linear projectA line in the issue bodyNot a milestone
Change historyA collapsed section in the bodyCut first if the body runs past GitHub's limit

Two choices here differ from what you might expect. Cycles come across as a single-select field, not GitHub's iteration field, so you can filter by cycle name but GitHub will not schedule them. Linear projects are written into each issue's body, so they are searchable, but no milestone is created.

How do you move Linear issues to GitHub by hand?

Export from Linear, set up the GitHub side, then create issues with the GitHub CLI or API.

  1. Export. In Linear, go to Settings > Administration > Import Export and choose Export data. Linear emails a download link that expires after 12 hours (Linear docs, checked 29 October 2026).
  2. Create the project and fields. Make a GitHub Project, rename its Status options to your Linear states, and add Priority, Estimate and Cycle fields as in the table above. If you prefer GitHub's iteration field for cycles, it can be any length and can include breaks (GitHub docs).
  3. Create the labels in each destination repository with the same names, since labels belong to one repository.
  4. Create the issues with gh issue create or the API, add each to the project and set its fields.
  5. Pilot one team first, and record a Linear ID to GitHub issue map so a rerun does not create duplicates.

Know what the CSV leaves out. Its columns cover ID, team, title, description, status, estimate, priority, project, creator, assignee, labels, cycle, dates and parent issue, but not comments, and the export does not include attachment files (Linear docs). Linear-hosted images in descriptions also open only for someone signed in to Linear, so a pasted description shows broken images on GitHub (src/features/linear-import/attachments.ts).

How do you import Linear issues with Gitsu?

Gitsu's web app has an importer that reads Linear's API and writes the issues, fields and comments for you. It runs in the browser only, not in the macOS app (src/routes/router.tsx):

  1. Open dash.gitsu.app/import/linear and sign in with GitHub.
  2. Connect your Linear workspace.
  3. Select a Linear team.
  4. Pick the destination repository and GitHub Project. GitHub's Issue Import API, which the importer uses, needs admin access to the repository.
  5. Check the mapping: status and priority options, and whether to bring estimates, due dates and cycles. Labels and comments always come across.
  6. Confirm and run. The run is paced to GitHub's limits and can be resumed if the tab closes.

The finished screen gives a report of what was imported, what was held for Pro and any links that pointed at issues outside the import.

The Gitsu app showing a GitHub project in a dense list, the board imported Linear issues land on

What stays behind on Free, and what does Pro bring?

On Free, Gitsu imports up to 50 Linear issues per GitHub account, and the files stay in Linear. The limits, all from the code:

  • 50 issues, once. The allowance is counted per GitHub account on the server, and an issue counts once GitHub accepts its import. A retry of the same issue does not count twice, and deleting the issue on GitHub does not give the import back (server/billing/linear-import-allowance.ts).
  • Which 50. A free run takes open issues, newest first by creation date, and brings each one's parent issues with it so no sub-issue lands orphaned (src/features/linear-import/linear-api.ts).
  • Images and attachments stay in Linear. Each file is replaced by a "kept in Linear" line pointing at the Linear URL.

Pro imports the rest of the team's issues and uploads the images and attachments to GitHub, including on the issues the free run already created: the lines that point to Linear are swapped for files hosted on GitHub (src/features/linear-import/pro-continuation.ts). The price is on the pricing page.

What do you lose moving from Linear to GitHub?

You lose Linear's planning layer, whichever way you import. Gitsu's August 2026 parity check of what people leaving Linear miss lists:

  • Cycle automation. Nothing rolls unfinished work into the next cycle or tracks velocity.
  • A triage inbox. A saved view of items with no Status is the nearest thing.
  • Initiatives. Nothing sits above projects.
  • Notifications in the tool. GitHub's notifications live on github.com and in email.

What you gain is one system: pull requests and issues share a repository, so Closes #42 closes the issue on merge with no integration. Linear's GitHub integration can also sync a team and a repository one way or both ways (Linear docs) if you want to run both for a cycle while you switch, but keeping two copies in step long term costs more than it saves. If your team plans in cycles and triages daily, Linear remains the better tool. If GitHub is not the only destination you are considering, the Linear alternatives comparison covers Plane, Shortcut, Jira and Zenhub.

Which route should you take?

Take the manual route if you want full control of a large, multi-team move and can write the ID map yourself. For one team, or to try GitHub before committing, open dash.gitsu.app/import/linear: the mapping above runs for you, comments and labels come across, and the first 50 issues cost nothing. Linear alternative for solo developers on GitHub covers whether a single GitHub board is enough for you.

How we checked

A field-by-field account of what Gitsu's Linear importer writes to GitHub, read from its mapping code (src/features/linear-import/linear-mapping.ts) and its free allowance (server/billing/linear-import-allowance.ts), set beside the manual route through Linear's CSV export.

Frequently asked questions

Can GitHub import Linear issues on its own?

No. GitHub has no Linear importer. You can export Linear issues to CSV and create GitHub issues with the GitHub CLI or API, or use a tool that reads Linear's API and writes to GitHub. Linear's GitHub integration syncs issues between a team and a repository, but that keeps both trackers running.

What happens to Linear cycles in GitHub?

GitHub has iteration fields, but Gitsu's importer brings cycles across as a single-select field named Cycle, with one option per cycle name. Nothing rolls unfinished work into the next cycle on GitHub.

Do Linear comments come across?

With Gitsu's importer, yes: every comment is imported with its original date and its Linear author's name. Linear's CSV export does not include comments, so a manual CSV move needs Linear's API for them.

How many Linear issues can I import into GitHub for free with Gitsu?

50 per GitHub account, counted once GitHub accepts each import, and deleting an issue later does not give the import back. A free run takes open issues, newest first, with their parent issues. Images and attachments stay in Linear on Free; Pro imports the rest of the team's issues and uploads the files to GitHub.

What happens to Linear projects?

Gitsu's importer writes the Linear project's name into each issue's body as a line reading Linear project, so it is searchable. It does not create GitHub milestones.

Try it on your own boardsGitsu opens your GitHub Projects boards in the browser. Sign in with GitHub and work on the same issues your team already uses.

Open the web app