apple-notes-common-errors

v2026.09.24

Diagnose and fix common Apple Notes automation errors. Trigger: "apple notes error".

GitHub
Install command
npx skhub add jeremylongshore/apple-notes-common-errors
Markdown
SKILL.md

Apple Notes Common Errors

Overview

Apple Notes automation errors fall into three categories: TCC permission denials from macOS security, AppleEvent communication failures between your script and Notes.app, and iCloud sync issues that cause data inconsistency. Unlike REST APIs that return HTTP status codes, Apple Events use negative OSStatus codes. This guide covers every error you are likely to encounter when automating Notes via JXA or osascript, with tested fixes for each.

Prerequisites

  • The failed job's timestamp, opaque operation identifier, and a scoped read-only authorization test.
  • A defined owner for TCC consent and device recovery; error handling must not change system-wide privacy settings.
  • A paused write queue for incidents that may have partially completed a mutation.

Instructions

  1. Identify whether the failure is authorization, application availability, or synchronization before retrying.
  2. Capture only a redacted error classification and operation identifier; avoid dumping accounts, folders, or note content.
  3. Re-run a bounded read-only check after a supported UI or MDM recovery action.
  4. Reconcile a timed-out write against the operation ledger before retrying, then resume the queue only after owner approval.

Error Reference

ErrorCodeRoot CauseFix
Not authorized to send Apple events-1743TCC denied automation permissionSystem Settings > Privacy > Automation > enable your app
AppleEvent timed out-1712Notes.app busy, hung, or not runningApplication("Notes").activate(); increase timeout with delay
Can't get application "Notes"-2700Notes.app not installed or renamedVerify with mdfind "kMDItemCFBundleIdentifier == com.apple.Notes"
Can't get folder-1728Folder name mismatch (case-sensitive)List folders first: Notes.defaultAccount.folders().map(f => f.name())
Connection is invalid-609Notes.app crashed mid-operationPause writes, relaunch through the supported user workflow, then run a read-only check
User canceled-128Security dialog dismissed or timed outRe-run and click Allow; or pre-grant via MDM profile
Can't make Note-10000Invalid HTML in note bodyValidate HTML; strip unsupported tags before creating
Application isn't running-600App quit between callsWrap in retry with Application("Notes").activate() first

Diagnostic Script

#!/bin/bash
echo "=== Apple Notes Diagnostics ==="
echo -n "macOS version: "; sw_vers -productVersion
echo -n "Notes.app running: "; pgrep -x Notes > /dev/null && echo "Yes" || echo "No"
echo -n "Notes.app path: "; mdfind "kMDItemCFBundleIdentifier == com.apple.Notes" 2>/dev/null | head -1
echo -n "Note count: "
osascript -l JavaScript -e 'Application("Notes").defaultAccount.notes.length' 2>/dev/null || echo "ERROR — check TCC"
echo -n "Folder count: "
osascript -l JavaScript -e 'Application("Notes").defaultAccount.folders.length' 2>/dev/null || echo "ERROR"
echo "Account names and TCC database entries intentionally omitted"
echo "=== Done ==="

Common Fixes

# Verify Notes is responsive after an approved relaunch
osascript -l JavaScript -e 'Application("Notes").defaultAccount.notes.length'

# Check for stuck iCloud sync
brctl status com.apple.Notes 2>/dev/null || echo "brctl not available"

Retry Wrapper for Transient Failures

// Retry pattern for -609, -600, -1712 errors
function withRetry(fn, maxAttempts = 3) {
  for (let i = 0; i < maxAttempts; i++) {
    try { return fn(); }
    catch (e) {
      if (i === maxAttempts - 1) throw e;
      Application("Notes").activate();
      delay(2);
    }
  }
}

// Usage
const count = withRetry(() => Application("Notes").defaultAccount.notes.length);

Error Handling

IssueCauseSolution
Errors persist after consent reviewClient not approved for the invoking userReview the exact client in System Settings or approved MDM policy
iCloud notes show stale dataSync unavailablePause writes and follow supported iCloud recovery guidance
Sandbox prevents database readSIP protects TCC.dbUse osascript to test access instead of direct DB query
Script works manually, fails from cronCron has no TCC contextUse launchd with AssociatedBundleIdentifiers instead

Output

Troubleshooting produces a redacted failure classification, a scoped verification outcome, and the next owner action. It must not include account names, full note/folder listings, TCC rows, or raw job input.

Examples

For -1712, pause the affected write, run a read-only availability check after the app is ready, then compare the operation identifier with the ledger before deciding whether to retry. For -1743, stop and request consent for the exact client rather than resetting all Apple Events permissions.

Resources

Next Steps

For incident response when errors cascade, see apple-notes-incident-runbook. For TCC and security hardening, see apple-notes-security-basics.

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

skills/.curated/apple-notes-common-errors

Default branch

main

Latest commit

e5a6c3b

Tree SHA

c2dc8e8