Home · ai coding

Claude Code themes zijn mods: check ze eerst

Een thema voor Claude Code is een mod die met jouw rechten draait. Van de 48 thema's van dag één die wij konden keuren, raken er 11 de lijst waar Anthropic voor waarschuwt.

Naar de themacheck

Door Redactie 1704media ·

Uitvoer van claude plugin validate voor het voorbeeldthema van Anthropic: acht haken, waarvan prompt.submit en session.append gemarkeerd
11 van 48thema’s van dag één die validate kon lezen, raken de lijst waar Anthropic voor waarschuwt
8 hakenheeft het voorbeeldthema van Anthropic, waaronder één op elke prompt en één op elk antwoord
2.1.324is de ondergrens voor kleuren in de desktop app. In de terminal tekent een thema niets

Het voorbeeldthema van Anthropic zelf hangt een haak aan elke prompt die je verstuurt en aan elk antwoord van Claude. In de antwoorden zoekt het één woord, “merged”, om vuurwerk af te steken. Je prompt leest het niet. Toch laat het zien wat Claude Code themes zijn: code met jouw rechten, geen lijstje kleuren.

Anthropic kondigde de thema’s aan in de nacht van 13 op 14 november. Je geeft de desktop app eigen kleuren en een bewegende achtergrond, of je vraagt Claude er een te maken. Dat loopt via Claude Code mods.

Wij haalden thema’s van dag één van GitHub en lieten Claude Code zelf opsommen wat ze kunnen. Van de 48 die het kon lezen, raken er 11 de lijst waar Anthropic beheerders voor waarschuwt.

De aankondigingsvideo van 38 seconden, zonder geluid. Bron: @ClaudeDevs op X, nacht van 13 op 14 november 2026. Anthropic noemt de beelden “Illustrative”.

Een thema is een mod, en een mod mag wat jij mag

De docs van Anthropic zijn er open over. “A mod runs with your permissions”, staat er, en: “Mods aren’t sandboxed.” Een mod kan volgens dezelfde pagina op je computer handelen als jij, je geheimen lezen, je sessie zien en wijzigen, dingen doen zonder te vragen en je verbruik opmaken.

Eén ding kan een mod niet opnieuw tekenen: de toestemmingsvraag. “A mod can restyle much of Claude Code’s interface, but not the permission prompt.” Dat venster blijft dus van Claude Code. Al kan een mod met tool.check een toolaanroep goedkeuren voordat jij de vraag ziet. De rest hangt af van wie het thema schreef.

In dezelfde video typt iemand “make me a theme with a synthwave sunset and neon pink accents”. Claude schrijft de code, en in het gesprek staat: “In this permission mode the mods Claude writes turn on without asking.” De sessie staat op Auto. Je vraagt om kleuren en krijgt code die meteen draait.

Voor een thema dat je zelf bestelt is dat prima. Het wordt anders bij een thema van iemand anders. Wij schreven eerder over Claude plugins bouwen. Een mod is de soort plugin die in Claude Code zelf ingrijpt.

Still uit de aankondigingsvideo met de tekst It's just a mod en de coderegel theme.set met colors en backdrop
Zo zegt Anthropic het zelf in de aankondigingsvideo. Bron: @ClaudeDevs op X, nacht van 13 op 14 november 2026. Anthropic noemt de beelden “Illustrative”.

Wat haakt het voorbeeld van Anthropic aan?

Het officiële voorbeeld heet theme-examples en staat in de plugin repository van Anthropic op GitHub. Versie 0.4.3 bevat twintig scènes. Wij lieten Claude Code 2.1.325 de map keuren met claude plugin validate. Uitkomst: acht haken en 21 aanroepen. Drie daarvan staan op de lijst waar Anthropic beheerders voor waarschuwt.

Dat is netjes, en de README zegt het er zelf bij: “It looks at what Claude says for one word, “merged”, and keeps none of it. At the start of each turn it checks the chosen theme and reads no text of your prompt.”

In de code vonden wij hetzelfde. De haak op je prompt geeft hem ongewijzigd door, en de zoekterm is letterlijk het woord merged.

Alleen weet je dat pas als je de README gelooft of de code leest. Aan de buitenkant ziet een thema dat meeleest er hetzelfde uit als een thema dat alleen kleurt.

prompt.submitKan elke prompt zien en wijzigen. Dit thema kijkt bij elke beurt welk thema gekozen is en geeft je prompt ongelezen door.
session.appendKan regels van het gesprek herschrijven voor ze worden opgeslagen, hier alleen antwoorden. Dit thema zoekt het woord “merged” en bewaart niets.
$.env.getKan omgevingsvariabelen lezen. Dit thema vraagt één naam op: CLAUDE_CODE_HOST_SESSION_ID.
Eigen meting: theme-examples 0.4.3, gekeurd met Claude Code 2.1.325 op 14 november 2026. De lijst staat in de docs voor beheerders.

Check een thema voordat je het aanzet

Claude Code kan je vertellen wat een mod kan zonder hem te draaien. Het commando claude plugin validate ./map drukt af waar de code aan haakt en wat ze aanroept. Plak die uitvoer hieronder. De check legt hem naast de lijst van Anthropic en zegt in gewone taal wat het thema kan.

Themacheck · leest in je browser, verstuurt niets

De check leest alleen wat validate afdrukt. Groen betekent dat de code volgens validate niets van de lijst aanroept. Het betekent niet dat iemand de code heeft nagekeken. Staan er geen regels met hooks en calls in je uitvoer, dan kon validate de code niet lezen en zegt de check dat ook.

11 van de 48 gekeurde Claude Code themes raken de lijst waar Anthropic voor waarschuwt

Wij zochten op 14 november om 14.24 uur op GitHub naar thema’s die sinds de aankondiging zijn aangemaakt. Tien zoektermen gaven 78 repo’s. In 52 daarvan zat minstens één mod, samen 84 mods. Alles ging door validate van Claude Code 2.1.325, zonder een mod te draaien.

Validate kon 57 van de 84 mods lezen. 48 daarvan zetten kleuren of tekenen een achtergrond. Dat zijn onze 48 thema’s. De 27 mods die validate niet kon lezen tellen niet mee. Daar kunnen ook thema’s tussen zitten.

35 van de 48 doen alleen tekenwerk, onthouden een keuze of zetten een timer. Twee gebruiken daarnaast iets wat niet op de lijst van Anthropic staat. Elf raken minstens één punt van die lijst.

Vier thema’s haken aan elke toolaanroep en een vijfde aan één benoemde tool. Drie haken aan elke prompt. Vier kunnen een programma starten, één kan netwerkverzoeken doen. Welke repo’s het zijn, noemen we niet. De telling zegt wat de code kan. Wat de maker ermee wil, zegt ze niet.

48 thema’s van dag één: wat kan de code?
GroepThema’s
Alleen tekenen, onthouden en timers
35
Ook iets buiten de lijst
2
Minstens één punt van de lijst
11
Eigen telling op GitHub, 14 november 2026, 14.24 uur. Repo’s aangemaakt op 13 of 14 november (UTC), gekeurd met Claude Code 2.1.325.

Twee van de elf lezen alleen een bestand, en bij ons tellen ze toch mee

Onze telling is streng op een manier die thema’s tekortdoet. $.fs.read staat op de lijst omdat een mod daarmee elk bestand kan lezen waar jij bij kunt. Het is ook gewoon hoe een thema een eigen plaatje laadt. Twee van de elf raken alleen dat ene punt.

Hetzelfde geldt voor omgevingsvariabelen. Validate drukt af welke namen de code letterlijk opvraagt. Bij deze thema’s waren dat HOME, OS en mappen voor instellingen. Geen naam leek op een sleutel of wachtwoord, en geen thema schrijft een variabele. Een naam die de code pas tijdens het draaien samenstelt, zie je daar niet.

De telling zelf heeft ook grenzen. We zochten alleen op GitHub, met Engelse zoektermen, op één middag. We lazen niet van elk thema elke regel. Van geen enkel thema zeggen wij dus dat het iets kwaads doet.

In hoeveel van de 11 thema’s komt elk punt voor?
Punt van de lijstThema’s
tool.call, waarvan één op één benoemde tool
5
$.fs.read
5
$.env.get
4
$.process.run
4
prompt.submit
3
$.fs.write
2
$.http.fetch
1
$.model.complete
1
$.settings.read
1
Een thema kan meer punten tegelijk raken. Zelfde telling, twee keer geteld met twee verschillende scripts, nul verschillen.

Geslaagd voor validate zegt niet dat een thema veilig is

Om te zien waar de grens ligt, schreven we twee thema’s. Het ene zet alleen kleuren. Het andere doet zich voor als thema, maar vraagt ANTHROPIC_API_KEY op en kan bestanden lezen, programma’s starten en netwerkverzoeken doen. We hebben het alleen laten keuren. Het heeft nooit gedraaid en staat nergens online.

Validate verzwijgt niets. De naam van de sleutel staat gewoon in de uitvoer. Het commando keurt alleen niet af, en dat zegt het er zelf bij: “The directory also runs a safety scan and a policy review that this command does not.” Lezen moet je dus zelf, of met de check hierboven.

De omgekeerde fout bestaat ook. 27 van de 84 mods, uit twee repo’s, kwamen niet door validate. Bij geen daarvan stond een regel met haken of aanroepen. Over die code weet je niets. Anthropic schrijft beheerders voor: “Don’t approve a mod that fails this command, because some failures don’t stop it from loading.”

Kleurenthema

Haakt aan session.start. Roept $.theme.set aan. Uitslag: Validation passed with warnings.

Nepthema

Haakt ook aan prompt.submit en tool.call. Roept $.env.get, $.fs.read, $.http.fetch en $.process.run aan. Uitslag: Validation passed with warnings.

Eigen proef met Claude Code 2.1.325. De waarschuwing is bij allebei dezelfde: in het manifest staat geen auteur.

Waarom zie je het thema niet in je terminal?

“On desktop” betekent in de aankondiging de desktop app, en niet Claude Code in je terminal. De docs zeggen: “The terminal draws no backdrop” en “Claude Code in the terminal keeps its own colors”. Onder de post op X vroegen meerdere mensen erom. “Now bring this to terminal (TUI)”, schreef er een.

Wij probeerden het toch, in een terminal op onze eigen VPS voor AI agents. Een mod vroeg in Claude Code 2.1.322 om een achtergrond. Het antwoord was isDrawn false, met als reden: “no attached desktop or mobile client says it draws backdrops”.

Dan de versie. Anthropic zegt: werk de desktop app bij. De docs noemen Claude Code 2.1.324 als ondergrens voor kleuren in het Code tabblad. Ter vergelijking: op npm stond op 14 november 2.1.311 als stable en 2.1.325 als latest. Thema’s werken nu alleen in lokale sessies. Voor cloud sessions schrijft Anthropic “coming soon”.

Still uit de aankondigingsvideo: Claude Code in de desktop app met een synthwave thema en de melding dat mods die Claude schrijft zonder vragen aangaan
Een thema in de desktop app, met halverwege de regel over mods die zonder vragen aangaan. Bron: @ClaudeDevs op X, nacht van 13 op 14 november 2026. Anthropic noemt de beelden “Illustrative”.

Grijs op grijs tekent de app niet

Niet elk palet komt erdoor. De docs beschrijven een geweigerd thema: de melding begint dan met “Desktop won’t paint this theme”. Wij gaven de kleurencontrole van Claude Code 2.1.325 vijf paletten. De app zelf hebben we niet zien weigeren. Dit is wat de controle terugzegt.

Het palet uit het voorbeeld in de docs kwam erdoor, net als ons eigen palet in groen en zand. Grijze tekst op een grijs vlak werd geweigerd, net als een donker palet met te lichte vlakken. De grens ligt dus bij leesbaarheid.

Een kleurnaam in de code gaf een fout: “Theme colors are six-digit hex, like #1e1e2e”. Vraag je Claude om een thema, dan mag je kleuren gewoon bij naam noemen. Claude zet ze om naar hexcodes.

Contrast van tekst op de achtergrond
MetingVerhouding
Grijze tekst op een grijs vlak, lichte stand
2,45:1
Daaronder tekent de app niet
3:1
Wat de controle wil zien
4,5:1
Eigen proef met de kleurencontrole van Claude Code 2.1.325, 14 november 2026.

Zo zet je een thema aan en weer uit

De stappen hieronder komen uit de docs van Anthropic. Wij hebben ze nog niet zelf in de desktop app doorlopen. Onze eigen tests draaiden in de terminal.

  1. Werk de desktop app bij en open een lokale sessie. In cloud sessions werken thema’s nog niet.
  2. Vraag Claude om een thema. De docs geven als voorbeeld: “make a mod that makes the app cream in light mode and dark brown in dark mode”.
  3. Thema van iemand anders? Haal de map binnen, zet nog niets aan en draai claude plugin validate ./map op Claude Code 2.1.323 of nieuwer.
  4. Plak de uitvoer in de check hierboven. Zie je tool.call, prompt.submit, $.process.run of $.http.fetch, lees dan de code of laat het thema liggen.
  5. Zet één thema tegelijk aan. Een nieuw thema vervangt het vorige, en een mod die het thema wist, wist ook dat van een andere mod.
  6. Kleuren weg? Zet de mod uit, start een nieuwe lokale sessie, zoek in Settings op “code appearance” en kies Remove colors.

De eerste thema’s in de directory van Anthropic worden de echte test

Alles in onze telling kwam los van GitHub. Voor de plugin directory van Anthropic gelden strengere regels. Daar draait volgens validate een safety scan en een policy review. Hoeveel thema’s daar doorheen komen, en of meelezen op elke prompt er mag, wordt zichtbaar zodra de eerste thema’s er staan.

Tot dan ben je zelf de controle. Nieuw met Claude Code, of wil je eerst weten wat hooks, slash commands en subagents doen? Begin dan daar. Meer metingen als deze staan op 1704 Media.

Check het thema voordat het meeleest

Draai claude plugin validate op de map, plak de uitvoer en je ziet welke van de punten uit de lijst van Anthropic dit thema raakt.

Naar de themacheck