What CoIsland watches in GitHub

Each monitor kind brings its own query and its own card in the island.

How to monitor GitHub without the notification noise

GitHub subscribes you to every thread you open, comment on, are assigned to or are mentioned in, and to the repositories you watch. A CoIsland monitor works the other way round: you name the one thing that needs you, and only a new match reaches an island on your Mac.

Each monitor is a query, a check interval and an alert rule. It checks every 15 minutes by default, and anywhere from every 30 seconds to every 30 days. The first check records what already matches and stays quiet. After that it alerts on each item it has not seen, or once when the count crosses a number you set. Test runs the query once and shows what matches, without saving or alerting.

New GitHub monitor: issues and pull requests, review requests, failed workflow runs, new releases and security alerts, then eight example searches.
New GitHub monitor: the five kinds, then the examples the app offers, each a real search you can start from.

Issues and pull requests

Paste any search you would type on github.com. CoIsland sends it to GitHub’s search API with advanced search on, so OR and parentheses work on github.com, and alerts once per new issue or pull request. An issue that is edited or gets a comment stays the same item, so it does not alert again.

repo:acme/api is:issue is:open label:bug
is:open mentions:@me
repo:acme/api is:pr is:open -author:@me

Only a result of 100 matches or fewer is compared. Above that, the monitor asks you to narrow the search instead of guessing what is new.

New GitHub issues and pull requests monitor: a GitHub search box with example searches and a Test button, then the alert rule, the sound and the schedule.
The search editor: the GitHub search, its example chips, then when it alerts, how often it checks and its sound.

Pull request review requests

The same search, limited to pull requests: CoIsland adds is:pr for you. Watch requests made to you directly, or to your team:

user-review-requested:@me is:open -is:draft
team-review-requested:acme/platform is:open

A pull request leaves the result once you review it. If its author asks you again, it alerts again.

GitHub Actions failure alerts

Failed workflow runs has fields instead of a search box: repositories, status, branch, event, workflow and actor. It reads the runs of the last 7 days with the status you pick, Failure unless you choose Timed out, Cancelled or another GitHub status. A re-run that fails again is a new attempt, so it alerts again.

repo:acme/api branch:main workflow:deploy.yml
New GitHub failed workflow runs monitor: repositories, status, branch, event, workflow and actor fields that build the query, Edit as Text and Test, then the alert rule and the sound.
Failed workflow runs: the fields write the query shown under them, and Edit as Text opens it by hand.

The guide to GitHub Actions failure notifications on Mac compares this with GitHub’s email and chat notifications.

New releases

Name one repository or several, and choose whether pre-releases count. The monitor reads releases published in the last 30 days. Drafts never count, so a release alerts when it is published.

repo:apple/swift-nio -is:prerelease

Dependabot, code scanning and secret scanning alerts

Security alerts takes repositories or whole organizations, the tools to ask and the severities to keep, and reads open alerts only. Dependabot and code scanning are on by default. Secret scanning needs admin access, so you turn it on yourself.

org:acme severity:critical,high
repo:acme/api tool:dependabot,secret-scanning
New GitHub security alerts monitor: repositories or organizations, Dependabot, code scanning and secret scanning, and the severities to watch, then the alert rule and the sound.
Security alerts: repositories or organizations, the three tools, and the severities to watch.

Forms, text and files

Edit as Text shows the query the fields write, and Edit as Form goes back when the fields can show it. Every monitor is saved as a .sql file in ~/.coisland/watches. Its settings, kind among them, are comment lines above the query, so your monitors can live in git:

-- name: Failed deploys on main
-- kind: github.workflow-runs
-- connector: acme_github
-- every: 15m
-- alert: new-rows
-- sound: Glass

repo:acme/api branch:main workflow:deploy.yml

From the island to an agent

A monitor’s card in the island lists each new item by its title, with a line such as acme/api #412 · Open · octocat. Click it to open the alert: each item fetched live from GitHub, with its labels, body and newest comments for an issue, branch, commit and duration for a run, and package, patched version and advisory for a Dependabot alert.

At the foot of the card, Claude Code, Codex and Cortex Code are one click away. The agent opens in a terminal under the alert, and its first message is the whole alert: facts, query, items and activity. It finds the cause, fixes what is safe and asks you before anything destructive. CoIsland starts Claude Code and Codex in their auto modes, as the agents page explains:

claude --permission-mode auto
codex -c approvals_reviewer="auto_review" -c approval_policy="on-request" -c sandbox_mode="workspace-write"
Claude Code's terminal under a CoIsland alert: it proposes to verify the order with a read-only query, look into a timestamp gap, adjust the monitor or do nothing, and asks which one.
Claude Code under an alert, here a Snowflake one, in an earlier version's manual mode: four options, then it waits. A GitHub alert opens the same way.

GitHub token permissions and GitHub Enterprise

The connector signs in with a fine-grained personal access token: one resource owner, the repositories to watch, and read-only permissions. Give it only what your monitors use:

Monitor kind Repository permission, read-only
Issues and pull requests, review requests Issues, Pull requests
Failed workflow runs Actions
New releases Contents
Security alerts Dependabot alerts, Code scanning alerts, Secret scanning alerts

Classic tokens (ghp_) work too. An organization can require approval of fine-grained tokens, and GitHub answers org: security alerts only to organization owners and security managers.

The Host field takes github.com, your GitHub Enterprise Server host (API at https://HOST/api/v3) or your SUBDOMAIN.ghe.com address (API at api.SUBDOMAIN.ghe.com). Test connector shows the account the token belongs to and, when GitHub sends it, its expiry.

CoIsland Connectors screen: acme for Snowflake on the acme-analytics account, used by four monitors, then acme_github on github.com and acme for Jira on acme.atlassian.net, used by one each, all Default and Ready.
Settings › Connectors: acme_github on github.com, the default GitHub connector, Ready and used by one monitor.

The token stays in the macOS Keychain and goes only to your GitHub API, over https. There is no CoIsland server. When GitHub refuses a check, the monitor says why: a missing permission, a token to authorize for single sign-on, or a renamed repository.

Step by step: Connect GitHub. Coming from GitHub’s inbox? Read the GitHub notifications alternative. For reviews and CI next to Jira, see CoIsland for engineering, or browse every connector.

Connect it in three steps

  1. Create a fine-grained token with read-only access to the repositories to watch.

  2. In Settings › Connectors, add GitHub with your host and the token, then Test connector.

  3. Pick a monitor kind, fill in its fields or its search, and say when it alerts.

Built for GitHub

  • github.com, GitHub Enterprise Server and GHE.com.
  • Read-only permissions, only the ones your monitors use.
  • The token stays in the macOS Keychain and goes only to your GitHub API.
  • The first check is a baseline, so old items never flood you.
  • Every monitor is a plain .sql file in ~/.coisland/watches.

Then hand it to an agent

A click on the alert opens the agent in a terminal under it, with the whole alert as its first message.

GitHub questions

How do I get GitHub notifications on my Mac without the inbox?

Create a monitor for each thing you care about, such as review requests, failed runs on main or critical security alerts. CoIsland checks it on its schedule and shows only new matches in the island. It does not read your GitHub notifications, so you can keep both.

Which permissions does the GitHub token need?

Read-only repository permissions for what you watch. Issues and Pull requests for searches and review requests, Actions for failed runs, Contents for releases, and Dependabot alerts, Code scanning alerts or Secret scanning alerts for security alerts. Classic tokens work too.

Can CoIsland alert me when a GitHub Actions workflow fails?

Yes. A Failed workflow runs monitor lists the runs of the last 7 days with the status you pick, Failure by default, for the repositories, branch, workflow, event or actor you name. Each new failure alerts once, and a re-run that fails again alerts again.

Does it work with GitHub Enterprise Server and GHE.com?

Yes. Enter your GitHub Enterprise Server host, whose API is at https://HOST/api/v3, or your SUBDOMAIN.ghe.com address, instead of github.com. The host must answer over https.

Can I see Dependabot, code scanning and secret scanning alerts?

Yes, open ones, for repositories or whole organizations, filtered by severity. Secret scanning is off until you turn it on, because GitHub's API returns those alerts only to administrators. CoIsland never asks GitHub for the secret itself.

Why does my GitHub search say more than 100 items match?

A search is compared only when it matches 100 items or fewer, so a busy search cannot make old items look new. Narrow it with repo:, label: or is:open. A count rule with a threshold under 100 still works, since the count is known to be over 100.

Does CoIsland send my GitHub data to a server?

No. There is no CoIsland server and no CoIsland account. Each check is a request from your Mac to your GitHub host, and the token stays in the macOS Keychain.

Other connectors

Work with AI. Stay in control.

CoIsland Community is free, for good. Lifetime from $29, paid once. Native for Apple Silicon, macOS 14 and later.