Linear bug tracking with the recording already attached

Today somebody pastes a link into Linear and retypes what happened; with this connected, the issue is created from the report itself, carrying the recording, the console errors and the network trace.

The retyping is the part that goes

The bug was already captured. Writing it into the issue a second time is the step nobody needed.

The usual round trip is a person reading a bug report in one window and typing it into Linear in another. They copy the page address, describe the browser from memory, summarise the error in their own words, and paste a link at the bottom that the engineer has to open before any of it makes sense.

Every hop loses something. The console line gets paraphrased, the window size never makes it across, and the issue that reaches the board is a description of evidence rather than the evidence itself. The engineer who picks it up asks for the missing half, and the bug waits another day for an answer that already existed.

Filing from the report removes the hop. The issue is created with the report's own details in the description - the link that opens the recording, the page it happened on, the browser it happened in and the first console error - so what lands on the board is what was captured, not somebody's retelling of it.

A shared report showing the reporter's note, the console output and the browser it was captured in

Three steps to file into Linear

Connect the workspace and pick the team

A team admin authorises the Linear workspace on Linear's own consent screen, chooses the team the issues should be filed into, and binds it to one of your domains or to all of them. There is nothing to install into Linear itself, and what the connector asks for is written out on the Linear card on the connectors page.

Capture the bug

Whoever hits the bug opens the side panel on the page that is misbehaving and records or screenshots it. The browser, the window size, the console output and the network log are gathered with it, so nobody has to remember them afterwards.

Press the button and the issue exists

Anybody looking at the report files it in one press, and the issue arrives on the board with the link, the page, the browser and the first console error already in the description.

What lands in Linear

The description the connector writes, as the board receives it.

What arrives
Creates an issue in the Linear team you chose, carrying the report and a link to it. Nothing is filed automatically: an issue is created only when somebody presses the button on a report.
What connecting takes
A team admin connects a Linear workspace, chooses the team to file into, and binds it to one of your domains or to all of them. Read access is used only to list your teams, and nothing there is edited, closed or deleted.
In the team
[Open report](https://session-replay.com/replays/8f3c1ab9d24e)

### What the reporter wrote

> The discount code applies but the total does not change.

- Page: https://shop.example.com/checkout
- Browser: Chrome 139
- Operating system: macOS 15.5
- Reported by: Anonymous
- Severity: Major

12 console lines · 34 requests, 1 failed

First error:
```
Uncaught TypeError: discount is null (cart.js:214)
```

Linear is one of several destinations a report can be sent to. What each of the others does with a report, and what connecting it takes, is on the connectors page.

What this does not do

The connector carries a report outward and stops there. So that you can judge it fairly before wiring it up:

  • Nothing is filed automatically. An issue exists only when somebody presses the button on a report, never because a report arrived.
  • The capture is never in the payload. The screen, the console output and the network log stay behind the link the issue carries, and the issue carries the details rather than the files.
  • A report's share link is public. Anyone holding it can open the report, so an issue carrying that link is handing it on.
  • Nothing is read back and nothing syncs. Closing the issue does not close the report, comments written on the issue do not come back, and read access is used only to list your teams.
  • There is no Linear app to install and nothing is added to your workspace. Connecting is a consent screen and a team to file into.
  • No always-on recording, and setup belongs to a team admin, once, for the whole team. Nothing is captured until somebody presses a button.

Questions teams ask before connecting Linear

The report's title becomes the issue title, and the description carries the link that opens the report, the page it happened on, the browser and operating system, who filed it and how severe they called it, how many console lines and requests were recorded, and the first console error. The recording, the full console output and the network log stay behind that link rather than travelling as attachments.

No. An issue exists only when somebody looking at a report presses the button on it. A report arriving never files anything, so a noisy week on a busy domain does not become a hundred issues nobody triaged.

A team admin authorises the workspace on Linear's own consent screen, and there is nothing to install into Linear itself. Read access is used only to list your teams so the setup screen can offer them; nothing in your workspace is edited, closed or deleted, and no issue that was not filed from a report is touched.

No, in either direction. Closing the issue does not close the report, and comments written on the issue do not come back. The report and the issue are two records that share a link, which is deliberate - there is no background job reconciling them and nothing changes on your board while you are not looking.

No. Capturing a bug and sharing the report needs no Linear account at either end. Filing the issue happens from the report inside Session Replay, so a seat matters only for the people who work the board afterwards.

Yes. A connection is bound either to one of your domains or to all of them, so a team running two products can send each one's reports to the team that owns it. The binding is part of the same setup screen that picks the team.

Stop retyping the bug into the issue

Capture the page once, connect the workspace once, and let the issue arrive on the board with the recording, the console and the browser already on it.