Find My Location
Track a shared contact's location via Apple Find My with street-level accuracy. Returns address, city, and context (home/work/out) by reading map landmarks. Supports configurable known locations and v
Track a shared contact's location via Apple Find My with street-level accuracy. Returns address, city, and context (home/work/out) by reading map landmarks. Supports configurable known locations and v
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Track shared contacts via Apple Find My with street-corner accuracy.
Your Mac must be signed into an iCloud account with Find My enabled:
brew install steipete/tap/peekaboo
Grant Accessibility and Screen Recording permissions when prompted (System Settings → Privacy & Security).
Hammerspoon provides reliable clicking that works across all apps. Without it, clicks may occasionally go to the wrong window.
brew install hammerspoon open -a Hammerspoon
Add to
~/.hammerspoon/init.lua:
local server = hs.httpserver.new(false, false) server:setPort(9090) server:setCallback(function(method, path, headers, body) local data = body and hs.json.decode(body) or {} if path == "/click" then hs.eventtap.leftClick({x=data.x, y=data.y}) return hs.json.encode({status="clicked", x=data.x, y=data.y}), 200, {} end return hs.json.encode({error="not found"}), 404, {} end) server:start()
Reload config (Hammerspoon menu → Reload Config), then create
~/.local/bin/hsclick:
#!/bin/bash curl -s -X POST localhost:9090/click -d "{\"x\":$2,\"y\":$3}" chmod +x ~/.local/bin/hsclick
git clone https://github.com/poiley/findmy-location.git cd findmy-location ./install.sh
Or via ClawdHub:
clawdhub install findmy-location
Create
~/.config/findmy-location/config.json:
{ "target": "John", "known_locations": [ { "name": "home", "address": "123 Main St, City, ST", "markers": ["landmark near home"] }, { "name": "work", "address": "456 Office Blvd, City, ST", "markers": ["landmark near work"] } ] }
| Field | Description |
|---|---|
| Contact name to track (optional - defaults to first shared contact) |
| Array of places you want labeled with addresses |
| Landmarks visible on the Find My map when at that location |
findmy-location # Human-readable output findmy-location --json # JSON output
123 Main St, City, ST (home) - Now
{ "person": "contact@email.com", "address": "Main St & 1st Ave", "city": "Anytown", "state": "WA", "status": "Now", "context": "out", "screenshot": "/tmp/findmy-12345.png", "needs_vision": false }
| Field | Description |
|---|---|
| , , , or |
| If , use AI vision on screenshot to read street names |
| Path to captured map image |
| Issue | Solution |
|---|---|
| Clicks go to wrong window | Install Hammerspoon (see prerequisites) |
| "No person found" | Ensure location sharing is enabled in Find My |
Always shows | Add markers for frequently visited places |
| Permission errors | Grant peekaboo Accessibility + Screen Recording access |
MIT
No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.