Lantern: se vilken Claude-session som väntar på dig
En smal panel ovanför Docken som visar alla Claude Code-sessioner och vilken som väntar på dig. Öppen källkod, ren Swift, allt stannar på datorn.
Den som jobbar med Claude Code känner snart igen rytmen. Man ger en uppgift, Claude sätter igång, och man går över till något annat medan det jobbar. Sedan öppnar man en session till i ett annat projekt, och kanske en tredje. Det är lite det som är poängen. Men det har en baksida. Någonstans i ett VS Code-fönster man inte tittar på står en session och väntar på ett godkännande för att köra npm test. Den har väntat i tjugo minuter. Ingen har märkt det.
Jag märkte det lite för ofta. Sessioner som stod still i onödan, och sessioner som var klara långt innan jag kollade. Jag vill sluta leta.

Var ska det bo?
När jag byggde LocalhostBar var svaret menyraden. Den här gången räckte inte den: några tecken uppe vid klockan rymmer inte flera sessioner med namn och status. Docken då? Den är lika alltid närvarande, men macOS ger varje app exakt en ikon, och den kan inte göras större.
Lösningen blev en smal panel som ligger precis ovanför Docken. Den syns på alla skrivbord, tar aldrig fokus från det du skriver i och försvinner när något körs i helskärm. I praktiken ser den ut som en förlängning av Docken.
Vad den visar
Varje session får en egen plats i panelen, med projektets namn och en färg:
- Röd: väntar på dig. Den vill ha ett godkännande, har en fråga eller en plan att godkänna.
- Gul: jobbar.
- Grön: klar, din tur.
De som väntar på dig hamnar alltid längst till vänster, och dockikonen får en badge med hur många de är. En liten symbol rör sig när sessionen jobbar och står still när den är klar. Det låter som en detalj, men man ser rörelse i ögonvrån utan att läsa något.
Resten ligger ett steg bort. Hover över en session visar vad den gör just nu, hur länge sedan den rörde sig, hur full kontexten är och hur många tokens den har producerat. Klick tar fram rätt VS Code-fönster. Sessioner som är kopplade till remote control får en liten telefonikon. Längst till höger visas 5-timmarskvoten och hur många minuter det är kvar tills den nollställs.
Den första versionen visade mer: aktuellt verktyg, tid och status på varje kort. Det var för mycket. Det som behöver synas hela tiden är vem som väntar, resten kan vänta till hover.
Hur det funkar
Claude Code har hooks: små skript som körs vid bestämda händelser, till exempel när en session startar, när ett verktyg ska köras eller när Claude är klar. Lantern lägger in en sådan hook som skriver en liten statusfil per session. Appen bevakar mappen och ritar om panelen när något ändras. Tokens räknas ur sessionens egen logg.
Allt är byggt i Swift med AppKit och SwiftUI, utan tredjepartsberoenden. Allt stannar på datorn. Det enda nätverksanropet är kvoten, som hämtas var tredje minut med den inloggning Claude Code redan har.
Öppen källkod, byggd lokalt
Precis som LocalhostBar distribueras Lantern som källkod. Klona repot och kör ./install.sh. Skriptet lägger in hooken i Claude Codes inställningar och sparar en backup först, bygger appen lokalt och lägger den i Program-mappen. Starta sedan om dina sessioner. Det kräver macOS 14 eller senare, Xcode Command Line Tools och Claude Code, i terminalen eller i VS Code. ./uninstall.sh tar bort allt igen.
Repot ligger på GitHub: github.com/Wish-You-Were-Here/lantern. MIT-licens: använd, forka, gör vad ni vill. Issues och pull requests är välkomna.
Att jobba bredvid
Ju mer av arbetet som sker parallellt, desto viktigare blir det att veta när man själv behövs. Lantern gör ingenting åt själva arbetet. Den ser bara till att en session aldrig står och väntar i tjugo minuter på ett klick som tar en sekund.
Jobbar du också med flera agenter samtidigt, eller har en egen återkommande irritation som borde bli ett verktyg? Hör av dig.