Authorization notice. Remote Installer is dual-use. Only use it on software, sites and systems you own or have explicit permission to test.
Remote script. A background worker keeps serving the build after the agent's turn ends, so the agent must always set a bounded expiry and the human must check the share status.
Who it is forA developer using a coding agent on a Mac who needs the agent to hand back a working install URL and then finish its turn.
The problemWhen an agent command ends, a normal foreground share closes, so the install link stops working before the phone can use it.
The outcomeThe agent returns a JSON session with an install URL, the share keeps running under launchd, and the developer can check or stop it later.
What you need first
- A macOS computer (the Homebrew and npm builds support macOS arm64 and x86_64)
- A signed .ipa, signed device .app, or signed standalone .apk build
- For iOS, the target iPhone's UDID already included in the provisioning profile
- A tunnel provider: Cloudflare Quick Tunnels, Tailscale Serve, or Tailscale Funnel
Steps
- Install the tool with
brew install icodesign/tap/remote-installer. - Run
npx --yes @icodesign/remote-installer share MyApp.ipa --background --expire-after 30m --jsonand note the printed share ID. (inferred, check the README) - Check the share with
remote-installer status. - Read the output with
remote-installer logsif the phone cannot connect. - Stop the share with
remote-installer stoponce installation is done.
Prompt for your agent
Use the repo icodesign/remote-installer to run `npx --yes @icodesign/remote-installer share <path-to-ipa> --background --expire-after 30m --json` and return the install URL and share ID. Verify the response includes a bounded expiry before ending the turn.
Caveat. The --background mode is macOS only and requires a bounded expiry, and the README says the share lifecycle does not survive plain & or nohup.
Use this in your AI agent
Ask your agent
Using the Deduped MCP, get the setup steps for icodesign/remote-installer and "Keep an install link alive after an AI agent exits"
Add Deduped to Claude Code once
claude mcp add --transport http deduped https://dedupedai.com/mcp
Every Monday: the 5 hottest repos and exactly how to use them. Free, one email a week, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Third-party repos we don't own. AI-written use cases can be wrong. Disclaimer