Linear Integration: Assign issues to Claude Code to trigger cloud agent sessions

Open 💬 38 comments Opened Dec 3, 2025 by ian-klopper

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Currently there's no way to trigger Claude Code sessions from external issue trackers. Developers using Linear for task management must manually start Claude Code sessions, copy issue context, and manage the workflow themselves. Cursor recently launched a Linear integration where assigning an issue to @Cursor automatically spins up a cloud agent that works on the task and creates a PR. This workflow doesn't exist for Claude Code.

Proposed Solution

  • Add Linear as a first-party integration:
  • Register Claude Code as an assignable agent in Linear workspaces
  • When assigned or mentioned (@Claude), automatically spin up a cloud session with the issue context
  • Pull issue description, comments, and linked references
  • Post progress updates back to Linear as comments
  • Create PR on completion and update issue status
  • Support Linear triage rules for auto-assignment to Claude

Alternative Solutions

  • Manually starting Claude Code sessions and copying issue details
  • Using webhooks + GitHub Actions to trigger claude -p with issue context (complex setup, no Linear status sync)
  • Building custom automation with Linear's API (significant development effort)

Priority

Medium - Would be very helpful

Feature Category

Other

Use Case Example

  • Developer triages a bug report in Linear, determines it's a small fix
  • Assigns the issue to @Claude or applies a label that triggers auto-assignment
  • Claude Code cloud session starts automatically with full issue context
  • Developer continues other work while agent runs in background
  • Agent posts progress updates to Linear comments
  • On completion, agent creates PR and marks issue ready for review
  • Developer reviews PR directly from Linear link

Additional Context

Cursor's Linear integration
Linear's agent API
Linear built a dedicated agent session API for this type of integration

View original on GitHub ↗

38 Comments

jomofoshoyo · 7 months ago

Agreed this would be super helpful. Have been doing this with Cursor background agents and codex integration to linear but would be awesome if it worked with claude code web too so it works like those in the background and then opens a PR

ashrodan · 6 months ago

I tried this with linea GitHub issues integration but blocked triggering claude 😢

ashrodan · 6 months ago

I tried this with linea GitHub issues integration but blocked triggering claude 😢

pooriaarab · 5 months ago

+1

ApeOnFire · 5 months ago

+1

romeorTR · 4 months ago

+1

andriolisp · 4 months ago

+1

aaroncrutchfield · 4 months ago

+1

thomas-beznik · 4 months ago

+1

bconrad98 · 4 months ago

+1

vanackera · 4 months ago

+1

stevenschafer · 4 months ago

please sir, please

freber0 · 4 months ago

+1

apaul314 · 4 months ago

+1

karimbaggari · 4 months ago

+1

lukel-x · 4 months ago

+1

ezesculli · 4 months ago

+1

tristanjclarke · 4 months ago

+1

psteinweber · 4 months ago

+1

antoine-roux-tbe · 4 months ago

+1

nmanzini · 3 months ago

+1

jonel-skand · 3 months ago

+1

jen-reap · 3 months ago

+1

OhJia · 3 months ago

+1

yurukusa · 3 months ago

A hook-based approach can connect Claude Code to Linear via their API:

PROMPT=$(cat | jq -r '.userPrompt // empty' 2>/dev/null)
ISSUE=$(echo "$PROMPT" | grep -oE '[A-Z]+-[0-9]+' | head -1)
[ -z "$ISSUE" ] && exit 0
LINEAR_KEY=$(cat ~/.linear-token 2>/dev/null)
[ -z "$LINEAR_KEY" ] && exit 0
DETAILS=$(curl -s -X POST https://api.linear.app/graphql \
    -H "Authorization: $LINEAR_KEY" \
    -H 'Content-Type: application/json' \
    -d "{\"query\": \"{ issueSearch(query: \\\"$ISSUE\\\") { nodes { title description state { name } assignee { name } } } }\"}" 2>/dev/null | jq -r '.data.issueSearch.nodes[0] | "Title: \(.title)\nStatus: \(.state.name)\nDescription: \(.description[0:300])"' 2>/dev/null)
[ -z "$DETAILS" ] && exit 0
jq -n --arg d "Linear issue $ISSUE:
$DETAILS" '{"hookSpecificOutput":{"hookEventName":"UserPromptSubmit","additionalContext":$d}}'
exit 0

This auto-fetches Linear issue context when you mention an issue ID in your prompt.

thantheinthwin · 3 months ago

+1

AtharvaVaidya · 3 months ago

+1

FocussedFlyer3 · 3 months ago

+1

juliancorrea · 3 months ago

In that case, wouldn't cyrus be more suitable? https://www.atcyrus.com/

marco2216 · 2 months ago

If you're using Claude Desktop, you can add "custom link" to open the issue in Claude Desktop. Not quite the same but better than copying manually.

<img width="858" height="280" alt="Image" src="https://github.com/user-attachments/assets/b720ea0b-4ac1-48bc-8d75-f2fb3c07b606" />

ian-klopper · 2 months ago

Hey all — while this is being considered, I put together a small bridge that covers most of what's described here: https://github.com/ian-klopper/claude-linear-agent

What it does: assign a Linear issue to the agent user → bridge fires a Claude Code Routine with the issue context → Claude works in a cloud session off origin/main → (if you set up the Linear MCP) Claude posts progress and a final summary back on the Linear issue. You can watch the session live via a link it drops in the Linear sidebar.

What it doesn't do (yet):

  • No "Claude is done" signal — Routines is fire-and-forget, so the bridge can't update Linear status on completion. You rely on Claude commenting back via MCP.
  • Replies in the Linear thread start a fresh Claude session (Routines has no "continue session" API). The Routine prompt tells Claude to re-read prior Linear comments via MCP, but long back-and-forths get expensive.

Upfront: I'm an amateur dev. This works for me but definitely has rough edges — issues/PRs very welcome.

Hope it helps someone here.

talbenavra · 2 months ago

+1

jakubkratina · 2 months ago

+1

ThePrincelle · 1 month ago

+1

johan-lejdung · 1 month ago

This would be a valuable addition. As competing tools like Codex continue to expand their integrations, including native Linear agent assignment, the gap is becoming a real factor in tooling decisions. First-party support for assigning Linear issues to Claude Code would meaningfully reduce that pressure and keep Claude Code competitive in workflows where Linear is the source of truth.

rajsam003 · 1 month ago

+1

nicolas-palermo · 1 month ago

+1

alimaan2935 · 1 month ago

+1