This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Linear Bulk Issue Label Assigner

Productivity · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — try it free, no account needed.
CategoryProductivity
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Linear Bulk Issue Label Assigner is a project management productivity tool that streamlines the process of assigning labels to multiple Linear issues. Instead of manually opening each issue, clicking the label field, typing label names, and saving—a process that can be repetitive and time-consuming when managing many issues—this script automates the entire workflow. It scans the current Linear project or issues list view, identifies all visible issues with their titles, IDs, and existing labels, and presents them as a scrollable checklist. You can select individual issues, use Select All/Deselect All toggles, choose one or more labels (comma-separated), toggle between append mode (adding labels to existing ones) and replace mode (overwriting all labels), and assign your selections to issues in configurable batches. The tool handles the complete interaction sequence: opening the label input or edit interface, entering the labels, and saving the changes. Real-time progress updates show how many issues have been updated, and the list automatically refreshes after completion. This is ideal for engineering managers, project leads, and anyone who needs to categorize or re-label issues efficiently.

WHERE IT RUNS

This script operates exclusively on Linear (*.linear.app/*) as a userscript injected through the BotGentz extension. It runs within the context of your current browser tab and cannot access other tabs, bookmarks, history, or downloads. The script reads the page DOM to identify issue items using Linear's selectors (.issue-row, .list-item, .issue-card), extracts issue metadata (titles, IDs, current labels), and interacts with Linear's native UI controls—label inputs, edit buttons, and save mechanisms—to perform label assignments. All operations occur locally in your browser; no data is sent to external servers.

HOW TO USE

1. Navigate to any Linear project or issues list view showing issues.

2. Click the BotGentz extension icon and select "Linear Bulk Issue Label Assigner" from the script list.

3. The panel opens on the right side of the page. It automatically scans the current page for issues.

4. Review the displayed issues, showing title, issue ID, and existing labels (if any).

5. Enter the labels you want to assign in the "Labels to assign" field (comma-separated, e.g., "bug,feature,enhancement").

6. Toggle "Append labels (keep existing)" to add labels to existing ones, or turn it off to replace all labels.

7. Adjust the "Batch size" number (default 3) to control how many issues are processed per batch.

8. Toggle "Confirm before each batch" if you want a confirmation popup before each batch executes.

9. Check the boxes next to issues you wish to update. Use "Select All" or "Deselect All" for quick selection.

10. Click "Assign Labels" to begin. The script processes issues in batches, shows progress, and handles errors.

11. After completion, the issue list automatically refreshes showing your updated labels.

WHY IT WORKS WHERE OTHERS FAIL

Many Linear automation tools fail because they attempt to call Linear's internal API endpoints or rely on brittle DOM selectors that change with every Linear UI update. This script takes a resilient approach: it locates the actual interactive DOM elements Linear renders—the label input field, the edit button, and the save/confirm button—and triggers native click events and value changes on them, exactly as a human would. When assigning labels, the script intelligently handles both append and replace modes: in append mode, it reads the existing labels from the issue's displayed labels and merges them with the new labels; in replace mode, it sets only the new labels. It sets the label values using both the native value setter and dispatches "input" and "change" events, ensuring Linear's React/JavaScript UI registers the update. Between operations, the script introduces controlled delays (300ms between actions and 500ms between batches) to mimic human interaction speed and avoid triggering Linear's rate limiting. By interacting at the UI layer rather than the framework layer, it remains functional across Linear's frequent code updates.

THE PANEL

The script uses BotGentz's BGPanel system, which provides a floating, draggable panel on the right side of your screen. Drag the panel by its header to reposition it anywhere on the page—the panel remembers its position per site and snaps to the nearest edge when released. Click the minimize button to collapse the panel to a small floating bubble; click the bubble to expand it back. Resize the panel vertically by dragging its bottom edge. Press the Escape key to close the panel entirely. All panel state (position, collapsed/expanded) is persisted locally using GM_setValue, so your preferences survive page reloads.

PLEASE NOTE

This userscript requires the free BotGentz browser extension—it is not a standalone application. Linear periodically updates its website layout and UI components; if the script stops working, an updated version may be released. This script does not store, transmit, or process any of your Linear data outside your local browser. It does not access your password, hidden inputs, or file inputs. All label assignments are performed through Linear's own authenticated session using the official user interface. Assigning labels may affect issue filtering, reporting, and automation rules configured in your Linear workspace. Use responsibly and review your label list carefully before confirming—replace mode will remove all existing labels from selected issues.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.