24/7

Coding agents 24/7 laten draaien op je eigen server

Een coding agent die altijd aan staat, heeft drie dingen nodig: een machine die niet slaapt, een proces dat je verbinding overleeft, en een manier om te merken wanneer hij je nodig heeft. Hier zijn de manieren om elk te regelen, van tmux tot systemd tot een sessiedaemon, plus de limieten die je abonnement stelt.

Coding agents 24/7 laten draaien op je eigen server

Kort antwoord

Zet de agent op een machine die nooit slaapt (een VPS of een machine thuis die altijd aan staat). Draai hem onder iets dat je SSH-sessie overleeft: tmux voor interactief gebruik, een systemd-gebruikersservice (met lingering aan) om tmux bij het opstarten terug te brengen, of een daemon die eigenaar is van de sessies. Geef elke parallelle sessie een eigen git-worktree. Meestal zijn het de gebruikslimieten van je abonnement, niet de hardware, die een 24/7-agent tegenhouden: Claude-abonnementen resetten elke vijf uur en hebben ook wekelijkse limieten.

Een coding agent op je laptop stopt als de klep dichtgaat. Hem verhuizen naar een machine die aan blijft, is het makkelijke deel. Wat mensen overslaan: toezicht op het proces (wat het in leven houdt, en wat het na een herstart terugbrengt), isolatie tussen parallelle sessies, en de gebruikslimieten die de agent lang voor de hardware tegenhouden. Deze gids behandelt elk ervan, voor Claude Code, Codex en de andere terminalagents.

Cloud vs je eigen machine

Bepaal eerst of je überhaupt een machine nodig hebt. De leveranciers draaien agents nu voor je:

Cloud van de leverancier (bijv. cloudsessies van Claude Code, cloudtaken van Codex)Je eigen server of machine thuis
InstallatieGitHub koppelen (Claude kan ook een lokale repo als bundel uploaden)Een VPS of machine die altijd aan staat, plus installatie en inloggen
OmgevingEen geïsoleerde VM per sessie, ingericht met een script; teruggenomen na inactiviteitJe toolchain, je databases, je geheimen, blijvend
Netwerk en privédienstenStandaard beperkt (allowlist van domeinen); je privénetwerk is buiten bereikAlles wat de machine kan bereiken: VPN, tailnet, staging-databases
AgentsDie van één leverancierElke CLI: Claude Code, Codex, OpenCode, Grok Build, agy
KostenHet tegoed van je abonnement (Anthropic: geen aparte rekenkosten)Het tegoed van je abonnement plus een paar euro per maand voor de machine

Staat je project op GitHub en bouwt het vanuit een installatiescript, dan is de cloud van de leverancier het minste werk. De documentatie over cloudsessies van Anthropic is het startpunt; claude --cloud "…" start er een vanuit je terminal. Kies je eigen machine als de agent dingen nodig heeft die alleen jouw machine heeft, of als je agents van meerdere leveranciers naast elkaar wilt. De VPS-koopgids behandelt de grootte en actuele prijzen. Een Mac mini thuis werkt ook, zolang je de slaapstand uitzet.

Toezicht op het proces

Interactieve agents zijn terminalprogramma's. Ze sterven met de terminal, tenzij iets anders die vasthoudt. Je hebt vier opties, van eenvoudigst tot robuustst.

1. tmux

tmux new -A -s main
cd ~/src/api && claude        # detach: Ctrl-b d · re-attach: tmux attach -t main

tmux overleeft verbroken verbindingen, geen herstarts. Het is het juiste gereedschap voor interactief werk, en het is wat de documentatie van Anthropic aanraadt om een Remote Control-sessie op een externe machine in leven te houden. Onze gids over tmux, mosh en Tailscale heeft de config die agents nodig hebben.

2. systemd + tmux, zodat het na een herstart terugkomt

Een interactieve TUI kun je niet direct als service draaien, want die heeft een terminal nodig. Je kunt systemd wel bij het opstarten een losgekoppelde tmux-sessie laten starten. Maak als je gewone gebruiker ~/.config/systemd/user/agents.service aan:

[Unit]
Description=tmux session for coding agents

[Service]
Type=forking
ExecStart=/usr/bin/tmux new-session -d -s main
ExecStop=/usr/bin/tmux kill-session -t main

[Install]
WantedBy=default.target
systemctl --user daemon-reload
systemctl --user enable --now agents.service
sudo loginctl enable-linger "$USER"     # start user services at boot, without a login

Dat brengt een lege sessie terug, niet je gesprekken. Die hervatten is een aparte stap (zie Wat er bij een herstart gebeurt hieronder).

3. Headless runs volgens schema

Voor terugkerende klussen, zoals nachtelijke dependency-updates, nieuwe issues sorteren of documentatie opnieuw genereren, sla je de TUI over. Draai claude -p "…" of codex exec "…" vanuit cron of een systemd-timer. Er is niemand om iets goed te keuren, dus stel de toestemmingsmodus en allowlist bewust in. Agents veilig met volledige toestemmingen draaien laat zien hoe.

4. Een sessiedaemon

De robuustste optie is een proces dat eigenaar is van de agentsessies: het start ze, bewaart hun transcripten, en laat je vanaf overal koppelen. De servermodus van Remote Control in Claude Code (claude remote-control) is er een. Die bedient standaard tot 32 gelijktijdige sessies, instelbaar met --capacity, maar je draait hem nog steeds binnen tmux of als service. agy remote-control start registreert de daemon van Antigravity als OS-dienst. Tools van derden, waaronder Maude, zetten hun eigen daemon neer die meerdere agents beheert.

Parallelle sessies en worktrees

Twee agents die dezelfde checkout bewerken, overschrijven elkaars wijzigingen. Geef elke sessie een eigen git-worktree, een aparte werkmap en branch die de geschiedenis van de repository deelt:

git worktree add ../api-auth -b feature/auth
git worktree add ../api-billing -b fix/billing
# one tmux window per worktree, one agent per window

Claude Code kan dit voor je doen: claude --worktree feature-auth (of -w) maakt een worktree aan onder .claude/worktrees/ op een nieuwe branch en start de sessie daarin. Zie de documentatie over worktrees.

Hoeveel sessies één machine aankan, hangt af van wat ze draaien, niet van de agents zelf. Een bruikbare vuistregel is 4 GB voor de eerste sessie plus 1–2 GB voor elke extra die bouwt of test, en meer als elke worktree een eigen devserver of database draait. Kijk tijdens een druk uur naar free -h voordat je er nog een toevoegt. Schijfruimte telt ook op, want elke worktree krijgt een eigen node_modules.

Quota en rate limits

Een 24/7-machine heeft alleen zin als je abonnement de agent laat doorwerken, dus lees de limieten voordat je erop plant:

  • Claude (Pro, Max). Gebruikslimieten resetten elke vijf uur, en er is ook een wekelijkse limiet, volgens het artikel over gebruikslimieten van Anthropic. Meerdere parallelle sessies putten uit hetzelfde tegoed. Je kunt zien waar je staat onder Instellingen → Gebruik.
  • Codex (ChatGPT-abonnementen). Plus en vergelijkbare niveaus gebruiken rollende vensters van vijf uur, en er kunnen ook wekelijkse limieten gelden. Lokaal CLI-gebruik en cloudtaken delen één tegoed. Zie de prijspagina van Codex van OpenAI voor je abonnement.
  • API-sleutels. Geen abonnementsvenster, maar je betaalt per token, dus een op hol geslagen lus kost geld in plaats van te stoppen. Stel bestedingslimieten in in de console van de provider.

In de praktijk betekent “24/7” dat de agent kan werken wanneer er werk en tegoed is, niet dat hij de hele dag op volle toeren draait. Plan de lange taken voor als je weg bent, en reken erop dat hij stopt tot de volgende reset.

Wat er bij een herstart gebeurt

Kernelupdates, onderhoud bij de provider en processen die wegens geheugentekort worden gestopt, herstarten allemaal dingen. Gesprekken van agents worden op schijf opgeslagen, dus er gaat niets verloren, maar niets start vanzelf opnieuw:

  • Claude Code: claude --continue hervat het meest recente gesprek in de huidige map, en met claude --resume kies je er een.
  • Codex: codex resume --last, of codex resume voor een keuzelijst.
  • tmux: de server is weg, en daarmee je vensterindeling. De systemd-unit hierboven maakt de sessie opnieuw aan. Plugins zoals tmux-resurrect kunnen ook indelingen herstellen.

Alles wat bezig was toen de machine uitviel, zoals een halve wijziging of een lopende test, moet je met de hand controleren. Nog een reden om de agent vaak te laten committen.

Meekijken vanaf je telefoon

Een agent die altijd aan staat, heeft je op onhandige momenten nodig: een toestemmingsverzoek, een vraag, een afgeronde taak om te reviewen. Je opties zijn een SSH-app gekoppeld aan tmux, die gratis is maar geen meldingen heeft; de Remote Control-apps van leveranciers, die per agent werken; ntfy-hooks voor push, behandeld in verzoeken goedkeuren vanaf je telefoon; of een app die het allemaal doet.

Maude is gebouwd voor deze opzet. Het zet via SSH een daemon neer die je sessies 24/7 op de server draait, ze laat doorlopen als de app gesloten is, en Claude Code, Codex, OpenCode, Grok Build en Antigravity beheert op zoveel servers als je toevoegt. Je krijgt pushmeldingen met Sta toe/Weiger, een inbox met wat er wacht, en per sessie git-worktrees, een diff-review en een terminal. Is een agent door zijn tegoed heen, dan kun je de sessie aan een andere agent overdragen, samen met een briefing over het werk tot dan toe. Je hebt nog steeds het eigen abonnement of de API-sleutel van elke agent nodig. De app kost $2.99 per week na een proefperiode van 3 dagen, of $59.99 per jaar na een proefperiode van 7 dagen.

Veelgestelde vragen

Staat mijn abonnement 24/7-gebruik toe?
De hardware kan de hele dag draaien; de limieten van je abonnement bepalen hoeveel werk er gedaan wordt. Claude-abonnementen resetten elke vijf uur en hebben ook wekelijkse limieten; ChatGPT-abonnementen geven Codex rollende vensters van vijf uur met mogelijke wekelijkse limieten. API-sleutels hebben geen venster maar factureren per token.
Hoeveel agentsessies kan één VPS aan?
Dat hangt af van wat de sessies draaien. Een ruw beginpunt is 4 GB voor de eerste sessie plus 1–2 GB voor elke extra die bouwt of tests draait. Geef elke sessie een eigen git-worktree, en kijk met free -h naar het geheugen voordat je er meer toevoegt.
Wat gebeurt er met mijn agents als de server herstart?
De processen en eventuele tmux-sessies zijn weg, maar gesprekken staan op schijf. Hervat ze met claude --continue of claude --resume, en codex resume --last. Een systemd-gebruikersservice met lingering aan kan je tmux-sessie bij het opstarten terugbrengen.
Kan ik Claude Code 24/7 op een Mac mini thuis draaien?
Ja. Zet de slaapstand van het systeem uit (bijvoorbeeld sudo pmset -a sleep 0), gebruik een bekabelde netwerkverbinding, en bereik hem via Tailscale of een app die een uitgaande verbinding maakt. Remote Control en tmux werken daar allebei; een Mac die slaapt, zet alles stil.
Kan ik Claude Code en Codex op dezelfde server draaien?
Ja. Het zijn onafhankelijke CLI's met aparte logins en configmappen (~/.claude en ~/.codex). Draai ze in aparte tmux-vensters of worktrees, zodat ze niet dezelfde bestanden bewerken.

Je agents, altijd aan

Sessies draaien dag en nacht op je server; je telefoon laat weten wanneer ze je nodig hebben. iOS en Android.

Download Maude on the App Store Get Maude on Google Play