Remote control lets you send a short text message to your phone from another phone, and have SmsForwarder do something for you — send an SMS reply on your behalf, turn forwarding on or off, check the app’s status, check whether the phone is still online, re-sync the subscription state with Google Play, or (with an Advanced subscription) give a plain-language instruction.
Only phone numbers you explicitly add to the allow list can send these commands. There is no shared password — your sender’s number is the credential.
+14155551234).#REPLY or want SMS replies back to the sender.Every command is a normal SMS sent from an allowed number to your phone. The first non-blank line is always the command keyword (starting with #). For commands that take more information, each value goes on its own line.
The command itself is not forwarded as a regular SMS — it is recognized and consumed by the app.
Use this when you want your phone to send a text to someone, but you are not holding it.
Format:
1 | #REPLY |
With a SIM hint (optional, for dual-SIM phones — pin which SIM sends the reply):
1 | #REPLY |
The SIM hint line starts with # and is matched by the last 8 digits. Skip it on single-SIM phones or to use the system default.
Examples:
1 | #REPLY |
1 | #REPLY |
Notes:
Use this to flip a forwarding rule, a delivery channel, or a master forwarding switch without touching the phone.
Format:
1 | #CTRL |
RULE, CHANNEL, or FORWARDING (case-insensitive).RULE — the exact rule name as it appears in the app (case-sensitive, must be unique).CHANNEL — the exact channel name as it appears in the app (case-sensitive, must be unique).FORWARDING — one of SMS, CALL, NOTIFICATION (or NOTIFY), or ALL.1 / 0, TRUE / FALSE, or YES / NO.Examples:
Turn on a specific rule:
1 | #CTRL |
Turn off the master SMS forwarding switch:
1 | #CTRL |
Turn off a delivery channel:
1 | #CTRL |
Turn off everything (SMS, calls, and notifications) at once:
1 | #CTRL |
Notes:
Read-only query. Returns the state of the master forwarding switches and the names of every enabled rule and channel.
Format:
1 | #STATUS |
Example response:
1 | [Remote] Status |
The response may span multiple SMS segments depending on how many rules and channels you have. Carrier charges apply per segment.
Read-only query. Returns a snapshot of the phone’s current state — useful when you just want to know that the phone is awake, online, and not running out of battery.
Format:
1 | #PING |
Example response:
1 | [Remote] Pixel 7 · 2026-05-01 14:35 |
When the phone is on cellular data, the response also shows the network generation, the operator, and (on Android 10 and later) a signal level from 0 to 4:
1 | [Remote] OnePlus 9 · 2026-05-01 14:35 |
Notes:
#PING runs regardless of whether master forwarding is on.Read-only query. Returns a link to this online command reference. Useful when you want to share the documentation with someone, or you can’t remember a command’s exact format and want to look it up.
Format:
1 | #HELP |
Example response:
1 | [Remote] Command reference: https://smsforward.zobubo.com/Remote-Control/ |
The link returned matches the language your phone’s app is set to — English by default, or the Chinese version if the app is in Chinese. #HELP runs regardless of whether master forwarding is on.
Read-only query. Tells the phone to ask Google Play right now for the active subscription tied to the Google account on this device, and rewrite the local subscription state with whatever Play returns.
Use this when you have re-subscribed on another phone (or just made a purchase) and you want this phone to pick up the new entitlement immediately instead of waiting for the daily background check.
Format:
1 | #REFRESH |
Example responses:
1 | [Remote] Subscription refreshed: monthly plan active |
1 | [Remote] Subscription refreshed: yearly plan active |
1 | [Remote] Refresh complete: no active subscription on this Google account |
1 | [Remote] Refresh failed: cannot reach Google Play. Check network and try again. |
Notes:
#REFRESH runs even when the local subscription has expired — that is the recovery path it is designed for. It also runs regardless of whether master forwarding is on.#REFRESH repeatedly cannot purchase or cancel a subscription; it only re-reads what Google Play already knows.Use this when you want to give the phone an instruction in plain language, instead of writing a structured command. SmsForwarder hands the message to the cloud AI provider you configured, asks it to rephrase the request as one of the existing commands, then runs that command — but only if the result still maps to one of the allowed keywords.
Format:
1 | #AI |
Examples:
1 | #AI |
1 | #AI |
1 | #AI |
Prerequisites:
If any prerequisite is missing, the command is rejected with a short reason.
Notes:
#AI always runs in the cloud. AI processing in SmsForwarder is cloud-only by design.#REPLY / #CTRL / #STATUS / #PING / #HELP / #REFRESH. Anything outside that list is dropped — #AI cannot be used to run new or arbitrary commands.#AI text and the translated command are saved together in the forwarding history detail panel for audit.Every command produces a short result message. You can receive that result in either or both of these ways, configured under Remote control:
Both options are independent. You can use just one, both, or neither (in which case commands still execute but you receive no acknowledgement).
If a command is malformed, you receive a message like:
1 | [Remote] Command rejected: <reason> |
Typical reasons:
#REPLY was sent without a destination phone number.#REPLY was sent without a message body.#CTRL did not include RULE, CHANNEL, or FORWARDING on the second line.#CTRL was not one of the three valid values.#CTRL RULE or #CTRL CHANNEL did not include a name.#CTRL FORWARDING got something other than SMS, CALL, NOTIFICATION / NOTIFY, or ALL.+ is the most reliable).If a command is not behaving as expected, see the Technical Support page.