If you've been using Safari's new Notify Me website monitoring feature in macOS 27, you may have been underwhelmed by the range of polling options available. The shortest waiting period between checks is 1 hour. Luckily, you can enable a hidden debug option that allows you to enable 10-minute polling.
Without disabling SIP, we'll enable a debug flag and edit the Notify Me automation database to switch to 10-minute polling. Read below for the steps you need to follow.
| Tested in macOS 27 Developer Beta 4/Public Beta 2 (26A5388g) |
|---|
Have or create a new Notify Me automation. The frequency can be set to any of the available options.
Quit Safari and enable the Safari's hidden 10-minute polling option:
defaults write com.apple.Safari WBSDebugNotifyMeWhenVeryFrequentPollingEnabled -bool trueMake a backup of the two databases we'll change. You can save your backups anywhere, here's an example:
safari_db="$HOME/Library/Safari/NotifyMeWhen.db"
shortcuts_db="$HOME/Library/Shortcuts/Shortcuts.sqlite"
backup_dir="$HOME/Desktop/NotifyMeWhen-backup"
mkdir -p "$backup_dir"
echo "$backup_dir"Keep using the same Terminal window so the variables remain available.
Back up both databases:
sqlite3 "$safari_db" \
".backup $backup_dir/NotifyMeWhen.db"sqlite3 "$shortcuts_db" \
".backup $backup_dir/Shortcuts.sqlite"List your Notify Me automations:
sqlite3 -header -column "$HOME/Library/Safari/NotifyMeWhen.db" "
SELECT shortcuts_uuid, shortcut_name, url
FROM automation_info;
"You'll see something like this:
shortcuts_uuid shortcut_name url
------------------------------------ -------------------------- -------------------------------
00000000-0000-0000-0000-000000000000 Apple Newsroom New Article https://www.apple.com/newsroom/
Copy the UUID for the automation we're going to edit:
automation_uuid='PASTE_UUID_HERE'Find the matching Shortcuts trigger:
trigger_uuid=$(sqlite3 -readonly "$shortcuts_db" "
SELECT u.ZUUID
FROM ZUNIFIEDTRIGGER u
JOIN ZSHORTCUT s ON s.Z_PK=u.ZSHORTCUT
WHERE s.ZWORKFLOWID='$automation_uuid';
")
echo "$trigger_uuid"You should see something like this:
ZUUID
------------------------------------
11111111-1111-1111-1111-111111111111
Extract the trigger configuration:
sqlite3 -readonly "$shortcuts_db" "
SELECT hex(ZDATA)
FROM ZUNIFIEDTRIGGER
WHERE ZUUID='$trigger_uuid';
" | xxd -r -p > "$backup_dir/trigger.plist"Change the trigger to poll every 10 minutes:
/usr/libexec/PlistBuddy \
-c 'Set :WFTriggerSerializedParameters:WFRecurrence:frequency 1' \
-c 'Set :WFTriggerSerializedParameters:WFRecurrence:interval 5' \
"$backup_dir/trigger.plist"Note
Shortcuts will reuse the trigger anchor you had set before. For example, if your current automation is set to check every hour at :58, you will get website checks at :08, :18, ..., :58. You can change the trigger anchor:
anchor_input='2026-08-07 21:41'
anchor=$(date -j -f '%Y-%m-%d %H:%M' \
"$anchor_input" \
'+%a %b %d %H:%M:00 %Z %Y')
echo "$anchor"Now change the trigger and polling rate. Run this command instead of the previous PlistBuddy command shown in Step 9:
/usr/libexec/PlistBuddy \
-c 'Set :WFTriggerSerializedParameters:WFRecurrence:frequency 1' \
-c 'Set :WFTriggerSerializedParameters:WFRecurrence:interval 10' \
-c "Set :WFTriggerSerializedParameters:WFTime $anchor" \
"$backup_dir/trigger.plist"Write it back Shortcuts:
sqlite3 "$shortcuts_db" "
UPDATE ZUNIFIEDTRIGGER
SET ZDATA=readfile('$backup_dir/trigger.plist'),
Z_OPT=Z_OPT+1
WHERE ZUUID='$trigger_uuid';
"Update Safari's copy:
sqlite3 "$safari_db" "
UPDATE automation_info
SET polling_frequency_data=json_set(
polling_frequency_data,
'$.frequency',
'debugVeryFrequently'
)
WHERE shortcuts_uuid='$automation_uuid';
"
Restart siriactionsd:
killall siriactionsd 2>/dev/null || trueDone! Now you can reopen Safari. Under Settings > Websites > Notify Me, you'll see the next scan is scheduled in 10 minutes from now.
Note
In this special polling mode, Safari calculates the Next Check label roughly as "current time + 10 minutes" when the UI is rendered. It does not read Shortcuts' exact next scheduled poll, which explains the discrepancy.
Quit Safari. Enter the backup location:
backup_dir="$HOME/Desktop/NotifyMeWhen-backup"
safari_db="$HOME/Library/Safari/NotifyMeWhen.db"
shortcuts_db="$HOME/Library/Shortcuts/Shortcuts.sqlite"Restore Safari's database:
sqlite3 "$safari_db" \
".restore $backup_dir/NotifyMeWhen.db"Restore the Shortcuts database:
sqlite3 "$shortcuts_db" \
".restore $backup_dir/Shortcuts.sqlite"Restart siriactionsd:
killall siriactionsd 2>/dev/null || trueDone!