Linear
Connect Linear, send customer request groups as issues, and track or unlink those issues from the Inbox.
What Cactus reads
Cactus reads the titles and states of issues linked to requests you send from Cactus, plus search results you request while sending a request. It writes only the issues your team chooses to send.
Connecting asks Linear for read access and permission to create issues and their attachments.
Manage Linear
Connect Linear
Sign in to Cactus. In Connect › Linear, select Connect. Linear opens its consent screen.
Ask a Linear workspace admin to authorize and install Cactus. Linear shows its consent screen each time you start a connection.
Return to Cactus. You’ll land on the page where you started the connection.
Cactus asks for read access and permission to create issues and their attachments. A connection attempt expires after 10 minutes if it doesn’t complete.
During product setup, Connect Linear starts the connection and Not now skips this optional step. While Linear opens, the button reads Opening Linear….
The setup step is called Requests to Linear. When you finish, Cactus shows the connected workspace, or marks the step skipped if you pass without connecting.
On the Home setup list, Change opens the Linear page. On the Connect overview, Linear appears in the handoffs group when it’s available.
On Connect › Linear, the Linear row shows the connected workspace and destination for new issues. If no destination team is shown, the subtitle reads Feature requests and bugs, sent as issues.
If the page says Linear is not available yet., Linear isn’t available for this deployment and the Connect action isn’t offered.
Choose a team
In Connect › Linear, open the workspace-name badge and choose a team under New issues go to. Your choice saves immediately.
During product setup, select Done to save the preselected first team.
The picker lists teams Cactus can see as [Team name] · [Team key]. During setup, the first team is preselected.
Done is unavailable while teams are being read and reads Saving… while the choice saves. If no team is selected, Done doesn’t save a team.
When a workspace has one team, Cactus selects it automatically on connection. With several teams, the connection doesn’t save a destination until you choose one. If the saved team can’t be matched to a current team, the row uses the workspace’s first team.
When you create an issue, Team starts with the product’s saved destination. You can choose another team for that issue alone. If your chosen team is no longer listed by Linear, Cactus shows Linear has no such team for Cactus to send to.
The Linear page shows the workspace name, its Linear address key, the destination team when available, and when it was connected. Multiple products can share a workspace connection. Connecting a product to a different workspace leaves its previous workspace; Cactus is removed from the old workspace only if no other product still uses it.
Disconnect Linear
In Connect › Linear, open the workspace-name badge and select Disconnect [Workspace name].
With reduced motion off, hold Hold to disconnect [Workspace name] to confirm. With reduced motion on, press once to reveal Confirm: disconnect [Workspace name], then press again.
Cactus tells you it will stop sending to that workspace, while issues already sent stay linked. While disconnecting, the button reads Disconnecting…; if disconnecting fails, the button returns to its ready state.
Disconnecting removes this product’s Linear connection. Other products using the same workspace stay connected; if yours was the last product, Cactus is uninstalled from that workspace. Issues already sent remain linked to their request groups.
Send a request
When Linear is connected, you can send feature-request and bug-report groups from the Inbox. On a request row, Send appears on hover or keyboard focus. In an opened group, select Send to Linear. If Linear isn’t connected, Cactus opens a Linear isn’t connected prompt with Connect Linear.
Create an issue
Open a feature-request or bug-report group in the Inbox and select Send on its row, or Send to Linear in the opened group.
In New issue, edit the prefilled Title if you want.
Choose a Team for this issue if needed.
Open Preview to check the issue description.
Select Create issue. You can also press Command+Enter on a Mac or Ctrl+Enter on other computers while the panel has focus.
New issue is the default tab. The title starts with the request group’s title, and the team starts with the product’s saved destination. Create issue is disabled for a blank title and reads Creating… while the issue is sent. After a successful send, the panel closes and Cactus confirms the issue.
Attach to an existing issue
In the send panel, select Add to existing.
Search by words, an issue identifier such as ENG-142, or a Linear issue link.
Choose a result. You can use the arrow keys to move through results and press Enter to choose the highlighted issue.
Select Add to [Issue identifier].
If the search is empty, Cactus searches for issues matching the request group’s title in the chosen team. An identifier or link can find an issue in any team.
Results show each issue’s state icon, identifier, and title. When the group is already linked and the search is empty, its linked issue appears first.
If there are no matches, Cactus suggests trying the issue number or pasting its link. Add is disabled until you choose an issue and reads Adding… while the link is saved. A successful link closes the panel.
Issue details
The preview shows the request title, its summary when that adds information, how many people asked, and the date of the first ask. It quotes up to three asks, with the asker’s name when known and the date asked.
The issue description includes the ask or latest asks in people’s own words, other ways the request was phrased, the product area when known, and a link back to the group in the Cactus Inbox. The link opens the feature-request or bug-report view that contains the group.
Linear also shows a request-group link titled Cactus · [Number of people] people asked, with Last asked [Date].
For one asker, the preview explains that the issue carries their ask in their own words and links back to it. For several askers, it explains that the latest asks are included and link back to all of them.
Cactus writes the issue and its attachments through the Cactus app, naming the sending teammate when provided. Issue creation uses the signed-in teammate’s name, or email if they have no name.
Avoid duplicate issues
Cactus keeps one active Linear issue linked to a request group. If the group is already linked, sending it again keeps that link instead of creating a duplicate. If Linear already has an issue with the group’s Cactus link, Cactus links the group to that issue instead of creating another.
After you unlink a group, a later send won’t automatically link it back to the issue you unlinked.
Track linked issues
In the Inbox, a linked issue shows its state icon and identifier. The Linear column appears on extra-large layouts and up. In an opened group, Open [Issue identifier] opens the issue in Linear in a new tab; you can also select the issue identifier in the table. Hover or focus the identifier to see the issue title and state. Hovering the icon or identifier also reveals the state name.
The icon shape distinguishes backlog, unstarted, started, completed, canceled, and triage states: a dashed ring, ring, partly filled ring, checked disc, crossed disc, and double-arrow disc, respectively.
A group with no linked issue has no issue identifier in the column. Its Send control appears on hover or keyboard focus.
Cactus refreshes a linked issue’s status when you open the request group. In other request views, it rereads a missing or stale status. If Linear isn’t connected, the refresh is skipped.
Unlink removes the association in Cactus only; the Linear issue stays unchanged. You can undo an unlink during the 4-second undo window.
If Linear doesn't respond
| What you see | What it means | What to do |
|---|---|---|
| Linear isn’t connected | The product has no connection, or Linear refused its connection token. | Reconnect Linear in Connect › Linear. If Linear refuses a workspace token, products using that workspace are disconnected. |
| Linear is not available yet. | Linear isn’t available on this deployment. | The Connect action isn’t offered. |
| No issue matches | The search found no issue in the team. | Try the issue number or paste its link. |
| Linear didn’t take it. Try again. | Linear didn’t answer a search or send. | Try again. |
| Cactus could not save that team. Try again. | Saving the destination team failed during setup. | Choose the team again. |
| Linear has no such issue. | The selected issue couldn’t be found in Linear. | Search again and choose an issue that appears in the results. |
| Linear has no such team for Cactus to send to. | The selected team isn’t among the teams Linear currently lists. | Choose a listed team. |
| Product not found | The signed-in person can’t access that product. | Open a product you can access, then connect Linear there. |
| Request group not found | The group is missing or dismissed. | Send an active request group. |
| A Linear connection attempt returns failed or expired | The connection didn’t complete, or it expired before Linear returned. | Start the connection again from Connect › Linear. |
Limits and defaults
| What it is | Value | Who it holds for | When it holds |
|---|---|---|---|
| Destination selected on connection | A workspace with one team selects it automatically; with several teams, choose a destination. The setup picker starts with the first team selected. | Product teams connecting Linear | On connection and during product setup |
| Default team for a new issue | The product’s saved destination team; you can change it for that issue. | Teammates sending a request | When the new-issue form opens |
| Empty issue search | Searches for the request group’s title in the chosen team. | Teammates attaching an existing issue | When the search box is empty |
| Issue search text | Up to 500 characters. | Teammates attaching an existing issue | When searching Linear issues |
| New issue title | 1 to 500 characters. | Teammates creating a new issue | When creating an issue |
| Asks included in the preview and issue description | Up to the latest 3 asks. | Teammates sending a request | When the group has asks |
| Singular ask wording | 1 asker is called a person; multiple askers are called people. | Teammates previewing or sending a request | When the asker count is shown |
| Search shortcut | Command+Enter on Mac; Ctrl+Enter on other computers. | Teammates creating a new issue | While the send panel has focus |
| Connect attempt | Expires after 10 minutes if it doesn’t complete. | Teammates connecting Linear | During the Linear connection flow |
| Disconnect confirmation | Hold for 1.2 seconds; with reduced motion, confirm with a second press. | Teammates disconnecting Linear | When confirming disconnection |
| Send notice | Shows for 5 seconds unless the pointer rests on it. | Teammates after a successful send | After creating or attaching an issue |
| Unlink undo | 4 seconds. | Teammates unlinking a request group | After selecting Unlink |
| Linked issue status | Stored status is reread when the group opens; otherwise it’s reread when older than 10 minutes. | Teammates viewing request groups | While a group has a linked issue |