Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

file-push

file-pushTOOL
Copy a file from this Mac to the iPhone over USB, replacing it and making missing folders
<iphone path> is the full path of the new file, with its name. MCP: send data (base64, up to about 3 MB) and path (the iPhone destination), never source. Files go over USB (AFC), no Developer Mode. Paths start with /. The default root is the iPhone's media folder (/var/mobile/Media): /DCIM Camera Roll: photos, videos, screenshots (IMG_0001.PNG ...). Use the photo commands /Downloads iOS download databases, not the Files app /Books, /PublicStaging, /iTunes_Control, /PhotoData (mostly not readable)
  • The Files app ("On My iPhone") and app data are not in this folder. --app <bundle id> reaches an app's Documents (/Documents/...), only for apps with [file sharing] in app list.
  • A file copied to /DCIM does not appear in Photos. To get a photo or video into Photos (for TikTok, Instagram): ghosthand upload <file>, open the link in Safari, tap Save, then Save Video or Save Image (see upload --help). Offline: push it to VLC's Documents (--app org.videolan.vlc-ios), then Files > Share > Save Video. Steps: https://ghosthand.dev/docs/send-media
  • Works while the iPhone is locked, after its first unlock since boot.
CLI flags in this text are arguments: --app = app
Parameters
app?string
Bundle id of an app with file sharing (see app-list): the path is then in its container, e.g. /Documents/a.pdf
data *string
File content as base64 (up to about 3 MB)
lease *string
Lease id exactly as acquire printed it, e.g. "studio:42"
mac?string
Mac slug from list, e.g. "studio". Needed when several Macs are online
path *string
Absolute iPhone path of the new file, e.g. /Downloads/report.pdf
Request example
{ "method": "tools/call", "params": { "name": "file-push", "arguments": { "app": "string", "data": "string", "lease": "string", "mac": "string", "path": "string" } } }