Loading...
Loading...
Create a Linear OAuth application and configure Cyrus to use it — supports agent-browser automation or guided manual setup.
npx skill4agent add ceedaragents/cyrus cyrus-setup-linearReadEditWrite~/.cyrus/.env~/.cyrus/Bashgrepprintf >>grep -E '^LINEAR_CLIENT_ID=' ~/.cyrus/.env 2>/dev/nullLINEAR_CLIENT_IDgrep -q '"workspaces"' ~/.cyrus/config.json 2>/dev/null && echo "configured" || echo "not configured"Linear is already configured. Skipping this step. To reconfigure, remove,LINEAR_CLIENT_ID, andLINEAR_CLIENT_SECRETfromLINEAR_WEBHOOK_SECRETand re-run.~/.cyrus/.env
setup-endpointgrep '^CYRUS_BASE_URL=' ~/.cyrus/.env | cut -d= -f2-claude-in-chromeagent-browserwhich agent-browsermcp__claude-in-chrome__*agent-browseragent-browser navigate "https://linear.app/settings/api/applications/new"agent-browser fill "input[name='name']" "<AGENT_NAME>"
agent-browser fill "input[name='developerName']" "Self-hosted"
agent-browser fill "input[name='developerUrl']" "https://github.com/ceedaragents/cyrus"agent-browser fill "input[name='redirectUrls']" "<CYRUS_BASE_URL>/callback"agent-browser fill "input[name='webhookUrl']" "<CYRUS_BASE_URL>/webhook"mcp__claude-in-chrome__*https://linear.app/settings/api/applications/newCreate a Linear OAuth Application
- Go to your Linear workspace settings:
- Click your workspace name (top-left) → Settings
- Navigate to API in the left sidebar
- Scroll to OAuth Applications → Click Create new
- Fill in the form:
- Application name:
<AGENT_NAME>- Developer name: Your name or org
- Developer URL:
https://github.com/ceedaragents/cyrus- Redirect callback URLs:
<CYRUS_BASE_URL>/callback- Webhook URL:
<CYRUS_BASE_URL>/webhook- Webhook: ✓ enabled
- Event types: ✓ Agent session events, ✓ Inbox notifications, ✓ Permission changes, ✓ Issues
- Public: ✗ leave disabled (this is a private self-hosted app)
- Click Create
grep -q '^LINEAR_CLIENT_ID=' ~/.cyrus/.env || echo 'LINEAR_CLIENT_ID=' >> ~/.cyrus/.env
grep -q '^LINEAR_CLIENT_SECRET=' ~/.cyrus/.env || echo 'LINEAR_CLIENT_SECRET=' >> ~/.cyrus/.env
grep -q '^LINEAR_WEBHOOK_SECRET=' ~/.cyrus/.env || echo 'LINEAR_WEBHOOK_SECRET=' >> ~/.cyrus/.env# macOS
code --new-window ~/.cyrus/.env 2>/dev/null || open -a TextEdit ~/.cyrus/.env
# Linux
code --new-window ~/.cyrus/.env 2>/dev/null || xdg-open ~/.cyrus/.envI've opened. You need to paste three values from your Linear app settings page:~/.cyrus/.env
- Client ID — copy it and paste after
LINEAR_CLIENT_ID=- Client Secret — click the copy button next to it (it's masked with dots), paste after
LINEAR_CLIENT_SECRET=- Webhook Signing Secret — click the copy button next to it, paste after
LINEAR_WEBHOOK_SECRET=Save and close the file when done.
grep -c '^LINEAR_CLIENT_ID=.' ~/.cyrus/.env
grep -c '^LINEAR_CLIENT_SECRET=.' ~/.cyrus/.env
grep -c '^LINEAR_WEBHOOK_SECRET=.' ~/.cyrus/.env.=cyrus self-auth~/.cyrus/config.jsoncat ~/.cyrus/config.json | grep -c '"workspaces"'✓ Linear OAuth application created ✓ Credentials saved to✓ Workspace authorized via~/.cyrus/.envcyrus self-auth