Feature Request
Problem
Currently, label-based routing supports:
- Model selection (
opus, sonnet, gemini-*)
- Mode selection (
debugger, builder, scoper, orchestrator)
- Tool restrictions
But there's no way to route issues to different AI providers/runners (Claude Code vs Codex vs Cursor) based on Linear labels.
Use Case
Users want to:
- Route quick fixes to
@cursor label → uses Cursor
- Route complex tasks to
@claude label → uses Claude Code
- Route specific code tasks to
@codex label → uses Codex
Proposed Solution
Add runner to labelPrompts configuration:
{
"labelPrompts": {
"debugger": {
"labels": ["Bug"],
"runner": "claude"
},
"fast-fix": {
"labels": ["QuickFix"],
"runner": "cursor"
},
"code-review": {
"labels": ["CodeReview"],
"runner": "codex"
}
}
}
Or via runner-specific labels:
{
"runnerLabels": {
"claude": ["@claude", "complex"],
"codex": ["@codex", "refactor"],
"cursor": ["@cursor", "quick-fix"]
}
}
Alternatives Considered
- Multiple Cyrus instances - each with different
defaultRunner - adds complexity
- Manual assignment in Linear - requires manual work
Environment
- Cyrus version: latest
- Installation: self-hosted
- Platform: macOS/Linux
Feature Request
Problem
Currently, label-based routing supports:
opus,sonnet,gemini-*)debugger,builder,scoper,orchestrator)But there's no way to route issues to different AI providers/runners (Claude Code vs Codex vs Cursor) based on Linear labels.
Use Case
Users want to:
@cursorlabel → uses Cursor@claudelabel → uses Claude Code@codexlabel → uses CodexProposed Solution
Add
runnertolabelPromptsconfiguration:{ "labelPrompts": { "debugger": { "labels": ["Bug"], "runner": "claude" }, "fast-fix": { "labels": ["QuickFix"], "runner": "cursor" }, "code-review": { "labels": ["CodeReview"], "runner": "codex" } } }Or via runner-specific labels:
{ "runnerLabels": { "claude": ["@claude", "complex"], "codex": ["@codex", "refactor"], "cursor": ["@cursor", "quick-fix"] } }Alternatives Considered
defaultRunner- adds complexityEnvironment