Overview
This page is the second step in the Linear setup flow:- Linear — save a shared API-key connection.
- Linear Automation (Auto-Pickup) — this page — have Genesis automatically claim matching Linear issues and dispatch coding work.
- Linear Connector Tools — for ad-hoc, manual Linear operations from inside an agent thread.
Eve) across all accessible teams, regardless of their current state. When a match is found, Genesis transitions the issue to the working state before dispatch so two workers cannot claim the same ticket, opens or resumes a stable orchestrator thread, and keeps the Linear workflow aligned through review and needs info states.
All Linear automation controls are admin-scoped. You need Genesis admin access or
manage_all_connections to see the Automation tab in the Linear connection modal on Config -> Connections. Open + New Connection, choose Linear under Dev Tools, or edit an existing Linear connection to switch tabs.Prerequisites
Before configuring automation, make sure all of the following are true:- A shared Linear
api_keyconnection has been saved in Genesis. See Linear. - Your Linear teams use workflow states that match the lifecycle mapping you plan to configure (defaults:
Agent-Working,HumanReview,Clarify). - You have decided which Linear delegate name or ID should identify issues for pickup. The default is
Eve. - The selected coding backend is enabled and supports concurrent runs. Cursor’s local single-worktree adapter cannot safely run concurrent ticket claims, so the poller stays gated for that adapter. You can save intended settings before the gate opens; polling starts once a capable backend is active.
How pickup works
On each poll Genesis:- Lists issues assigned to the configured Linear delegate name or ID across all accessible teams, regardless of status.
- For each candidate, transitions the issue to State on pickup before dispatch so concurrent pollers cannot double-claim.
- Opens or resumes a stable thread (
linear-<connection>-<issue-key>) for the configured Genesis orchestrator. - Dispatches a kickoff or resume prompt into that thread.
- Records every claim, dispatch, duplicate suppression, and provider status change in the Genesis observation ledger (visible on Requests when enabled).
Setup workflow
1
Save a shared Linear connection
In Config -> Connections, create or edit a Linear connection with Connection scope set to Shared connection and auth mode API Key. Test and save. See Linear.
2
Configure automation rules
Open the Linear connection modal, select the Automation tab, and set:
- Enable Linear automation: on.
- Linear connection: the shared connection (for example
linear.shared). - Linear delegate name or ID: the delegate whose assigned issues Genesis should handle across all teams (default
Eve). - Genesis orchestrator: usually
Eve. - Poll interval (seconds): between
30and3600(default60). - Lifecycle mapping: working, review, and needs-info state names.
3
Verify the runtime gate
When the selected coding backend is disabled or cannot run concurrent tickets, the panel shows Automation runtime is gated with the reason. Settings can be saved; Poll now stays disabled until polling is allowed. Enable a capable backend, then use Poll now or wait for the next interval.
4
Verify end-to-end
Assign a test issue to the configured delegate in Linear. Within one poll interval, Genesis should claim it, transition it to the working state, and start orchestrator work in the linked thread.
Automation parameter reference
These fields are saved on the Automation tab.
Read-only telemetry returned by
GET /api/config/linear/automation:
Troubleshooting
Automation saves but never claims issues
- Enable Linear automation is on and a shared connection is selected.
- The issue’s state exactly matches Trigger state in the configured team scope.
feature_enabledistrue(the selected coding backend is enabled and supports concurrent runs). The UI blocks Poll now while gated.- The shared API key can read and transition issues in the target team.
Personal connection appears in the dropdown
Automation requires a shared connection. Create or migrate to a sharedapi_key connection and re-select it on the Automation tab. Personal selections are shown as unsupported and cannot be saved while automation is enabled.

