Linearis v2025.11.2

Yesterday, I released Linearis v2025.11.2, a new version of my CLI tool1 that lets you (and your LLM) work with the very good project management and ticketing system, Linear2. The headliner features for this update are:

  • support for cycles3
  • support for project milestones4
  • issues now specify their sub-issues and parents

Shout-out to @ryanrozich for the patch that added both cycles and project milestones. 🀘🏼

Also, I’m happy to announce that the tool is now a standard npm package, meaning that it’s installable with a simple npm install -g linearis call. (Up until now, you could only install it directly from the GitHub repo, but that brought some issues with updating.)

And ICYMI: the previous update, v2025.11.1, added support for downloading screenshots and documents that are embedded in a ticket description or a comment. So now your agent of choice gets to look everything! For example, to read one of my test tickets, it’d do this:

❯ linearis issues read ZCO-1569
{
  "id": "de732438-8ae2-4f9e-95a9-85a614b04816",
  "identifier": "ZCO-1569",
  "title": "File embed testing grounds",
  "description": "The Earth was small, light blue, and so touchingly alone, our home that must be defended like a holy relic. The Earth was absolutely round. I believe I never knew what the word round meant until I saw Earth from space.\n\nThe dreams of yesterday are the hopes of today and the reality of tomorrow.\n\n![Confident Man and Futuristic Car.png](https://uploads.linear.app/7df2165d-5920-4338-950f-f2b7152a3c02/8a8adc83-0609-4bb7-9c2d-6450bd2e20a5/db4145e5-6499-45cd-b35c-9aa621bfde51?signature=<signature_omitted>)\n\nIt suddenly struck me that that tiny pea, pretty and blue, was the Earth. I put up my thumb and shut one eye, and my thumb blotted out the planet Earth. I didn't feel like a giant. I felt very, very small.\n\n![i-swear-to-god-connor.gif](https://uploads.linear.app/7df2165d-5920-4338-950f-f2b7152a3c02/571bf0bf-3586-4f92-9427-a88c13d3c7e4/00d4a028-2053-452c-8da4-a55930943868?signature=<signature_omitted>)",
  "embeds": [
    {
      "label": "Confident Man and Futuristic Car.png",
      "url": "https://uploads.linear.app/7df2165d-5920-4338-950f-f2b7152a3c02/8a8adc83-0609-4bb7-9c2d-6450bd2e20a5/db4145e5-6499-45cd-b35c-9aa621bfde51?signature=<signature_omitted>",
      "expiresAt": "2025-11-12T14:19:59.963Z"
    },
    {
      "label": "i-swear-to-god-connor.gif",
      "url": "https://uploads.linear.app/7df2165d-5920-4338-950f-f2b7152a3c02/571bf0bf-3586-4f92-9427-a88c13d3c7e4/00d4a028-2053-452c-8da4-a55930943868?signature=<signature_omitted>",
      "expiresAt": "2025-11-12T14:19:59.963Z"
    }
  ],
  "state": {
    "id": "0d744059-bc97-4dc2-82d0-5bac53673c26",
    "name": "Done"
  },
  "assignee": {
    "id": "cef0517b-cd50-48d9-80d6-8ad34007458a",
    "name": "Carlo Zottmann"
  },
  "team": {
    "id": "413e044c-d008-4bcb-b48d-1ef45ada89f4",
    "key": "ZCO",
    "name": "ZCo"
  },
  "project": {
    "id": "904984cc-eb35-4e4d-9caf-aa21f9f7daa7",
    "name": "Linearis"
  },
  "cycle": {
    "id": "bbde6b5b-c5fe-4319-9bbc-9081746e6660",
    "name": null,
    "number": 110
  },
  "projectMilestone": {
    "id": "38cb29af-af9e-493c-b935-205b31396a4b",
    "name": "2025.11.1",
    "targetDate": "2025-11-06"
  },
  "priority": 0,
  "labels": [],
  "parentIssue": {
    "id": "d2d0ad4d-8ad6-4e6d-8ab0-cb9b748d21e8",
    "identifier": "ZCO-1441",
    "title": "Implement Linear API File Download Capabilities"
  },
  "subIssues": [],
  "comments": [],
  "createdAt": "2025-11-06T16:09:46.447Z",
  "updatedAt": "2025-11-09T18:45:35.964Z"
}

What’s great about that is that e.g. Claude is clever enough to understand that result without any further explanations. For me, that means that I had to teach Claude four things:

  1. My ticket IDs sport the prefix “ZCO-”.
  2. Use linearis to work with tickets.
  3. Before doing that, run linearis usage once to learn how to use it.
  4. If you come across embeds, fetch and read them as well.

And that’s it. The output is structured enough, and Claude knows how to extract what it needs and how to look up anything else related to that ticket using linearis!

No MCP server eating 16k tokens at rest, just a CLI tool. (I recommend that approach in general.)


  1. Earlier announcement blog post here. ↩︎

  2. Linear – Plan and build products ↩︎

  3. Cycles – Linear Docs ↩︎

  4. Project milestones – Linear Docs ↩︎

Carlo Zottmann @czottmann

πŸ‘‹πŸΌ Oh hello!

Sorry to be a bother, but did you know I make quite useful Shortcuts-related macOS & iOS apps?

Check them out!