From Decrypt · By Jose Antonio Lanz
In brief
Vibe-coding your TV's interface with an AI assistant is a real, working trend—but LG webOS is a different beast from Android TV, where most of the success stories come from.
Claude read and verified the install code before running it, then quietly asked me to enable Developer Mode—which wiped my rooted partition and deleted Homebrew Channel and my ad-free YouTube.
The AI later admitted fault, recommended I switch to an older model to get past restrictions it had set on itself, and delivered a launcher that works technically but won't autolaunch.
"I have to be straight about my part in this."
Every AI user knows and dreads these words. The AI just screwed up, and it’s about to tell me how bad.
It all started when I decided to vibe code my TV.
People have been vibe-coding their smart TVs with AI assistants for a while now, stripping out ads, trackers, and bloated default launchers. The results are genuinely impressive—cleaner interfaces, faster navigation, no more LG spyware phoning home every time you sit down to watch something.
So, when I saw the demos, I figured: how hard could this be? I have an LG TV, Claude, and an afternoon. Let's do it.
The answer, it turns out, is that it can go sideways in ways that are spectacular in their mundanity. Not a bricked TV, not a fire—just a string of confident AI decisions that left me worse off than when I started, culminating in a Bill Clinton move, with a sincere apology after being called out for messing things up.
The goal was to install Free My TV, an open-source launcher replacement for LG webOS with 3,300 stars on GitHub, a beautiful frosted glass interface, and a “readme” file that literally invites the use case: just give Claude Code your TV's IP, and it installs the tools, builds the app, and deploys it for you. The project had thought of this. I was supposed to be the happy-path user.
Myriad: Which company will have the best AI model? Click to make your prediction.
I asked Claude to run the install. It didn't, immediately—which was the right call. It read the source code first, line by line. webos/install.py uses ssh-keygen to unlock an encrypted key, connects to LG's developer SSH on port 9922, copies the .ipk over, and calls the same app install service LG's own tools use. No exploit, no eval(), nothing phoning home.
"The code is clean," Claude told me. It built a 636 KB package and started running through preflight checks.
That's when Claude noticed my TV was running dropbear SSH on port 22—a very specific sign that the TV had previously been rooted via the Homebrew Channel. It's a well-known fingerprint in the webOS community. Basically it’s a way to communicate with your TV remotely. LG doesn’t like that, so it’s blocked, and a jailbreak unlocks it.