diff --git a/admin/src/pages/sms/SmsSetupPage.tsx b/admin/src/pages/sms/SmsSetupPage.tsx
index e54e3ca4..d1d87eb3 100644
--- a/admin/src/pages/sms/SmsSetupPage.tsx
+++ b/admin/src/pages/sms/SmsSetupPage.tsx
@@ -447,11 +447,14 @@ export default function SmsSetupPage() {
Auto-start on phone reboot:
- Install Termux:Boot from F-Droid, then run these two commands:
+ Install Termux:Boot from F-Droid, then run these commands one at a time:
-
- > ~/logs/watchdog.log 2>&1 &\\n' > ~/.termux/boot/start-sms-server && chmod +x ~/.termux/boot/start-sms-server"} />
+
+
+
+
+
Also disable battery optimization: Android Settings → Apps → Termux → Battery → Unrestricted.
diff --git a/mkdocs/docs/docs/admin/broadcast/sms.md b/mkdocs/docs/docs/admin/broadcast/sms.md
index 67ae4a20..293822c6 100644
--- a/mkdocs/docs/docs/admin/broadcast/sms.md
+++ b/mkdocs/docs/docs/admin/broadcast/sms.md
@@ -162,16 +162,19 @@ This is **required** regardless of which method you use below:
Install [Termux:Boot](https://f-droid.org/packages/com.termux.boot/) from F-Droid (must be same source as Termux), then open it once to register with Android.
-```bash
-# Create the boot scripts directory
-mkdir -p ~/.termux/boot
+Run each command one at a time (copy-paste friendly):
-# Create the auto-start script (single command, no heredoc)
-printf '#!/data/data/com.termux/files/usr/bin/bash\nsource ~/.bashrc\ntermux-wake-lock\nmkdir -p ~/logs\nnohup python ~/sms-server/android/termux-sms-api-server.py >> ~/logs/sms-api.log 2>&1 &\n' > ~/.termux/boot/start-sms-server && chmod +x ~/.termux/boot/start-sms-server
+```bash
+mkdir -p ~/.termux/boot && echo '#!/data/data/com.termux/files/usr/bin/bash' > ~/.termux/boot/start-sms-server
+echo 'source ~/.bashrc' >> ~/.termux/boot/start-sms-server
+echo 'termux-wake-lock' >> ~/.termux/boot/start-sms-server
+echo 'mkdir -p ~/logs' >> ~/.termux/boot/start-sms-server
+echo 'nohup python ~/sms-server/android/termux-sms-api-server.py >> ~/logs/sms-api.log 2>&1 &' >> ~/.termux/boot/start-sms-server
+chmod +x ~/.termux/boot/start-sms-server
```
-!!! tip "Why printf instead of heredoc?"
- Heredoc (`<< 'EOF'`) blocks are unreliable when copy-pasting on mobile devices — trailing whitespace or clipboard quirks prevent the `EOF` from being recognized. The `printf` one-liner is more reliable for mobile copy-paste.
+!!! tip "Why individual echo commands?"
+ Heredocs and `printf` with `\n` are unreliable when copy-pasting to a mobile terminal — the clipboard mangles escape sequences or adds trailing whitespace. Individual `echo >>` commands are the most reliable approach for mobile copy-paste.
#### C. Watchdog (auto-restart on crash)
@@ -193,9 +196,11 @@ The watchdog:
For maximum reliability, use the watchdog as your boot script:
```bash
-mkdir -p ~/.termux/boot
-
-printf '#!/data/data/com.termux/files/usr/bin/bash\ntermux-wake-lock\ncd ~/sms-server/android\nnohup bash sms-watchdog.sh >> ~/logs/watchdog.log 2>&1 &\n' > ~/.termux/boot/start-sms-server && chmod +x ~/.termux/boot/start-sms-server
+mkdir -p ~/.termux/boot && echo '#!/data/data/com.termux/files/usr/bin/bash' > ~/.termux/boot/start-sms-server
+echo 'termux-wake-lock' >> ~/.termux/boot/start-sms-server
+echo 'cd ~/sms-server/android' >> ~/.termux/boot/start-sms-server
+echo 'nohup bash sms-watchdog.sh >> ~/logs/watchdog.log 2>&1 &' >> ~/.termux/boot/start-sms-server
+chmod +x ~/.termux/boot/start-sms-server
```
#### D. Quick Background (simplest)