A Linear migration is mostly an exercise in limits. Linear caps how many issues one export can hold, Kavanah caps how many rows one import can take, and neither carries every structure Linear has. None of that is hard once it is planned. This guide walks through the export, the import, and the short list of things you rebuild by hand.
1. Export From Linear, as an Admin
Linear's issue CSV carries the ID, team, title, description, status, estimate, priority, project, creator, assignee, labels, cycle details, key dates, due date, parent issue, initiatives, project milestone and SLA status. A member can export at most 250 issues at a time from a view, and an admin up to 2,000; on Enterprise, only owners get the higher limit. Admins can also export all issue data from Settings, Administration, Import Export, with a download link that expires after 12 hours. Guests cannot export issues, and attachment files are not included, though links may appear in descriptions.
2. Split the Files to Fit
Kavanah's CSV import takes up to 1,000 rows at a time, so split anything larger, one file per Linear team or project usually works. Kavanah reads the columns Linear's export documents for title, description, status, priority, assignee, labels and due date. Only the first label is kept. Estimates, cycles, projects, parent issues, initiatives, milestones and the issue identifier are not imported.
3. Import Each File as a Project
Invite your team before the import, with the names or emails they use in Linear, because assignees are matched to members by name or email. Then send each CSV to the task import API with a project name, from a script or the kvn command line, and each Linear status becomes its own column on the new board. For a small file you can attach it in chat and ask the agent to import it. Read the import report, invite anyone whose name matched no member, and reassign.
4. Rebuild What a CSV Does Not Carry
Rename the project's key prefix, recreate the open sprint, and re-estimate open work in hours. Recreate parent issues as parent tasks with sub-tasks, and add the dependencies that matter (blocked by / blocks). Install the GitHub App and ask developers to reference tasks as fixes #123: Linear identifiers in old pull request titles will not link to Kavanah tasks.
5. Keep Linear as the Archive
Comments, attachments and history stay in Linear, so keep the full export and keep the workspace readable for a period you choose. Linear notes that every workspace export is recorded in its audit log. There is no Linear connector or sync in Kavanah, so plan the cut-over as a one-time move per team rather than a gradual mirror.
Plan the export around Linear's limits, the import around Kavanah's, and the rebuild around what your team actually uses. For a dated comparison of Kavanah, Linear, Jira and ClickUp, see our Linear alternative page.



