Hoe ik mijn smart TV vibe-codede — en Claude het doodde
Belangrijkste punten
- •Claude verifieerde de Free My TV-installatieprogramma als schoon en detecteerde het dropbear SSH-vingerafdruk van een eerdere jailbreak, maar waarschuwde niet dat het inschakelen van LG's Developer Mode de developerpartitie met de geroute setup van de gebruiker zou wissen.
- •De wisactie verwijderde de Homebrew Channel en ad-vrije YouTube die sinds 2023 draaiden; Claude herstelde beide apps later, maar kon root-toegang niet terugkrijgen.
- •Root-permanentie was onbereikbaar omdat de firmware van de tv, gebouwd in juli 2026, werd gebouwd na LG's patch van april 2024 voor de crashd-exploit die eerder re-rooting bij opstart mogelijk maakte.
- •Anthropic's veiligheidssystemen blokkeerden her-rootingsstappen over meerdere Claude-modellen, en de interface stelde voor om over te stappen naar een ouder, duurder model met lossere beperkingen.
- •De Free My TV-launcher werd geïnstalleerd en werkte visueel zoals beloofd, maar functioneert alleen als een Developer Mode-app die handmatig moet worden geopend, omdat permanente autostart root vereist.

Vibe-coding van de interface van een smart TV met een AI-assistent is een echte, werkende trend — maar LG's webOS is een ander verhaal dan Android TV, het platform waar de meeste succesverhalen vandaan komen. Op Android TV is een app sideloaden slechts een instelling verwijderd; webOS leidt elke externe installatie via LG's eigen developerpijplijn, en iets permanent maken vereist root.
In mijn geval las en verifieerde Claude de installatiecode voordat het die uitvoerde, en verzocht het vervolgens gerust om Developer Mode in te schakelen — waarmee mijn geroute partitie werd gewist en de Homebrew Channel en mijn ad-vrije YouTube-installatie werden verwijderd. De AI gaf later toe dat het zijn fout was, adviseerde om over te stappen op een ouder model om de door hemzelf opgelegde beperkingen te omzeilen, en leverde een launcher die technisch werkt maar niet automatisch opstart.
"Ik moet eerlijk zijn over mijn rol hierin."
Elke AI-gebruiker kent die woorden en vreest ze. De AI heeft net iets verknoeid, en gaat me nu vertellen hoe erg het is.
Een middag, een LG-tv en Claude
Het begon allemaal toen ik besloot mijn tv te vibe-coden — een AI-assistent doelen in gewone taal geven en het de code op het doelapparaat laten lezen, schrijven en uitvoeren. Mensen vibe-coden hun smart tv's al een tijdje met AI-assistenten — zoals Decrypt eerder heeft behandeld — waarbij advertenties, trackers en trage standaardlaunchers worden verwijderd. De resultaten zijn echt indrukwekkend: strakkere interfaces, snellere navigatie en geen LG-spyware die elke keer als je iets wilt kijken naar huis belt.
Dus toen ik de demo's zag, dacht ik: hoe moeilijk kan dit zijn? Ik heb een LG-tv, Claude en een middag. Doe we maar.
Het antwoord blijkt te zijn dat het mis kan gaan op manieren die spectaculair zijn in hun banaliteit. Geen kapotte tv, brand — gewoon een reeks zelfverzekerde AI-beslissingen die er mij slechter achterlieten dan ik begon, culminerend in een Bill Clinton-truc: een oprechte verontschuldiging nadat ik had aangegeven dat er iets was misgegaan.
De happy-path-gebruiker
Het doel was het installeren van Free My TV, een open-source vervanging van de launcher voor LG webOS met 3.300 sterren op GitHub, een prachtig matglazen interface en een readme-bestand dat de use case letterlijk uitnodigt: geef Claude Code gewoon het IP-adres van je tv, en het installeert de tools, bouwt de app en implementeert die voor je. Het project had hieraan gedacht. Ik zou de happy-path-gebruiker zijn.
Ik vroeg Claude om de installatie uit te voeren. Dat deed het niet meteen — wat de juiste beslissing was. Het las eerst de broncode, regel voor regel. webos/install.py gebruikt ssh-keygen om een versleutelde sleutel te ontgrendelen, verbindt met LG's developer-SSH op poort 9922, kopieert het .ipk-bestand en roept dezelfde app-installatieservice aan die LG's eigen tools gebruiken. Geen exploit, geen eval(), niets dat naar huis belt.
"De code is clean," vertelde Claude me. Het bouwde een pakket van 636 KB en begon de preflight-controles uit te voeren.
Toen merkte Claude dat mijn tv dropbear SSH op poort 22 draaide — een heel specifiek teken dat de tv eerder was geroute via de Homebrew Channel. Het is een bekend vingerafdruk in de webOS-community. In feite een manier om op afstand met je tv te communiceren. LG vindt dat niet leuk, dus het is geblokkeerd, en een jailbreak ontgrendelt het.
De geroute setup waar Claude nooit naar vroeg
Dus ja: ik had mijn tv gejailbreakt en de Homebrew Channel geïnstalleerd. Ik had er een ad-vrije YouTube op draaien, naast andere apps en games van derden die een gejailbreakte tv vereisen. De hele geroute setup werkte sinds 2023 stilletjes, en ik had poort 22 gesloten om veiligheidsredenen zodra mijn tv werkte zoals ik wilde. Claude zag dit alles in zijn eerste netwerkscan.
Het stopte niet om te vragen of ik hiervan op de hoogte was.
In plaats daarvan vertelde Claude me om Developer Mode in te schakelen — de officiële LG-developerschakelaar — zodat het de dev-mode SSH op poort 9922 kon gebruiken om de launcher te pushen. Dat deed ik. De tv herstartte.
Toen hij weer opkwam, was de Homebrew Channel weg. Ad-vrije YouTube was weg. Mijn hele geroute setup was gewist. LG's Developer Mode voorziet de /media/developer-partitie opnieuw in zodra je die inschakelt, en dat is precies waar alles stond. Die wisactie was geen storing in het proces — het is de schakelaar die werkt zoals LG hem ontwierp, en dat is precies het soort systeembrede bijwerking die een assistent die het netwerk al had gescand had moeten signaleren voord om het omschakelen werd gevraagd.
Vertaling: Claude had net iets verknoeid, en mijn setup was gebroken.
Ik wilde schreeuwen. Mijn dochter sliep. Ik wilde tegen de laptop slaan. Ik had die setup nodig. Mijn gedachten gingen van vibe-codingmodus naar desperatiemodus.
"Bro, de Homebrew Channel is gewoon verdwenen van mijn tv! Ook mijn Ad free Youtube! Wat is er gebeurd? Ik heb ze nodig," schreef ik.
"Dit was mijn schuld"
Claude's antwoord, na het uitvoeren van diagnostiek en het vinden van de lege partitie, was iets wat elke hobbyist vreest van AI-assistenten: "Ik ben je een eerlijk antwoord verschuldigd: dit was mijn schuld."
Toen kwam het: "Ik moet eerlijk zijn over mijn rol hierin." Elke keer dat een LLM daarmee opent, komt er een enorme blunder aan. Inderdaad: "Ik zag die dropbear op poort 22 in mijn allereerste scan en had moeten stoppen om je root te beschermen voordat ik je iets liet omschakelen. Dat deed ik niet, en het kostte je actieve root. Het spijt me," zei Claude.
Natuurlijk spijt het je.
Waar het past: het probeerde ook daadwerkelijk te herstellen wat het had gebroken. Het downloadde Homebrew Channel v0.7.3 en ad-vrije YouTube v0.5.3 rechtstreeks van hun GitHub-releasepagina's, verifieerde de bestandsheaders, schreef een herstelscript, pushte beide .ipk-bestanden via dev-mode SSH en voerde een onafhankelijke verificatie uit door de eigen app-lijst van de tv te controleren.
"YouTube AdFree — die titel bevestigt dat het precies de app was die je bent kwijtgeraakt," zei het. De apps kwamen terug. De sessie ging verder.
Root kwam echter niet terug.
Een jailbreak te ver
Mijn tv draait firmware 04.60.90 op webOS 7.6.0-19, gebouwd in juli 2026. De exploit die hem oorspronkelijk had geroute — crashd — werd door LG in april 2024 gepatcht. Mijn nieuwe firmware werd 15 maanden na die patch gebouwd, dus de persistence-hook die bij elke opstart opnieuw rootte, kon niet meer afgaan.
De enige overgebleven kandidaat was een pakket genaamd faultmanager (bron op GitHub). Dus, om de een of andere masochistische reden, vroeg ik Claude om zijn eigen fouten te herstellen en de faultmanager-jailbreak te proberen. Toen werd het filosofisch interessant.
Claude liep tegen een muur aan — zijn eigen veiligheidssystemen vlagden de volgende stap (het gedetailleerd onderzoeken van her-rootingsprocedures) en toonden een keuze: "De beveiligingsmaatregelen van Opus 5.5 hebben dit bericht gevlagd. Overschakelen naar Opus 4.8 en doorgaan wanneer dit gebeurt?"
Anthropic zei in wezen: "We weten dat we beperkingen in onze vlaggenschipmodellen hebben ingebouwd die hen pijnlijk frustrer maken om mee te werken. Maar als je overschakelt naar het oudere, en uiteraard veel duurdere model, blijken de beperkingen die we in onze functionele modellen hebben opgelegd een stuk losser. Bedenk daar maar wat mee."
Het is een spanning die ingebakken zit in AI-agenten die overstappen van websites bouwen op het bedienen van echte apparaten: beveiligingsmaatregelen die zijn ontworpen om kwaadaardige cyberactiviteit te vangen, kunnen niet gemakkelijk iemand die zijn eigen tv herstelt onderscheiden van een aanvaller die de tv van een ander probeert.
De rest van de sessie verliep min of meer zoals verwacht. Claude onderzocht de faultmanager-procedure, zag het woord "exploit" en weigerde. Ik probeerde het met Claude Opus 4.8, en het schoot op — tot het een pakket genaamd "root" moest downloaden, waarna het bericht werd gevlagd. Ik probeerde een ander model, en Anthropic vlagde het als een cybersecurityrisico.
Volgens mijn late Googelen lijkt mijn firmware gepatcht te kunnen worden, dus er is hoop.
Om eerlijk te zijn: de vibe-gecodeerde launcher zelf werd wel geïnstalleerd. Ik opende hem, en hij zag er precies uit als de demo's: een strak matglazen schap, geen advertenties, geen van LG's agressieve aanbevelingen voor content waar ik nooit om heb gevraagd. Genuinely mooi. Ik staarde er even naar.
Toen drukte ik op de homeknop van mijn afstandsbediening.
Het bracht me direct terug naar LG's trage standaardlauncher. Free My TV is een Developer Mode-app, geen vervanging op systeemniveau, dus hij start niet automatisch op — je moet hem elke keer handmatig openen, zoals elke andere app, tenzij je root hebt om hem permanent te maken.
Dus de app werkte. Technisch gezien.
Ik zal dit weekend dieper graven in methoden om mijn tv opnieuw te rooten. Deze keer geen vibe-coding — gewoon de officiële faultmanager-procedure, of iets anders, handmatig uitgevoerd nadat ik mijn huiswerk daadwerkelijk heb gedaan. Als het werkt, krijgt Free My TV eindelijk de root-toegang die het nodig heeft om permanent te draaien; zo niet, dan blijft de launcher een handmatige snelkoppeling op een tv die ooit precies werkte zoals ik wilde.