Changelog
All notable changes to Jiggle Mode are listed here. The format follows Keep a Changelog, and versions follow Semantic Versioning.
#Unreleased
#1.0.0-rc.1 - 2026-11-13
The first release candidate. So far it has been checked on one phone, an iPhone Duo on iOS 27.2: reading, changing and undoing its Home Screen over a USB cable, and reading it over Wi-Fi after a one-time setup (with the cable still attached). Changing a phone over Wi-Fi, other iPhones and iPads, and other iOS versions have not been tried yet.
#Added
- Jiggle Mode.app: a menu bar app for Mac. The first time you open it, the editor opens in your browser; after that, Open Jiggle Mode in its menu brings it up. The menu shows the connected phone and has Set Up Wi-Fi, Install Command Line Tool, Set Up for AI Agents, About and Quit. Quitting waits for a write that is under way to finish and be checked. It never adds itself to Login Items.
- The editor in your browser: drag apps, folders and widgets between pages and the Dock, make folders, move apps to and from the App Library, review every change in plain words, then apply. Each change is checked against Home Screen rules, backed up, read back from the phone, and put back automatically if it did not land. History and undo from saved backups.
- The
jigglemodecommand:devices,pair,read,plan,apply,backups,restore,resolve,wifi setup|status|changes on|off|forget,skill install,licenses, JSON output and documented exit codes.--demouses a pretend iPhone. - MCP server (
jigglemode mcp) for AI agents, read-only unless writing is allowed; every write is then confirmed by the person, in the agent app or in a dialog on the Mac. A Claude Desktop extension (.mcpb) and a portable Agent Skill. - Wi-Fi: after a one-time setup over USB (
jigglemode wifi setup), the phone is found on the local network and can be read without the cable. The Mac's Wi-Fi key is kept in the login Keychain, and the phone has to prove its identity on every connection. Changes over Wi-Fi are off for each phone until you runjigglemode wifi changes onin a terminal and typeallow; with the cable in, the cable is always used. - Homebrew cask (
brew install --cask belweave/tap/jigglemode), signed and notarized disk image, the command alone as a download, and a universal (Apple silicon and Intel) build for macOS 11 and later.
#Security
- If you used Wi-Fi with a build from before this release: those builds kept the Mac's
Wi-Fi key in a plain file. This version replaces that file with one that holds no key and asks
you to set Wi-Fi up again, but the phone still accepts the old key, and copies of it may remain
in Time Machine backups or disk snapshots. Only the phone can revoke it: Settings > General >
Transfer or Reset iPhone > Reset > Reset Location & Privacy. That makes the phone forget every
computer it trusts, over USB too, and resets its apps' location and privacy permissions.
jigglemode devices,wifi status,wifi setupandwifi forgetsay so for such a phone.
#Known limits
The phone-identity check of Wi-Fi setup follows a message format Apple does not document, and has not yet run on a phone. If it does not match, setup stops and saves nothing, names the check that failed, and prints a line of details (no keys) for a report; if the phone had already paired, one unused key stays on it until it is reset as above.
Writing over Wi-Fi, locked phones, an unfolded iPhone Duo and iPads have not been tried.
Hidden Home Screen pages and empty spaces between icons are not visible to Jiggle Mode; applying changes closes those spaces.
A widget stack may show a different widget on top after a change.
A removed widget cannot be brought back, not even by restoring a backup; add it again on the phone.