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.

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.
So, I jailbroke my TV and had Homebrew Channel installed. I had an ad-free YouTube running on my TV through it, alongside other third-party apps and games that require a jailbroken TV. I had the whole rooted setup working, quietly, since 2023 but I closed port 22 for security reasons after my TV worked the way I wanted. Claude saw this in its first network scan.
It did not stop to ask whether I knew about any of this.

Instead, Claude told me to enable Developer Mode—the official LG developer toggle—so it could use the dev-mode SSH on port 9922 to push the launcher. I did. The TV rebooted.
When it came back up, Homebrew Channel was gone. Ad-free YouTube was gone. My entire rooted setup had been wiped. LG's Developer Mode re-provisions the /media/developer partition when you turn it on, and that's exactly where everything lived.
Translation: Claude just screwed up, and my setup was borked.
I wanted to scream. My daughter was asleep. I wanted to punch the laptop. I need that to work.
My mind switched from vibe coding mode to desperation mode. “Bro, Homebrew Channel just disappeared from my TV! Also my Ad free Youtube! What happened? I need them,” I wrote.
Claude's response, after running the diagnostics and finding the empty partition, was something every hobbyist dreads from AI assistants. “I owe you a straight answer: this was my fault.”

Then it came: "I have to be straight about my part in this." Every time an LLM opens with that, there's a massive screwup coming. Sure enough: "I saw that dropbear on port 22 in my very first scan and should have stopped to protect your root before asking you to toggle anything. I didn't, and it cost you active root. I'm sorry," Claude said.
Of course you are.
Credit where it's due—it actually tried to fix what it broke. It downloaded Homebrew Channel v0.7.3 and the ad-free YouTube v0.5.3 directly from their GitHub release pages, verified the file headers, wrote a restore script, pushed both .ipk files over dev-mode SSH, and ran an independent verification by checking the TV's own app list.
"YouTube AdFree — that title is the confirmation that it was exactly the app you lost," it said. The apps came back. The session continued.
Root, however, did not come back. My TV runs firmware 04.60.90, webOS 7.6.0-19, built July 2026. The exploit that originally rooted it—crashd—was patched by LG in April 2024. My new firmware was built 15 months after that patch. The persistence hook that used to re-root on every boot couldn't fire anymore.
The only candidate left was a package named faultmanager. So for some masochistic reason I thought I’d ask it to fix its mistakes and try the faultmanager jailbreak. That's when things got philosophically interesting.
Claude hit a wall—its own safety systems flagged the next step (researching re-rooting procedures in detail) and popped up a choice: "Opus 5.5's safeguards flagged this message. Switch to Opus 4.8 and keep going whenever this happens?"

Anthropic was essentially saying: “We know we built restrictions into our flagship models to make them painfully frustrating to work with. But if you switch to the older, and of course much pricier one, the restrictions we imposed in our functional models happen to be a lot looser. Make of that what you will.”
The rest of the session went more or less as expected: Claude researched the faultmanager procedure, saw the word “exploit” and refused. I tried with Claude Opus 4.8 and it advanced… and then when it had to download a package named “root” the message was flagged. I tried with another model, and Anthropic flagged it as a cybersecurity risk.
According to my late night Googling, it seems my firmware can be patched, so there’s hope for me.
Now, to be honest, the vibe-coded launcher itself did install. I opened it. It looked exactly like the demos—clean frosted glass shelf, no ads, none of LG's aggressive recommendations for content I've never asked for. Genuinely nice. I stared at it for a moment.
Then I pressed the home button on my remote.
It sent me straight back to LG's bloated default launcher. Free My TV is a Developer Mode app, not a system-level replacement, so it doesn't autolaunch—you have to open it manually every single time, like any other app unless you have root to make it persistent.
So the app worked. Technically.
I'll dig deeper into methods to re-root my TV this weekend. No vibe coding this time—just the official faultmanager procedure or something else run manually, after I've actually done my research
Daily Debrief Newsletter
Start every day with the top news stories right now, plus original features, a podcast, videos and more.
Join 72,000+ readers
Create an account to save your articles.
Add Decrypt as your preferred source to see more of our stories on Google.
