Skip to main content
Connect an agent to Linear and people can delegate issues to it and mention it. It appears under your Linear app’s name and icon. Its tool calls and replies appear in the issue’s thread. You write no webhook or Linear client code.

Connect

  1. In the project’s Connections tab, choose Create Linear agent on the environment’s row and name it. Names can’t contain “Linear”.
  2. Choose Open Linear to create the app. The page is prefilled; create the app.
  3. Paste the app’s client ID, client secret and webhook signing secret.
  4. Choose Authorize in Linear. A workspace admin must approve.
  5. Delegate an issue to the agent. The panel shows First session received.
Each environment needs its own Linear app. Linear access tokens never reach the agent, its logs or the browser.

Talking to it

  • Delegate an issue or mention it in a comment to start a session.
  • Reply in the session’s thread to continue, even after it finished.
A top-level comment without a mention is not delivered. Anyone on the team can reply; the agent answers the thread, not a person.

What it receives

Each message is a channel input with channel.provider: "linear". text is the message; for the first one it is Linear’s prompt context, or <identifier>: <title> without one. payload is a LinearInputPayload:

What it writes

A GitHub pull request URL in the final message becomes the session’s link.

Ask before acting

Any reply after the question is the answer, input.answer. Linear holds messages typed while the agent works and releases them only when it finishes, so they arrive after the answer as ordinary turns and input.steering is usually empty; a stop discards them. Say so in the question, so people send constraints before answering.

Stop

Linear’s stop button interrupts the turn, discards queued messages and closes any open question. A later reply continues the same session.

Call Linear

Declare the service in the agent and call Linear’s GraphQL API from a tool:
In sessions started from Linear, the call acts as the agent’s own Linear app. In a session a person started (the playground, your app), it acts as that person’s connected Linear account. Only POST /graphql is allowed. Issues the agent delegates to itself start new sessions with origin.createdByAgent: true. For code, connect the project’s GitHub App.

Disconnect

Choose Disconnect in the Linear panel. The app stays in your Linear workspace; delete it there if you no longer need it.

Limits

  • One connection per agent per environment, and one per Linear app.
  • No concurrency limit: every delegated issue runs its own session.
  • ask isn’t available in sessions with executionMode: "microvm".
  • Stopping a session doesn’t stop issues it delegated.