Signals
Signals are optional metadata that modify how an Agent Activity should be interpreted or handled by the recipient. They provide additional context about the sender’s intent—guiding how the activity should be processed or responded to.
Both agents and human users can attach signals to any Agent Activity they create. This helps ensure that downstream behavior aligns with the sender’s expectations, whether it’s prompting a specific response type or adjusting how an action is displayed or prioritized.
Human-to-agent signals
Human-to-agent signals are signals set by human users on Agent Activities of type prompt
. They provide additional context or intent that guides how an agent should interpret or respond to a user’s message.
These signals are only applicable to prompt
-type Agent Activities.
stop
The stop
signal instructs the agent to halt work immediately. From the moment this signal is received, the agent must not perform any further actions—such as making code changes, updates, or additional API calls.
After disengaging, the agent should emit a final activity—either of type response
or error
—to confirm that it has stopped and to inform the user of its current state.
An Agent Activity with the stop
signal is generated when a user requests the agent to stop from within Linear.

Agent-to-human signals
Agents can include signals when emitting Agent Activities. Signals are added through the signal
field, alongside the content
field, to convey additional context or intent to human users.
auth
The auth
signal indicates that the agent requires the user to complete an account linking process before it can continue. When this signal is present, Linear renders a temporary UI state containing a link for the user to complete the account linking flow. This UI is ephemeral and will be dismissed once a newer agent-initiated activity is received.
After the required action is completed, the agent should resume work by emitting a thought
activity.
Applicable to Agent Activities of type elicitation
.
Sample payload for agentActivityCreate mutation:
{
agentSessionId: "...",
content: {
type: "elicitation",
body: "Please authenticate to continue"
},
signal: "auth",
signalMetadata: {
url: "https://auth.example.com/oauth",
userId: "...", // Optional: restricts to a specific user
providerName: "Orbit" // Optional: identifies the authentication provider
}
}


select
The select
signal presents a list of options for the user to choose from as part of an elicitation activity. It’s useful for confirmations, selecting a target (such as a GitHub repository), or any situation with multiple choices.
Users aren’t required to pick an option—they can reply in free text, which dismisses the elicitation. Any selected option is emitted as a regular prompt
activity. And since responses may include natural language, your agent should always involve an LLM when interpreting the prompt.
Applicable to Agent Activities of type elicitation
.
Sample payload for agentActivityCreate mutation:
{
agentSessionId: "...",
content: {
type: "elicitation",
body: "Which repository is this issue about?"
},
signal: "select",
signalMetadata: {
options: [
{ value: "https://github.com/YOUR-ORG/YOUR-REPOSITORY" },
{ value: "https://github.com/YOUR-ORG/ANOTHER-REPOSITORY" }
// ...
]
}
}
If options are GitHub URLs, Linear automatically enriches them with icons and formatted names, so labels are not required.