COMPUTER WALKTHROUGH / GUIDED OR MANUAL

A clearer TV.
Your computer can help.

Use an AI coding assistant—or follow the manual Windows, macOS and Linux instructions.

GET READY

Your computer.
A clear plan.

You need Git and Python 3. Building the launcher also needs a compatible Java development kit and Android SDK; the current project uses Java 17 source compatibility and SDK 34. Windows scripts can locate Android Studio’s bundled JDK and default SDK.

Keep your computer and TV on the same trusted network, the TV awake, and the remote nearby. Identify the exact TV model, Android version and firmware. Check the compatibility directory; the launcher requires TV Android 8.0+, while supported cleanup can apply more widely.

On many TVs, Settings → System/Device Preferences → About → Build seven times unlocks Developer options. Enable the relevant debugging mode. Accept the TV prompt only for your computer. Some USB accessories or USB Ethernet connections can be interrupted while debugging is enabled.

Build requirements ↗ · Model-specific preparation ↗

PATH A / WITH AN AI CODING ASSISTANT

Let the assistant type.
You make the choices.

  1. Get the official repository.

    In a terminal, download the project and enter its folder:

    git clone https://github.com/Gathin23/cleanyourtv
    cd cleanyourtv
  2. Open that folder in a shell-capable coding assistant.

    Use the repository’s current PROMPT.md, filling in your exact TV model. Ask it to use the existing guarded scripts and save recovery information. REA is not a prerequisite.

  3. Follow along on the TV.

    Approve your computer’s connection. Answer the questions about apps, dock layout, voice controls, casting and updates. Require verification after each stage, and keep the restore instructions. A short generic “remove all bloat” prompt omits important device-specific checks.

PATH B / RUN THE SCRIPTS YOURSELF

Pick your platform.

First clone the official repository using the two commands above. Run the following from its root folder. The TV IP and cleanup-list path must be yours; don’t use a list simply because the brand matches.

Windows / PowerShell

Create the environment, enter your TV’s address and probe it. Approve the connection on the TV.

python -m venv tools\venv
tools\venv\Scripts\python.exe -m pip install -r tools\requirements.txt
$env:TV_HOST = Read-Host "Enter your TV IP address"
tools\venv\Scripts\python.exe -I tools\tv.py --probe

Choose a reviewed debloat.txt for your exact device/firmware. Save the pre-change record before modifying Home or packages:

$tvList = Read-Host "Path to your reviewed debloat.txt"
tools\venv\Scripts\python.exe -I tools\recovery.py --save "$tvList"

On a compatible TV, build/install the launcher, then apply the reviewed list. Stop if the installer refuses or Home verification fails; don’t force its safety guards.

powershell -ExecutionPolicy Bypass -File launcher\build-and-install.ps1 -TvHost $env:TV_HOST
powershell -ExecutionPolicy Bypass -File tools\disable.ps1 -TvHost $env:TV_HOST -List "$tvList"

Undo using the same list:

powershell -ExecutionPolicy Bypass -File tools\restore.ps1 -TvHost $env:TV_HOST -List "$tvList"

Installer ↗ · Cleanup script ↗ · Restore script ↗

macOS & Linux / terminal

Replace YOUR_TV_IP and the list path before running. Approve the TV connection and confirm the probe identifies the expected device.

python3 -m venv tools/venv
tools/venv/bin/python -m pip install -r tools/requirements.txt
export TV_HOST="YOUR_TV_IP"
tools/venv/bin/python -I tools/tv.py --probe
TV_LIST="path/to/your-reviewed-debloat.txt"
tools/venv/bin/python -I tools/recovery.py --save "$TV_LIST"

With a compatible JDK and Android SDK configured, install the launcher, then apply the reviewed cleanup list. Stop on an error or device-specific refusal.

bash launcher/build-and-install.sh
bash tools/disable.sh "$TV_LIST"

Undo using the same list:

bash tools/restore.sh "$TV_LIST"

Installer ↗ · Cleanup script ↗ · Restore script ↗

These blocks are instructions for you to review and run; this website never connects to your TV or executes them. Recovery records cover affected package/Home/animation state, not a full firmware backup. Keep the exact list and ~/.cleanyourtv/ records.

My TV asks for a wireless pairing code.

Install Google’s Android SDK Platform-Tools. Open Wireless debugging → Pair device with pairing code on the TV. Replace the placeholders using its displayed details; pairing and connection ports differ.

adb pair TV_IP:PAIRING_PORT
adb connect TV_IP:CONNECTION_PORT
adb tcpip 5555

Enter the pairing code when asked. The last command enables TCP port 5555 for the project’s documented tools. This may need repeating after a reboot. Once finished, close every debugging mode you opened, including Wireless debugging itself.

Current pairing/troubleshooting instructions ↗

macOS says “No route to host.”

Check System Settings → Privacy & Security → Local Network for the app hosting the terminal or assistant, then quit/reopen it after allowing access. Current troubleshooting corrects older advice: switching from adb to Python does not bypass this permission.

macOS connection notes ↗

Launcher only, Fire TV or a remote household?

Launcher only: after preparation/recovery, run the launcher installer without the separate disable-list command. It still changes Home ownership. Main releases provide source, not a universal launcher APK.

Cleanup only: on supported devices where a replacement launcher is unavailable, skip the launcher command, keep the original Home and use only a reviewed compatible cleanup list. Don’t force the Home guard. Some Fire OS devices refuse all package changes.

Remote help: use the project’s documented Tailscale setup and someone at the TV to approve prompts. Never port-forward ADB to the internet.

Remote-help instructions ↗

MAKE SURE IT WORKS FOR YOUR HOUSEHOLD

Test. Keep your undo.
Close debugging.

  • Test Home, Settings, volume, shortcuts, HDMI/live TV and streaming.
  • Try voice and casting if you kept them. Leave firmware updates enabled unless you deliberately chose otherwise.
  • Keep the exact cleanup list, recovery record and any installer recovery instructions. The restore script needs the saved state; without it the fallback is less precise.
  • Turn off USB/Network/ADB/Wireless debugging as applicable and revoke authorisations. Debugging is not needed for everyday launcher use.

The project’s adb-closed.py can check the relevant port while the TV is awake. A timeout is inconclusive; a connection refusal is the meaningful closed-port result. If a firmware update later changes Home or re-enables packages, review the project’s update-check instructions before reapplying anything.