Linear
Ask Escher to do something in Linear. Escher generates the Python script that does it and runs it from your machine.
How it works
Linear is one of the targets recognised by Escher's integrations agent. When you type a Linear-related request:
- The integrations agent classifies your request as
linear - The query is routed to the code-gen agent with
action: "linear" - The code-gen agent streams back a Python script that uses Linear's GraphQL API
- The script runs from your machine using your Linear credentials
This is the same pattern Escher uses for Jira and GitHub.
What you can ask
"Create a Linear issue in the SRE team for this Finding, set priority to Urgent."
"List all my open Linear issues across all teams."
"Move issue ENG-1247 to Done with a closing comment summarising the fix."
The Python script Escher generates can do anything the Linear GraphQL API supports.
Authentication
Generated scripts read your Linear credentials from your environment. Set the standard variable before running:
export LINEAR_API_KEY="lin_api_..."Generate an API key in Linear → Settings → API → Personal API keys.
For workspace-wide installs, ask a Linear admin to create an OAuth app at the workspace level so generated issues are attributed to the team rather than a personal account.
What's not supported
- Saved field-mapping rules between Findings and Linear issues
- Two-way status sync (Linear issue closed → Finding closed)
- Auto-attachment of Canvases without a per-request prompt
Include any specific mapping or behaviour in your prompt and Escher will generate the script accordingly.