Migrate from Linear to Weft
Bring your Linear issues to Weft — keyboard-native in, AI-native out.
Linear issues map cleanly onto Weft tasks. Cycles become sprints. Status becomes column. The migration is mostly a few minutes of export and a single Claude prompt — because Weft's MCP server is how you import in the first place.
1. Export from Linear
Open Linear ↗- 1Open Linear → Settings → Workspace → Export.
- 2Pick the team you want to migrate and select "CSV" as the format.
- 3Linear emails you a download link within a few minutes — download the CSV.
- 4Open the CSV in a spreadsheet or text editor to confirm the issues are the ones you want.
2. Map the concepts
Linear and Weft name the same things differently. Here is how they line up.
| Linear | Weft |
|---|---|
| Status: Backlog | Column: Backlog |
| Status: Todo | Column: Todo |
| Status: In Progress / In Review | Column: Doing |
| Status: Done / Canceled | Column: Done |
| Priority: No priority / Low / Medium / High / Urgent | Priority: none / low / medium / high / urgent |
| Cycle | Sprint Create one sprint per active/recent cycle, then attach tasks. |
| Labels | Task description prefix Weft does not have labels yet — surface them as "[label]" at the start of the description. |
| Estimate (points) | estimateMinutes Pick a conversion that matches your team (e.g. 1 point = 60 minutes). |
| Assignee | Assignee (workspace member) The CSV importer matches assignees to workspace members by name; unmatched names stay unassigned. |
3. Import using your AI
Weft does not need a separate import script — because the MCP server is the import path. Paste your export into Claude, Cursor, Codex, or ChatGPT (after connecting Weft via one of the setup guides), and ask the AI to create the tasks for you. It uses the real create_task, create_sprint, and move_task tools.
Here is a CSV export from Linear. Create each row as a Weft task. Map the status column to Weft columns (Backlog / Todo / Doing / Done), priority to Weft priority, and create one sprint per cycle before attaching tasks. Keep the original Linear issue ID in each task description as "Linear: ABC-123" so we can cross-reference later.
No AI connected yet? Use the built-in CSV importer — upload the export, map the columns, and the whole batch lands in one transaction. (AI clients get the same power via the bulk_create_tasks tool: the entire import in a single call.)
Prefer a hands-on migration? Contact support with your export and we will do it for you while Weft is early. No charge.
What does not transfer
- Attachments do not transfer — if a task has files in Linear, add a link in the description.
- Comments do not transfer — paste the most important thread into the task description.
- Subtasks become individual tasks in Weft with the parent referenced in the description.
- Linear GitHub/GitLab links stay in Linear — Weft does not integrate with issues yet.
Still deciding if Linear is the right tool to leave?
Read the honest side-by-side — when Linear wins, when Weft does. We do not run hit pieces; if Linear is better for your shape of team, we will say so.
Start fresh, but bring your work.
Free for 50 tasks — usually enough to test whether Weft fits how you ship.
Moving data from Linear? We can help — contact support.