CleanYourTV: a launcher and a debloat for Android TV, driven by a prompt
Debloat any Android or Google TV over Wi-Fi and get an Apple TV-style home.
At a glance
- What is it?
- CleanYourTV removes the ad services and preloaded apps from an Android TV or Google TV over ADB, then installs a small native launcher as the home screen. Nothing is uninstalled, so a restore script can undo every step, and the whole procedure is handed to a coding assistant as a prompt rather than a script.
- Who is it for?
- CleanYourTV suits anyone who owns an Android TV or Google TV, is willing to spend fifteen minutes with a coding assistant, and wants the sponsored rows and telemetry gone without bricking the device. It does not suit a Samsung or LG set, a Fire TV that you want to run a third-party launcher on, or a China-market TCL that refuses launcher installs.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Java, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Two halves, and only one of them is visible
The project does two separate things to a television, and the visible half is the smaller one. The first half is removal: the manufacturer's telemetry, ad services, content rows and preloaded junk are disabled, so the home screen stops selling you things. The second half is replacement: a small native launcher, described as 280 KB, is installed and made the default home screen.
The launcher is what most people will see. The README describes a pitch-black home with a dock of four favourite apps in a rounded band, placed where Apple TV puts it. A top shelf names the focused app in large type with an ambient glow in a colour taken from the app's own artwork. The rest of the apps sit in a grid that slides up when you press Down, and a single floating glass highlight springs from tile to tile, with the focused tile lifting to show its name. Three frosted buttons cover the practical cases: Inputs, which lists HDMI ports, AV and Live TV, a network button showing Wi-Fi or Ethernet with the network name, and Settings. There is a greeting, a thin clock and the date set in the Outfit typeface, plus a matching clock screensaver that drifts so the pixels do not burn in.
Themes change colours, wallpaper, dock and column count without a rebuild, and module cards let other apps plug a tile in, but only with your say-so. A theme can be pushed with the helper script in the tools directory.
Disable, never uninstall
The removal half is implemented with one Android package manager command:
pm disable-userThe key word is disable. The documentation is explicit that nothing is uninstalled, so a restore script can undo every step. That is a design decision with a real consequence: a disabled package is still on disk and still takes up space, but it stops running, stops registering its ad services and stops phoning home. A system update may restore some behaviour, and an app that another package depends on can misbehave when disabled, but the failure mode is recoverable, which is the point.
The order of operations matters and is documented. First, back up the list of installed packages and settings. Then disable. Then install the launcher and set it as the home screen. Without the backup step, a disable operation that breaks the television leaves you with no record of what was changed, and the restore depends on knowing the original state.
What gets disabled varies by brand, and the project does not pretend otherwise. The prompt is written so that your coding assistant discovers the bloat on your actual television and asks before touching anything you might use, rather than applying a fixed list that was written for a different set. The per-model lists in the examples directory are starting points for that discovery, not a script to run blind.
The procedure is a prompt, not a command
This is the part that makes CleanYourTV different from every other debloat script. There is no installer to download and no shell script to run. You paste a file called PROMPT.md into a coding assistant and let it drive the process.
The quick start has three parts. On the television, you go to Settings, then Device Preferences, then About, and press OK on the Build entry seven times to reveal the developer options, where you switch USB debugging on. If the television shows a network or ADB debugging toggle, that one goes on too, because the connection is over Wi-Fi. Then, on the computer, you paste PROMPT.md into the assistant and fill in your television model. Finally you accept the debugging prompt on the television and answer a checklist: which apps you use, which four belong in the dock, whether to keep the voice assistant, whether to keep Chromecast, and whether to keep updates.
The assistant then backs up, debloats, builds and installs the launcher, and checks each step with screenshots pulled from the television itself. The README estimates about fifteen minutes with this repository as context.
The requirement is a computer on the same Wi-Fi network as the television and a coding assistant with shell access, and Claude Code is the one named. The repository is openly described as vibe coded, and the author recounts giving Claude Code a model number, letting it find the television on Wi-Fi, remove 25 Xiaomi packages and write the new launcher.
Network ADB is the part to be careful about
Every step of this procedure depends on the television accepting debug commands from a machine on the local network, and that is worth thinking about before you start rather than after.
Android debug mode gives an attached client broad control over the device. With USB debugging enabled and a network debugging toggle turned on, any machine that can reach the television on the LAN can ask the television to install packages, change settings and run commands, subject to the authorisation prompt you accept once. The authorisation itself is per computer, but the exposure lasts as long as the toggle is on. The sensible sequence is to enable the toggles, do the work, and switch them off again, and the project does not document a post-procedure step that does this for you.
There is a second consideration that follows from the design. The disable list is a community artifact. It is contributed per model, it is maintained by people who own those sets, and a list that disables a package which a particular firmware build needs will break something that matters to you. That is why the restore script and the package backup exist, and it is why reading the list header for your exact model before running the assistant is worth the extra minute.
The permissions themselves are unremarkable. No root, no cable and no bootloader modification are needed, and the tool works with the standard Android debugging bridge that ships with the platform.
Fifty four models, and the three that do not qualify
The repository carries tested lists from contributors, one folder per model under the examples directory. The counts by brand are given in the README: Xiaomi with 12 lists, TCL with 11, Sony with 8, and CHiQ, Hisense and Philips with 2 each. The remaining entries cover the Amazon Fire TV Stick, BenQ, Chromecast with Google TV, Hitachi, Insignia Fire TV, the NVIDIA Shield, OnePlus, Panasonic, RCA, Redmi, SANYO, Skyworth, Thomson, Toshiba Fire TV, Vu, Stellamore and XGIMI projectors. The release notes for version 2.3.0 put the total at 54 televisions and 12 languages.
Three exclusions are stated, and they are structural rather than temporary.
Samsung sets run Tizen and LG sets run webOS, so neither is an Android TV at all; a separate webOS port is described in SHOWCASE.md. Fire TV runs Fire OS, which is Android underneath, so the debloat half works, but Fire OS will not hand the Home role to a third-party launcher, so the launcher half does not. And a few China-market TCL sets refuse to install any launcher at all, which their lists say so in the header.
The repository was renamed once, from tv-vibehack to the current name on the 19th, and the documentation notes that old links still work. That is a hint about the churn rate of this project, which is young and moving fast: three releases, v2.1.0, v2.2.0 and v2.3.0, all on 2026-10-19, and a last push the same day.
A community project with a code of conduct and a licence
The project is a community effort rather than a company product. The top level of the repository holds a LICENSE file, a CODE_OF_CONDUCT.md and a CONTRIBUTING.md alongside the documentation, the prompt, the launcher source, the per-model example lists, a themes directory, a tools directory and a tests directory. The licence badge points at MIT, and the presence of a tests directory next to a launcher that is described as vibe coded is a good sign about the direction of the project.
The structural split into directories is worth understanding before you read the code. The launcher is the part that installs on the television, the themes directory holds the appearance configurations that can be pushed without a rebuild, the tools directory holds the helper scripts including the theme push script, the examples directory holds one folder per television model, and PROMPT.md is the instruction set your assistant reads. The docs directory holds the images used in the README.
The honest assessment is that this is an experiment in delegating device customisation to a language model, and it is a good one, because the checklist of questions in the prompt and the screenshot verification loop give the agent the two things it lacks by default, namely a boundary and a way to check its own work. The weakness is the same one any list-driven debloat has, that the list is only as good as the contributor who owned that exact set, and the backup and restore path is what turns a mistake into a minor inconvenience.
Editorial conclusion
CleanYourTV suits anyone who owns an Android TV or Google TV, is willing to spend fifteen minutes with a coding assistant, and wants the sponsored rows and telemetry gone without bricking the device. It does not suit a Samsung or LG set, a Fire TV that you want to run a third-party launcher on, or a China-market TCL that refuses launcher installs. Before you start, note that the procedure needs network ADB debugging switched on, and that you are relying on a community list of packages to disable for your exact model, so read the restore script and check the list header for your television before you run anything.
Frequently asked questions
Does CleanYourTV need root access?
No. The procedure works over the standard Android debug bridge with USB debugging enabled in the television's developer options, and the README states there is no root, no cable, and nothing uninstalled.
Can I undo the changes CleanYourTV makes to my television?
Yes. The tool disables packages with pm disable-user rather than uninstalling them, and the first step is a backup of the installed package list and settings, so a restore script can undo every step if you change your mind.
Does the launcher work on Fire TV or on Samsung and LG televisions?
Fire TV only gets the debloat half, because Fire OS will not hand the Home role to a third-party launcher. Samsung sets run Tizen and LG sets run webOS, so they are not Android TV at all, and a webOS port is described separately in SHOWCASE.md.
How do I run the CleanYourTV procedure?
Enable developer options on the television by pressing OK on Build seven times and turning on USB debugging, plus the network or ADB debugging toggle if there is one. On a computer on the same Wi-Fi, paste PROMPT.md into a coding assistant with shell access, such as Claude Code, fill in your television model, accept the debugging prompt on the television, and answer the checklist about your apps.
Official sources
Where developers are discussing it
Posts on Hacker News, dev.to and Lobsters that link to this repository, found by our scan of those communities. 2 in the last 30 days; newest first.
- Cleanyourtv – Debloat Any Android or Google TV over Wi-FiHacker News · Oct 22, 2026 · 3 points · 2 comments
- Strip the Bloatware from Any Android TV or Google TV over Wi-FiHacker News · Oct 20, 2026 · 6 points · 0 comments
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/gathin23-cleanyourtv)Was this useful?