CMUX Terminal maakte van mijn Mac een commandocentrum voor AI-agenten
Afgelopen dinsdag zat ik drie panelen diep in mijn terminal — één met Claude Code voor een refactoring-taak, een ander met logmonitoring, en een derde waar ik handmatig output tussen vensters kopieerde als een soort digitale telefooncentrale. Dat was het moment waarop ik besefte hoe kapot de standaard terminalervaring is voor iedereen die met AI-codeeragenten werkt.
We hebben modellen die door complexe codebases kunnen redeneren, complete componenten genereren en productieproblemen autonoom debuggen. En we draaien ze in terminalemulators die in de jaren tachtig zijn ontworpen. De tooling heeft de workflow niet bijgehouden.
Toen ontdekte ik CMUX.
Het is een native Mac-terminal die van de grond af is opgebouwd voor codeeragenten — en na een week ermee te hebben gewerkt, ben ik oprecht boos over hoeveel tijd ik heb verspild met mijn oude setup. Maar het echte verhaal gaat niet alleen over een mooiere terminal. Het gaat over wat er gebeurt als je ontwikkelomgeving daadwerkelijk begrijpt dat AI-agenten niet alleen commando's uitvoeren — ze werken met je samen.
Wat een terminal "agent-natief" maakt (en waarom dat ertoe doet)
Dit is iets waar de meeste mensen niet bij stilstaan: wanneer je een AI-agent in een standaardterminal draait, is die agent in wezen blind. Hij kan tekst lezen en schrijven. Dat is alles. Hij kan de lay-out niet aansturen. Hij kan geen browser openen om zijn werk te verifiëren. Hij kan geen parallelle instantie starten voor een subtaak. Hij kan niet eens een melding laten zien als hij klaar is.
CMUX verandert dit door agenten een communicatiekanaal te geven — JSON-berichten via een Unix-socket — waarmee ze daadwerkelijk met de terminalomgeving kunnen communiceren. Niet alleen tekst erin uitvoeren, maar het besturen.
Zie het als het verschil tussen iemand instructies sms'en versus naast iemand zitten aan een gedeeld werkstation. Dezelfde persoon, dezelfde vaardigheden, totaal andere effectiviteit.
De architectuur is helder: CMUX is een native Mac-app gebouwd op LibGhosty voor terminalrendering, WebKit voor browserintegratie en BondSplit voor lay-outbeheer. De CLI-tool (CMOX) communiceert met de app via die Unix-socket, en elke agent-harnas — Claude Code, aangepaste setups, wat je ook draait — kan er commando's doorheen sturen.
Die native Mac-basis is belangrijker dan je denkt. Geheugenbeheer is merkbaar beter dan bij Electron-gebaseerde terminals. De app voelt responsief aan op een manier die web-wrapped tools gewoon... niet doen. Wanneer je meerdere agent-instanties tegelijkertijd draait (en dat ga je doen), wordt die prestatiemarge cruciaal.
Maar architectuurpraatjes zijn saai. Laat me je laten zien hoe dit er in de praktijk uitziet.
De browser-in-terminal-truc die mijn debuggen veranderde
Mijn eerste "wacht, wat?"-moment met CMUX was toen ik een agent een browserpaneel zag openen — in de terminal — een Google-zoekopdracht uitvoerde, door links klikte en informatie terug in de codeerworkflow trok. Allemaal zonder het terminalvenster te verlaten.
Ik gebruik al maanden AI-codeeragenten, en elke keer dat er een iets op het web moest verifiëren, brak de workflow. De agent suggereerde dat ik een URL moest controleren. Ik schakelde over naar Chrome. Ik vond de pagina. Ik kopieerde de relevante info. Ik plakte het terug in de terminal. Vermenigvuldig dat met twintig keer per dag en je hebt een serieus productiviteitslek.
Met CMUX handelt de agent het gewoon... af. Opent een gesplitst paneel met WebKit-rendering, navigeert naar de pagina, communiceert met elementen en kan zelfs ontwikkelaarstools openen voor debugging. De browser is geen aparte app — het is gewoon een ander paneel in je werkruimte, aangestuurd door dezelfde agent die je code schrijft.
Ik testte dit met een echte taak: het debuggen van een CSS-lay-outprobleem waarbij een component er lokaal prima uitzag maar brak bij een specifieke viewport-breedte. Mijn Claude Code-agent opende de relevante pagina in een CMUX-browserpaneel, inspecteerde het element, identificeerde de conflicterende media query en loste het op — allemaal in één continue stroom. Geen contextwisseling. Geen kopiëren en plakken tussen apps.
Die naadloze lus — coderen, verifiëren, fixen — is wat agent-natief werkelijk betekent. Geen marketingterm. Een workflowtransformatie.
Multi-agent-orkestratie: parallelle breinen draaien
Hier wordt CMUX echt krachtig, en hier begon ik te heroverwegen hoe ik mijn ontwikkelsessies structureer.
CMUX ondersteunt het gelijktijdig draaien van meerdere agent-instanties in gesplitste panelen. Niet alleen meerdere terminalsessies — meerdere agenten die kunnen coördineren, resultaten delen en hun panelen automatisch sluiten wanneer ze klaar zijn.
Ik zette een test op: twee Claude Code-instanties die parallel draaiden in gesplitste panelen. De ene deed projectbegrip — de codebasestructuur in kaart brengen, patronen identificeren, afhankelijkheden documenteren. De andere deed code-analyse — zoeken naar potentiële bugs, prestatieproblemen en beveiligingsrisico's. Beide agenten werkten onafhankelijk, voltooiden hun taken, communiceerden resultaten terug naar de hoofdinstantie en hun panelen sloten automatisch.
Lees dat nog eens. De panelen sloten automatisch. De agenten ruimden zichzelf op.
Dit klinkt als iets kleins, maar iedereen die meerdere terminalsessies heeft beheerd kent de pijn van vijftien open panelen, waarvan de helft twintig minuten geleden hun werk heeft afgerond en er gewoon zit, schermruimte innemend. De aanpak van CMUX — agenten spawnen, laten werken, resultaten verzamelen, opruimen — is hoe multi-agentworkflows zouden moeten werken.
Ik begon dit patroon dagelijks te gebruiken. Ochtend code review: één agent spawnen voor logica-analyse en een andere voor stijl/conventiecontrole. Feature-ontwikkeling: één agent die de bestaande implementatie verkent terwijl een andere het nieuwe component opzet. Bug-onderzoek: één agent die het probleem reproduceert terwijl een andere het codepad traceert.
De parallelle uitvoering halveert mijn wachttijd voor taken die zich natuurlijk laten opsplitsen in onafhankelijke subtaken. En omdat elke agent zijn eigen paneel krijgt, kan ik de voortgang visueel monitoren zonder dat agenten elkaars context verstoren.
Het notificatiesysteem dat je niet wist dat je nodig had
Ik geef het toe — toen ik voor het eerst las over het aangepaste notificatiesysteem van CMUX, dacht ik dat het een gimmick was. Knipperende paneelranden? Klinkt als iets uit een gamingterminal.
Toen draaide ik een lange refactoring-taak, tabde weg om documentatie te schrijven en miste de voltooiing met vijftien minuten omdat ik vergat de terminal te controleren. Klassiek.
Daarna stelde ik de notificatietriggers van CMUX in. Wanneer een agent een significante taak voltooit — een testsuite afronden, een code review voltooien, een fout tegenkomen die menselijke input vereist — knippert de paneelrand. Het is een visuele onderbreking die opvallend is zonder irritant te zijn. Geen geluid, geen popup, geen meldingscentrum-badge. Gewoon een subtiel "hé, kijk even hier"-signaal.
De implementatie is eenvoudig: agenten sturen een trigger flash-commando via de CLI en CMUX handelt de visuele respons af. Je kunt aanpassen welke gebeurtenissen meldingen triggeren, zodat je niet bij elke regel tekst die een agent uitvoert een knippering krijgt.
Waar dit echt rendeert is tijdens die multi-agentsessies die ik eerder beschreef. Drie agenten die parallel draaien, elk in zijn eigen paneel, elk knipperend wanneer ze aandacht nodig hebben. Ik kan me op iets compleet anders focussen en voltooiingen toch binnen seconden oppikken. Het is een kleine feature die een echt wrijvingspunt elimineert.
Je werkruimte inrichten: kracht en pijn
De werkruimte-aanpassing van CMUX is indrukwekkend flexibel. Je kunt branchnamen en pictogrammen aan je werkruimte toevoegen met SF Symbols — die native Apple-iconen die er scherp uitzien op retina-displays. Tabs hernoemen, voortgangsbalken, aangepaste kleuren, zijbalklogboeken — het is er allemaal.
Ik richtte een werkruimte in met mijn branchnaam en een git-icoon in de header, kleurgecodeerde panelen voor verschillende agentrollen (blauw voor analyse, groen voor generatie, rood voor testen) en een voortgangsbalk die bijwerkt terwijl mijn agenten door takenlijsten werken. Het resultaat ziet eruit als een volwaardig mission control-dashboard, niet een terminal.
Hier is echter het eerlijke deel: dit opzetten was pijnlijker dan het zou moeten zijn.
Het huidige setupproces vereist handmatig kopiëren en plakken van skill-configuraties en notificatie-instellingen. Er is geen geautomatiseerd setupscript dat je agent-harnas detecteert en de zaken dienovereenkomstig configureert. Andere tools in deze ruimte — zoals skills.sh — hebben dit opgelost met geautomatiseerde detectie. CMUX nog niet.
Ik besteedde ongeveer vijfenveertig minuten om mijn werkruimte in te richten zoals ik het wilde. Eenmaal geconfigureerd is het rotsvast. Maar die initiële wrijving is echt, en ik ken genoeg ontwikkelaars die zouden afhaken voordat ze door de setup zijn.
Mijn andere klacht: de demoworkflow schakelt sandboxing in Claude Code uit om fouten te voorkomen. Ik begrijp waarom — sandboxbeperkingen kunnen de Unix-socketcommunicatie blokkeren — maar draaien zonder sandboxing maakt me ongemakkelijk vanuit beveiligingsperspectief. Dit heeft een degelijke oplossing nodig, geen workaround.
Als CMUX een geautomatiseerde setupstroom toevoegt en het sandboxcompatibiliteitsprobleem oplost, zou de adoptie aanzienlijk versnellen. Het kernproduct is uitstekend. De onboarding-ervaring heeft werk nodig.
De Unix-socketarchitectuur: waarom het slim is
Voor de technisch nieuwsgierigen — en als je een artikel leest over terminalemulators voor codeeragenten, ben je dat waarschijnlijk — is de Unix-socketcommunicatielaag het begrijpen waard.
De meeste terminalaanpassingstools werken door terminaloutput te parsen of escape-codes te injecteren. Beide benaderingen zijn fragiel. Ze breken wanneer outputformaten veranderen, ze zijn moeilijk uit te breiden en ze creëren een nauwe koppeling tussen de tool en de specifieke terminalemulator.
CMUX kiest een fundamenteel andere aanpak. De CMOX CLI stuurt gestructureerde JSON-berichten via een Unix-socket naar de CMUX-app. De berichten zijn getypeerd, geversioneerd en zelfbeschrijvend. Wil je een nieuw gesplitst paneel maken? Stuur een JSON-bericht. Een browser openen? JSON-bericht. Een melding triggeren? JSON-bericht.
Dit betekent dat elke agent-harnas die naar een Unix-socket kan schrijven — wat in feite allemaal zijn — CMUX kan aansturen. Claude Code met hooks, aangepaste Python-agenten, shellscripts, wat dan ook. Het protocol maakt het niet uit welk agentframework je gebruikt. Het heeft alleen geldige JSON en een socketpad nodig.
Ik testte dit door een eenvoudig bash-script te schrijven dat een gesplitst paneel opent, een commando uitvoert, de output opvangt en het paneel sluit. Twaalf regels code. De eenvoud van het integratiepunt is een bewuste ontwerpkeuze en betaalt zich terug wanneer je aangepaste workflows bouwt.
De T-Max-compatibele commando's in CMOX zijn ook een leuke toevoeging — als je van een andere terminalmultiplexer komt, is de leercurve zachter dan helemaal opnieuw beginnen.
Hoe CMUX zich verhoudt tot mijn vorige setup
Vóór CMUX was mijn agent-ontwikkelomgeving een Frankenstein-setup: iTerm2 met tmux voor paneelbeheer, een apart Chrome-venster voor verificatie, een notificatiescript dat ik in elkaar had geknutseld met osascript, en veel handmatige contextwisseling.
Het werkte. Amper. Om de paar uur brak er iets de flow — een verloren tmux-sessie, een gemiste melding, een agent die webtoegang nodig had en die niet kon krijgen zonder mijn handmatige interventie.
Met CMUX is de workflow verenigd. Alles leeft in één venster. Agenten sturen hun eigen panelen aan. Browsertoegang is native. Meldingen zijn ingebouwd. En Ghosty-configuratiecompatibiliteit betekent dat mijn lettertype-instellingen, kleurenschema's en sneltoetsen zijn overgezet zonder alles opnieuw te configureren.
Het productiviteitsverschil is moeilijk precies te kwantificeren, maar hier is een ruwe schatting: ik besteed ongeveer 30% minder tijd aan omgevingsbeheer — vensters wisselen, agenten controleren, data kopiëren tussen contexten — en die tijd gaat direct terug naar daadwerkelijk ontwikkelwerk. Over een volledige dag is dat gemakkelijk een extra uur geconcentreerd coderen.
Het enige dat ik mis van mijn oude setup: de zoek-over-alle-panelen-functie van iTerm2. CMUX heeft nog geen uniforme zoekfunctie, en wanneer je een specifieke foutmelding zoekt in meerdere agentoutputs, moet je elk paneel individueel controleren. Klein ongemak, maar het vermelden waard.
Het grotere plaatje: terminals zijn het volgende strijdtoneel
CMUX is niet alleen een betere terminal. Het is een vroeg signaal van iets groters dat gaande is in ontwikkelaarstools.
We hebben de afgelopen twee jaar onze AI-modellen geüpgraded — beter redeneren, langere context, meer mogelijkheden. Maar de interfaces die we gebruiken om met die modellen te communiceren? Grotendeels onveranderd. We rijden Ferrari's op onverharde wegen.
CMUX is een van de eerste tools die ik heb gebruikt die de agent-natieve interface serieus neemt. Het idee dat je ontwikkelomgeving ontworpen moet zijn rond mens-AI-samenwerking, niet alleen mens-computerinteractie. Dat agenten niet alleen in je terminal draaien — ze zijn volwaardige deelnemers aan je werkruimte.
Ik denk dat we dit patroon snel zullen zien uitbreiden. Terminalemulators die agenten begrijpen. IDE's die AI als een samenwerkingspartner behandelen, niet als een plugin. Ontwikkelworkflows die van het begin af zijn ontworpen voor parallelle mens-AI-uitvoering.
De teams en ontwikkelaars die deze tools vroeg adopteren zullen een cumulerend voordeel hebben. Niet omdat de tools magisch zijn, maar omdat ze wrijving wegnemen die zich ophoopt tot uren verspilde tijd per week.
Moet je overstappen?
Als je een Mac-gebruiker bent die regelmatig AI-codeeragenten draait — vooral Claude Code — is CMUX het proberen waard. Je kunt het bekijken op cmux.dev. De multi-agentorkestratie alleen al rechtvaardigt de leercurve. De browserintegratie bezegelt de deal.
Als je af en toe met agenten werkt of voornamelijk op Linux/Windows werkt, wacht dan. CMUX is alleen voor Mac en de voordelen schalen met hoe agent-intensief je workflow is. Lichte gebruikers zullen niet genoeg rendement zien om de setupkosten te rechtvaardigen.
Als je aangepaste agent-tooling bouwt, let dan goed op de Unix-socketarchitectuur van CMUX. Het is het schoonste integratiepatroon dat ik heb gezien voor agent-terminalcommunicatie, en de aanpak is het stelen waard, zelfs als je CMUX zelf niet gebruikt.
Eén specifiek ding om eerst te proberen: zet een twee-agent parallelle workflow op voor je meest voorkomende ontwikkeltaak. Draai één agent voor analyse en één voor generatie in panelen naast elkaar. Als die workflow als een openbaring aanvoelt — en ik vermoed dat dat zo zal zijn — zul je merken dat je binnen een week je hele ontwikkelproces herstructureert rond de mogelijkheden van CMUX.
Dat overkwam mij. Ik installeerde het om te testen. Een week later had ik mijn dagelijkse workflow herstructureerd rond multi-paneel agentorkestratie. Niet omdat CMUX me dat vertelde, maar omdat als je eenmaal ervaart wat een agent-natieve terminal mogelijk maakt, teruggaan naar een gewone terminal voelt als typen met handschoenen aan.
Laten we samenwerken
Wil je AI-systemen bouwen, workflows automatiseren of je technische infrastructuur opschalen? Ik help graag.
- Fiverr (maatwerk & integraties): fiverr.com/s/EgxYmWD
- Portfolio: mejba.me
- Ramlit Limited (enterprise-oplossingen): ramlit.com
- ColorPark (design & branding): colorpark.io
- xCyberSecurity (beveiligingsdiensten): xcybersecurity.io