Use the Linear CLI from KosmoKrator to call Linear tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.
Linear can be configured headlessly with `kosmokrator integrations:configure linear`.
# Install KosmoKrator first if it is not available on PATH.curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash# Configure and verify this integration.kosmokrator integrations:configure linear --set api_key="$LINEAR_API_KEY" --enable --read allow --write ask --jsonkosmokrator integrations:doctor linear --jsonkosmokrator integrations:status --json
Credentials
Authentication type: API keyapi_key. Configure credentials once, then use the same stored profile from
scripts, coding CLIs, Lua code mode, and the MCP gateway.
Key
Env var
Type
Required
Label
api_key
LINEAR_API_KEY
Secret secret
yes
API Key
Call Linear Headlessly
Use the generic call form when another coding CLI or script needs a stable universal interface.
Every function below can be called headlessly. The generic form is stable across all integrations;
the provider shortcut is shorter but specific to Linear.
linear.linear_create_issue
Write write
Create a new issue in Linear. Requires a team ID and title.
Optionally set description, priority (0=none, 1=urgent, 2=high, 3=medium, 4=low),
assignee, labels, and initial state.
Use linear_get_teams to find team IDs.
Get a single Linear issue by ID or identifier (e.g., "TEAM-123").
Returns full details including description, state, assignee, labels,
team info, and comments.
Update an existing Linear issue. Provide the issue ID or identifier
and any fields to change. Only specified fields will be updated.
Priority: 0=none, 1=urgent, 2=high, 3=medium, 4=low.
Search Linear issues using filter criteria. Supports filtering by
text query, team, state name, assignee, and priority.
Returns matching issues with pagination info.
Get all Linear teams the authenticated user has access to, including
team name, key, description, and member list. Use this to discover
team IDs needed for other tools.
Create a new Linear project. Requires a name and at least one team ID.
Optionally set description, lead, and target dates.
Use linear_get_teams to find team IDs.
Add a label to a Linear issue. Provide the issue ID or identifier
and the label ID to add. The label will be appended to existing labels.
Use linear_list_labels to find label IDs.
List workflow states for a Linear team. Shows all available statuses
(e.g., Backlog, Todo, In Progress, Done) with their IDs, types, and colors.
Optionally filter by team ID.
Execute an arbitrary GraphQL query or mutation against the Linear API.
Provide a GraphQL document and optional variables as JSON.
Use this for advanced operations not covered by other tools.
Use these parameter tables when building CLI payloads without calling integrations:schema first.
linear.linear_create_issue
Create a new issue in Linear. Requires a team ID and title.
Optionally set description, priority (0=none, 1=urgent, 2=high, 3=medium, 4=low),
assignee, labels, and initial state.
Use linear_get_teams to find team IDs.
Get a single Linear issue by ID or identifier (e.g., "TEAM-123").
Returns full details including description, state, assignee, labels,
team info, and comments.
Update an existing Linear issue. Provide the issue ID or identifier
and any fields to change. Only specified fields will be updated.
Priority: 0=none, 1=urgent, 2=high, 3=medium, 4=low.
Comma-separated label IDs to set (replaces existing labels).
linear.linear_search_issues
Search Linear issues using filter criteria. Supports filtering by
text query, team, state name, assignee, and priority.
Returns matching issues with pagination info.
Get all Linear teams the authenticated user has access to, including
team name, key, description, and member list. Use this to discover
team IDs needed for other tools.
Cursor for next page (from previous response endCursor).
linear.linear_create_project
Create a new Linear project. Requires a name and at least one team ID.
Optionally set description, lead, and target dates.
Use linear_get_teams to find team IDs.
Add a label to a Linear issue. Provide the issue ID or identifier
and the label ID to add. The label will be appended to existing labels.
Use linear_list_labels to find label IDs.
List workflow states for a Linear team. Shows all available statuses
(e.g., Backlog, Todo, In Progress, Done) with their IDs, types, and colors.
Optionally filter by team ID.
Execute an arbitrary GraphQL query or mutation against the Linear API.
Provide a GraphQL document and optional variables as JSON.
Use this for advanced operations not covered by other tools.
Headless calls still follow the integration read/write permission policy. Configure read/write defaults
with integrations:configure. Add --force only for trusted automation that should bypass that policy.