Get started
Install the app
PhoneBridge is sideloaded, because it needs SMS and call permissions Google Play does not grant to companion apps. This page covers the download, the Play Protect prompt, permissions and updates.
Download#
Every push to main is compiled and signed by GitHub Actions and served from this site. The build you install is the source you can read.
- Requires
- Android 10 (API 29) or newer. No Google Play Services needed.
- Size
- About 5 MB.
- Signing key
apksigner verify --print-certs phonebridge.apkprints SHA-256c8a6e11c e0e71218 b5c3f027 3a1d4092 cdcf1c63 17acbaed 51885861 a08cfcdd. Every release uses this key, so updates install over the top and keep your pairing.
Install#
- Download the APK in the phone's browser and open it from the download notification. Allow “install unknown apps” for the browser if Android asks.
- If Play Protect says “App blocked”, tap More details, then Install anyway. Play Protect flags any sideloaded SMS app signed with a key Google has not seen; the warning is about the category, not this build.
- If there is no “Install anyway” (phones in a few regions with enhanced fraud protection hide it), pause Play Protect for one install: Play Store → your avatar → Play Protect → settings → turn off Scan apps with Play Protect, install, turn it back on. A later “unsafe app” notice can be dismissed with Keep app.
First launch#
- Grant the permissions the app lists: SMS, phone, call log and contacts. Each one maps to a tool; deny one and that tool reports
permission_missinginstead of failing silently. - Accept the battery exemption. Without it Android suspends the connection in Doze and Claude sees the phone as offline. The status screen warns if it is later revoked. This is the documented exception for messaging apps that do not use Google's push service.
- Pair. The app opens on the pairing screen. Pairing a phone.
Why it is not on Google Play. Play's policy allows SMS and call-log permissions only for an app that is the default SMS or dialer app. PhoneBridge is deliberately neither: it sits beside your normal apps and reads the same system message store. Sideloading is the price of that design.
Updates#
Install a newer APK over the existing one the same way. Pairing, keys and policy survive, because they live in the app's private storage and the Android Keystore. The version in use is shown at the bottom of the status screen and in the dashboard next to each phone.
Uninstall#
Remove the phone from your dashboard first, so its keys are revoked and the relay closes the socket. Then uninstall the app like any other. The device key is destroyed with the app's Keystore entry and cannot be recovered or reused.