CleanYourTV: Safely Streamline Your TV with Claude Code

CleanYourTV uses Claude Code to generate ADB commands to disable TV ads and telemetry, but carries mis-disable risks—proceed with caution.
CleanYourTV is an open-source project that uses the AI coding assistant Claude Code to generate and execute ADB commands, connecting to an Android TV over Wi-Fi to disable ads, telemetry, and pre-installed apps. Its core is a combination of prompts and scripts, mainly using pm disable-user to disable rather than uninstall, preserving recoverability. However, AI's semantic judgment of package names may mistakenly disable critical system packages, and package names vary greatly across TV brands, making the effect of the same set of prompts unpredictable. The project itself acknowledges these breakpoints and recommends that users back up the package list, review commands one by one, and start with non-critical packages. The value of this project lies in demonstrating a new form of AI as a system operations agent, but the responsibility for recovery still rests with the user, and it is better used as an auxiliary tool rather than a fully automated solution.
Smart TV ads and telemetry data collection are a headache for many, but manually slimming down the system has too high a barrier to entry. Recently, an open-source project called CleanYourTV attempted to automate this process with the AI coding assistant Claude Code: connect to an Android TV over Wi-Fi and strip out ad and telemetry components using a set of prompts plus scripts. Sounds great in theory, but is it actually reliable? This article breaks down how it works, its potential risks, and provides a safety checklist for operation.

1. What Is CleanYourTV: A Prompt-Driven TV Slimming Solution
CleanYourTV is not a ready-made APK or one-click tool, but a combination of "prompts + scripts." Its core idea is to let Claude Code act as the executor: users input the prompts provided by the project into Claude Code, which then generates and executes a series of ADB commands based on those prompts, connecting over Wi-Fi to an Android TV on the same network and progressively disabling ad services, telemetry reporting components, and pre-installed bloatware.
The advantage of this design is transparency—each step is presented as a command, and in theory users can review before executing. Compared to the dubious "one-click ad removal scripts" circulating online, CleanYourTV at least lays out the logic in the prompts. But it also inherits the inherent risks of AI-generated commands: Claude Code may misjudge package names for specific TV models, or execute system-level operations beyond expectations.
2. How It Works: The Triangle of ADB, Package Names, and AI
Connection and Identification
The first step of the entire process is establishing a connection via ADB over Wi-Fi. Users need to enable developer options and network debugging on the TV, then run Claude Code on the computer and load the project prompts. Claude Code will first execute device identification commands to obtain the TV's model, Android version, and list of installed packages, as the basis for subsequent operations.
ADB (Android Debug Bridge) is a command-line tool in the Android SDK used for debugging communication with devices. ADB over Wi-Fi allows developers to connect to devices via TCP/IP without a USB cable. To enable this feature on a TV, first enter "Developer Options" (usually activated by tapping the system version number repeatedly), then enable "USB debugging" and "Network debugging." When connecting, run adb connect <TV_IP>:5555 on the computer, and an authorization dialog will pop up on the TV; confirm it to establish the connection. ADB provides capabilities such as installing apps, executing shell commands, and viewing logs—it is the entry point for system-level operations.
Disable Rather Than Uninstall
According to the project description, CleanYourTV mainly uses disable commands like pm disable-user rather than directly uninstalling system apps. This is a relatively conservative choice: disabled apps can be re-enabled from settings, reducing the probability of bricking. However, disabling certain packages deeply tied to the system UI can still cause launcher anomalies or missing settings menus.
pm disable-user is a subcommand of the Android Package Manager (pm) used to mark a specified app as disabled for the current user. Unlike pm uninstall, disabling does not delete app data or the APK in the system partition; it simply makes the system ignore the app in user space. Disabled apps do not appear in the launcher and cannot run, but can be re-enabled via pm enable <package_name>. This mechanism is often used to temporarily deactivate pre-installed software, preserving the possibility of recovery. However, disabling certain packages tightly coupled with the system UI (such as the launcher or settings provider) can still cause interface crashes or missing functionality.
The Logic of Stripping Telemetry and Ads
The script filters targets based on package name keywords (such as ad, analytics, telemetry, tracking), then combines Claude Code's semantic judgment of the package list to decide the disable list. Here there is both the efficiency of rule matching and the flexibility of AI inference, but it also means the results are not fully predictable—package naming conventions vary greatly across TV brands, and the same set of prompts may produce vastly different results on different devices.
Package Name is the unique identifier of an Android app, usually in reverse domain name format (e.g., com.example.app). Different manufacturers' customized systems use different package naming conventions; for example, Sony's TV services may start with com.sony, while Xiaomi's may contain com.xiaomi. Ad and telemetry component package names often contain keywords like ad, analytics, telemetry, tracking, but not always—some system diagnostic services may also contain similar terms. Therefore, relying solely on keyword matching carries a risk of misjudgment and requires secondary filtering combined with AI's semantic understanding.
3. Where the Risks Lie: Breakpoints the Project Itself Admits
The original material explicitly mentions discussing "where it breaks," indicating the project author has a clear awareness of the limitations. Overall, the main risks are concentrated in three areas.
Mis-disabling critical system packages. When AI judges based on package name keywords, it may disable services that have "analytics" in their names but actually serve system diagnostic functions, causing some settings to fail or system updates to malfunction.
Compatibility differences across manufacturers. Brands like Sony, TCL, and Xiaomi have different degrees of Android TV customization and different package name systems. CleanYourTV's prompts can hardly cover all variants, and executing on non-target models may produce unexpected results.
High recovery cost. Although disabling is reversible, if the TV's ADB connection drops mid-operation, or the launcher is mistakenly disabled making it impossible to enter the settings interface, recovery requires recovery mode or even reflashing. This is a significant barrier for ordinary users.
4. Safety Checklist: Do These Things Before You Start
If you still want to try CleanYourTV, the following checklist can significantly reduce the probability of things going wrong.
- Back up the package list first. Before disabling any app, export the complete list with
adb shell pm list packagesand save it, so you can refer to it for recovery if needed. - Review commands one by one. Do not let Claude Code execute all operations at once; require it to display the command before each execution, and confirm the meaning of the package name before continuing.
- Start with non-critical packages. Prioritize disabling clear ad SDKs and third-party pre-installed apps, leave system-level services for last, and observe whether the TV runs normally before deciding whether to continue.
- Keep the ADB connection stable. Use a wired network or stable Wi-Fi to avoid disconnection mid-operation; do not power off during the disabling process.
- Record every change. Use text to record the disabled package names and corresponding functions, so you can quickly locate and re-enable them if problems arise.
5. Is It Worth Trying: A Signal of AI Tools Entering the System Maintenance Domain
The significance of CleanYourTV goes beyond "ad removal" itself. It demonstrates a new form of tool: treating an AI coding assistant as an execution agent for system operations, using natural language prompts to replace memorizing complex ADB commands. For users with some technical background who are willing to review step by step, this solution offers a more efficient path than manual tinkering.
But it also exposes the boundaries of current AI agents—judgments about device state rely on limited information, and the responsibility for recovery after errors still falls on the user. Treating it as an "assisted script generator" rather than a "fully automated slimming tool" is a more pragmatic mindset. As manufacturers continue to ramp up TV ads, such open-source attempts will become more numerous, and safety and reversibility will be the key criteria for distinguishing their quality.
Background Supplement
System diagnostic services are part of the Android system, used to collect device operating status, crash logs, and performance metrics to help manufacturers improve system stability. Such services may be named with analytics or diagnostics, but unlike ad SDKs, disabling them may prevent the system from reporting errors, affecting subsequent updates or troubleshooting. When slimming down a TV, it is necessary to carefully distinguish commercial telemetry from system diagnostics and avoid a one-size-fits-all approach.
One-line Summary
CleanYourTV uses Claude Code to generate ADB commands to disable TV ads and telemetry, but there is a risk of mis-disabling, so proceed with caution.
Paragraph Summary
CleanYourTV is an open-source project that uses the AI coding assistant Claude Code to generate and execute ADB commands, connecting to an Android TV over Wi-Fi to disable ads, telemetry, and pre-installed apps. Its core is a combination of prompts and scripts, mainly using pm disable-user to disable rather than uninstall, preserving recoverability. However, AI's semantic judgment of package names may mistakenly disable critical system packages, and package names vary greatly across TV brands, making the effect of the same set of prompts unpredictable. The project itself acknowledges these breakpoints and recommends that users back up the package list, review commands one by one, and start with non-critical packages. The value of this project lies in demonstrating a new form of AI as a system operations agent, but the responsibility for recovery still rests with the user, and it is better used as an auxiliary tool rather than a fully automated solution.
Related articles

The Truth Behind Titanic's Sinking: Key Decisions and Communication Failures in the National Geographic Documentary
National Geographic's The Unsinkable Ship uses survivor testimony to reconstruct Titanic's fatal decisions—from the missing MSG telegram prefix and the broken boiler-room-to-bridge link to how 'unsinkable' thinking delayed damage control and evacuation.

74M-Parameter Open-Source Model Partially Outperforms Jev AI in Testing
Fastino AI's Glider 2.5 models, with just 74M–300M parameters, reportedly outperform Jev AI in some guardrail benchmarks per YouTube testing, run on consumer hardware, and even play Doom. We analyze small models' competitiveness and deployment value on specific tasks.

Gemini 4 Argon Hands-On: Aggressive Pricing, 3D Capabilities Need Coaching
Gemini 4 Argon hands-on: limited-time $2/$10 pricing, million-token output, strong 3D and reverse-engineering work, but weak front-end aesthetics and zero-shot ability need coaching.