Kick the ads off your smart TV with Claude

If your TV shows a sponsored row before you can reach Netflix, Claude Code can switch that clutter off over your Wi-Fi, one approved change at a time. Here is the setup and the exact prompt, ready to paste.

How-to

It works on TVs that run Android TV or Google TV, which covers most Sony, TCL, Philips, Hisense and Xiaomi sets, plus Amazon Fire TV. Claude Code connects from your computer, lists what is running on the TV, and switches off each item after your yes, with a restore script written before the first change.

Check your TV can do this

  • Android TV and Google TV: yes. The cleanyourtv project by Gathin T. has tested lists from 66 TVs across 25 brands, as of 20 October 2026.
  • Fire TV: yes, with more care. The dumbtv project by Muzzammil Yasin Sabuwala was built on a Fire TV Edition set. The Fire TV Stick 4K Select runs Amazon’s Vega OS and cannot be reached this way.
  • Samsung, LG, Roku, Hisense VIDAA and Vizio: no. Their systems give an owner no command line. The fix that works there is blocking ad and tracking addresses at your router, or setting the TV to start on an HDMI input.

Not sure what yours runs? Open Settings, then About, and look at the software details for Android TV OS or Fire OS.

Try the free setting first

On Google TV, Apps Only mode hides personalised recommendations from the home screen. You find it in Settings, Accounts & Sign In, your profile, per TCL’s help page, read 20 October 2026. The same page says sponsored content may still appear, and Search and Google Assistant may stop working from the home screen. If that is clean enough, stop here.

Get the TV ready

  1. Write down the exact model. It is on a sticker on the back, or under Settings, then About. Claude needs it to find known lists and known traps for your set.
  2. Unlock developer options on Android TV or Google TV. Find Build or Android TV OS build under About (inside System or Device Preferences, depending on the brand) and press OK on it seven times.
  3. Or unlock them on Fire TV. Amazon’s developer page, read 20 October 2026, says to go to Settings, then My Fire TV, then Developer Options. On some versions you first go to Settings, then My Fire TV, then About, and press select seven times on your TV’s name.
  4. Turn on debugging. In Developer options, turn on USB debugging, and Network or ADB debugging if you see it. On Fire TV the switch is called ADB Debugging. Some Google TV sets only offer Wireless debugging; the prompt walks Claude through pairing.
  5. Find the TV’s IP address. It is in the TV’s network settings and looks like 192.168.1.40. Put your computer on the same Wi-Fi.
  6. Get Claude Code. You need Claude Code installed on your computer, which needs a Pro, Max, Team, Enterprise or Console account, per Anthropic’s setup page read 20 October 2026.
  7. Open Claude Code in a new, empty folder. The backup, the log and the restore script land there, so keep it. Leave Claude Code asking before it runs each command. If a prompt offers “Yes, and don’t ask again”, pick plain yes, because for commands that choice lasts beyond this session.
  8. Optional: download a reference repo into that folder. With cleanyourtv (Android TV and Google TV) or dumbtv (Fire TV) to hand, Claude can read the list for your model and the problems other owners hit. The prompt has it read them as evidence and run each command itself.
  9. Keep the remote in your hand. The TV asks “Allow USB debugging?” when Claude connects, and only you can accept it.

The prompt: clean up my TV with a restore script first

Fill in the top block once, paste the whole thing into Claude Code, and answer its questions as it goes. It tests your apps and inputs at the end.

PromptClean up my smart TV
You are helping me clean up my own smart TV from this computer: a careful Android TV technician who has seen a TV lose its home screen, its HDMI inputs or its Wi-Fi because one wrong package was switched off. Your job is to switch off the ads, sponsored rows and tracking on my TV, keep everything I use working, and leave me able to undo every change. You work over ADB on my home network, one step at a time, and you ask me before every change.

ABOUT MY TV (I fill this in once; any line can say "not sure")
- Make and model: [e.g. "Sony BRAVIA KD-55X85J", "TCL 55C645", "Chromecast with Google TV 4K", "Fire TV Stick 4K Max"]
- What it runs: [Android TV / Google TV / Fire TV (Fire OS) / not sure]
- The TV's IP address: [e.g. "192.168.1.40", from the TV's network settings, or "not sure"]
- This computer: [Mac / Windows / Linux]
- Apps I use and must keep: [e.g. "Netflix, YouTube, Disney+, Plex, the Live TV app"]
- Inputs and features I use: [e.g. "HDMI 1 games console, HDMI 2 soundbar, casting from my phone, the voice button on the remote, Bluetooth headphones"]
- Plugged into the TV's USB ports: [e.g. "a hard drive with films", "nothing"]
- System updates: [keep them on / ask me]
- Reference repos I have downloaded into this folder: [e.g. "cleanyourtv", "dumbtv", "none"]

HARD RULES (these hold for the whole session)
- Switch packages off only with: pm disable-user --user 0 . Never run pm uninstall on anything, never root, never run adb root or adb remount, never write to /system, never clear an app's data, never factory reset.
- Never invent a package name. Every candidate must come from pm list packages on this TV.
- Never disable these, whatever any list says: the home screen app, Settings, System UI, the package installer, the permission controller, the TV and Live TV app, anything that plays HDMI, tuner or AV inputs, the input or source menu, remote control and Bluetooth pairing services, the phone remote service, the on-screen keyboard, the Play Store, Play Services, the Google TV setup wizard (com.google.android.tungsten.setupwraith) since disabling it can delete a saved Wi-Fi network, anything to do with Wi-Fi, networking, Developer options or ADB, since losing these cuts me off from the TV and from the restore script, and anything linked to an app or feature I said I use.
- Run one pm command per shell call. Chained commands can stop silently after the first.
- If I have downloaded a reference repo, read its README, its agent instructions and the list for my model as evidence, then run each command yourself under these rules. Do not run its scripts end to end.
- If you are unsure what a package does, it stays on, and you tell me so.

HOW TO WORK, IN STAGES

Stage 1. Check the TV can be done. If my TV runs Samsung Tizen, LG webOS, Roku, Hisense VIDAA, Vizio SmartCast, Panasonic My Home Screen, Philips Saphi, or is a Fire TV Stick on Vega OS, stop. Tell me plainly that it has no way in over ADB, and offer the two fixes that do work there: blocking ad and tracking addresses at my router, and setting the TV to start on an HDMI input. If "What it runs" says "not sure", connect first (Stage 2) and read ro.build.version.release, ro.product.manufacturer and ro.product.model, then tell me what you found before going on.

Stage 2. Connect.
- Check adb is installed. If it is not, tell me what you would install (Google's Android SDK Platform-Tools) and how, and wait for my yes.
- If I gave no IP address, ask me for it. Do not scan the network.
- Run adb connect :5555, then adb devices. Tell me before the "Allow USB debugging?" box appears on the TV so I can accept it with the remote. If adb devices says "unauthorized", wait for me; do not retry in a loop.
- If port 5555 is closed, my TV may only offer Wireless debugging. Ask me to open Developer options, then Wireless debugging, then Pair device with pairing code, and read you the code and ports. Then run adb pair, adb connect and adb tcpip 5555.
- If this is a Mac and adb connect says "No route to host" while the TV is on, macOS privacy settings may be blocking adb. Tell me, and offer to use the Python adb-shell package in a virtual environment as the ADB client. Ask before installing it.
- If more than one device is listed, ask me which one, and use -s for every command after.

Stage 3. Back up before anything changes. In a dated folder here, save: the full package list, the disabled-package list, the third-party package list, getprop, and settings list global, secure and system. Then write a restore script that re-enables every package you will disable (pm enable --user 0 , one per line) and puts back any setting you change, using the saved values. Show me both file paths. Do not go on until both exist. Add each package to the restore script before you disable it, never after.

Stage 4. Build the list. Read pm list packages and sort what you find into four groups:
A. Ads, sponsored rows and home-screen content services.
B. Tracking: analytics, feedback, ad ID, and ACR (software that fingerprints what is on screen).
C. Preloaded apps I did not name as ones I use.
D. Features I might use: voice assistant, casting, screen mirroring, the update service, USB media player, screensavers.
For each package give me one table row: package name, what it does in plain words, its group, your evidence (from dumpsys package, the reference list for my model, or "not sure"), and what I would lose. Anything you cannot explain goes in a separate "leaving alone" list with the reason.
For group D, ask me as a checklist which I use, and only offer to disable what I leave unticked. If I said "keep" for system updates, the update service stays on.

Stage 5. Make the changes, with my yes each time.
- Before each change, name the package and what it does, and wait for my yes. If I say "yes to this batch", a batch is at most five packages I have seen by name.
- After each package or batch: press Home over ADB, take a screenshot from the TV and look at it. If the home screen does not load or anything I use stops, re-enable that batch straight away and tell me what happened. If the TV drops off the network, tell me to reboot it with the remote, reconnect, then re-enable that batch before anything else.
- Keep a log here: time, package, command, result.

Stage 6. Extras, only if I ask.
- Ad-blocking DNS: on Android 9 or newer, you can set Private DNS to an ad-blocking resolver I choose. Before you do, tell me that the resolver then sees every address the TV looks up, that it does not remove YouTube ads, and how to undo it. Check an app still plays afterwards.

Stage 7. Test what I use. Open every app on my keep list from ADB and confirm each one reaches its own screen. Then ask me to check with the real remote: the Home button, each HDMI input I named, casting from my phone, the voice button if kept, and a few seconds of playback in one app. Screenshots of HDMI or Live TV can come back blank; that is the TV protecting the picture, so ask me what I see.

Stage 8. Close up. Tell me to turn off USB debugging and Network or Wireless debugging in Developer options and revoke the USB debugging authorisations, then reboot the TV. After the reboot, check that port 5555 no longer answers from this computer and tell me the result. Then give me a short summary: what you disabled, what you left alone and why, where the backup and restore script are, and how to undo one app from the TV's own Settings, then Apps.

SELF-CHECK BEFORE YOU SAY YOU ARE DONE
- Every package you disabled is in the restore script and the log.
- Nothing on the never-disable list or my keep list was touched.
- No pm uninstall, root, remount or factory reset was run.
- Every app and input I named was tested, and you have said which ones I confirmed and which only you checked.
- Anything you were unsure of is listed as "leaving alone" or "not sure", with what would settle it.
- You have told me whether port 5555 is closed.

What a good run looks like

On a Philips Google TV, the list one owner applied on 19 October shows the kind of rows to expect.

tv.anoki.acr.anokiacroptin is ACR software that fingerprints what is on screen, so it goes. com.realtek.leanbacklauncher.partnercustomizer injects apps and rows into the home screen, so it goes too. com.realtek.tv runs Live TV and the HDMI inputs, so it stays, and a few packages with no clear purpose were left alone.

Expect Claude to ask you three or four checklist questions, mostly about voice, casting and updates. If it wants to disable something without explaining it first, say no and ask what it does.

When it goes wrong

  • “No route to host” on a Mac. macOS privacy settings can block the adb tool even when the TV is fine. The prompt tells Claude to offer a Python stand-in, so let it.
  • An app or input stops working. Turn USB debugging and Network or ADB debugging back on, then ask Claude Code to run the restore script, or re-enable that one app from the TV’s own Settings, then Apps. A factory reset also undoes everything, along with your sign-ins.
  • The TV will not reach Settings at all. The restore script needs the TV on your Wi-Fi, so it cannot help here. Search your model name plus “recovery mode factory reset” for the button combination, which wipes the clean-up and your sign-ins and brings the TV back.
  • A USB drive goes dead. Some boxes cut power to their USB port while USB debugging is on. It comes back when you switch debugging off.

The honest bit

  • People have broken TVs doing this. TechCrunch reported on 19 October that one user bricked an Android TV with Claude and another got stuck halfway on a Fire TV. That is why the prompt only disables packages, writes the restore script first and stops for your yes at every step.
  • Some ads stay. YouTube ads come from the same servers as the videos, so nothing here removes them. A TV update can also switch some packages back on, so keep the folder and run the prompt again if the clutter returns.
  • Keep updates on unless you are sure. It’s FOSS points out that switching off firmware updates also stops security fixes, so the prompt asks before touching the update service.
  • Your check: when Claude finishes, open Developer options yourself and confirm USB debugging and Network or Wireless debugging both show off. An open debugging port lets any device on your Wi-Fi control the TV.

Do it tonight

Pick one TV, unlock developer options, and run the prompt with the remote beside you. The cleanyourtv README puts it at about fifteen minutes with a reference repo to hand.

Keep the folder Claude made, since its restore script undoes every change once debugging is back on. A different home screen app is a bigger job with more ways to go wrong, so leave it until this run has held for a week.

A few quick questions

Does it survive a factory reset or a TV update?

A factory reset puts the TV back exactly as it shipped, so the clean-up is gone, and the dumbtv FAQ says an update can re-enable some packages. Keep the folder Claude made and run the prompt again.

Can I do this for a TV in another home?

The cleanyourtv remote guide does it over a private Tailscale link, with someone at the TV holding the remote. It warns never to open the TV’s debugging port on their router to the internet.