claudear

Guides

Connect your tools

Add issue sources, source control providers, and notification channels.

#Issue sources

These are the places Claudear picks up work from. You only need one to get started.

#Linear

Picks up issues matching label or state triggers.

[issues.linear]
api_key = "lin_api_..."
trigger_labels = ["claude"]
trigger_states = ["In Progress"]

Get your API key: Linear Settings > API > Personal API keys.

#Sentry

Monitors errors above an event count threshold.

[issues.sentry]
auth_token = "sntrys_..."
org_slug = "your-org"
project_slugs = ["your-project"]
min_event_count = 10

Get your token: Sentry Settings > Auth Tokens.

#Jira

Cloud and Server/Data Center. Filter by project, label, or custom JQL.

[issues.jira]
base_url = "https://your-org.atlassian.net"
email = "you@company.com"
api_token = "your_token"
project_keys = ["PROJ"]
trigger_labels = ["claudear"]
Note: For Jira Server/Data Center, set auth_mode = "bearer" and use a personal access token instead of email + API token.

#GitHub Issues

Add repos and trigger_labels to your [scm.github] section.

[scm.github]
token = "ghp_..."
repos = ["your-org/your-repo"]
trigger_labels = ["claudear"]

#GitLab Issues

[scm.gitlab]
token = "glpat-..."
groups = ["your-group"]
trigger_labels = ["claudear"]

#Discord / Slack / Telegram / WhatsApp as sources

Treat messages in a channel as issues. Useful for incident channels and ad-hoc operational queues.

Discord — uses the same credentials as your notifier config:

[issues.discord]
bot_token = "your_bot_token"    # inherited from notifiers.discord if omitted
listen_channel_id = "123456789"
guild_id = "987654321"

Slack — uses the same credentials as your notifier config:

[issues.slack]
bot_token = "xoxb-..."          # inherited from notifiers.slack if omitted
listen_channel_id = "C0123456789"
workspace = "mycompany"

Telegram — enable source_enabled on the notifier config:

[notifiers.telegram]
bot_token = "123456:ABC-DEF..."
chat_id = "123456789"
source_enabled = true
listen_chat_id = "123456789"    # optional override

WhatsApp — enable source_enabled on the notifier config:

[notifiers.whatsapp]
phone_number_id = "123456789"
access_token = "EAAx..."
source_enabled = true
listen_phone_number_id = ""     # optional override

#Source control

Where Claudear creates pull requests and merge requests.

#GitHub (PAT)

[scm.github]
token = "ghp_..."
auto_resolve_on_merge = true

Get your token: github.com/settings/tokens — grant repo scope.

#GitHub App

GitHub App setup for organisations with scoped access

For organisations that prefer app-based auth with scoped installation access:

[scm.github.app]
app_id = 12345
private_key_path = "./github-app-key.pem"
installation_id = 67890

Create the app at github.com/settings/apps, download the private key, and note the app + installation IDs.

#GitLab

[scm.gitlab]
token = "glpat-..."
base_url = "https://gitlab.example.com"  # optional, for self-hosted

#Notifications

Where Claudear sends updates and asks questions. Set up at least one reply-capable channel so Claudear can get help when it gets stuck.

#Reply-capable (recommended)

These channels support bi-directional communication — Claudear can send updates and read your replies.

Discord — bot token + channel for bi-directional AI questions:

[notifiers.discord]
bot_token = "your_bot_token"
channel_id = "123456789"

Slack — bot token + channel:

[notifiers.slack]
bot_token = "xoxb-..."
channel_id = "C0123456789"

Email — SMTP for sending, IMAP for reading replies:

[notifiers.email]
smtp_host = "smtp.gmail.com"
smtp_port = 587
smtp_username = "you@company.com"
smtp_password = "app-password"
from_address = "claudear@company.com"
to_addresses = ["team@company.com"]

#Delivery-only

SMS (Twilio) and Push (Pushover) send notifications but cannot receive replies. Use these alongside a reply-capable channel for full coverage.

Telegram and WhatsApp are notification channels that can also double as issue sources (see Messaging sources above).

#User mapping

Link identities across platforms so notifications route to the right person:

[users.jake]
linear_name = "Jake Barnby"
github_username = "abnegate"
discord_id = "123456789"
email = "jake@company.com"

See the Configuration reference for the full list of identity fields.

#Webhooks

claudear webhook --setup --base-url https://your-server.com

Webhooks let Claudear react instantly rather than polling. Always verify secrets are set and check provider delivery logs after setup.

Claudear documentation