~/blog/tag/permissions
Permissies
Wat de agent mag, welke van die regels echt standhouden, en het verschil tussen een grens en een suggestie.
Waar ik hier over schrijf
Bij permissies wordt het gat tussen wat je hebt ingesteld en wat er werkelijk wordt afgedwongen het snelst zichtbaar.
De bevinding die door al deze stukken loopt: de twee helften gedragen zich anders. Een regel die iets afneemt bindt meestal meteen en overal. Een regel die iets uitdeelt wacht ergens op: een dialoog die iemand moet accepteren, een workspace die iemand moet vertrouwen, een modus die niet actief is in de sessie waar jij toevallig in zit. Zet ze samen in één bestand en er doet er maar één wat jij denkt.
De tweede terugkerende bevinding is dat een permissiegrens vaak dunner is dan zijn naam belooft. Een geweigerd pad kan alsnog opduiken in de uitvoer van een shell-commando dat het opsomt. Een goedkeuring die je in een wegwerp-workspace geeft, kan die workspace overleven. En het bestand dat je lokale overrides uit git houdt, blijkt te worden uitgesloten door een globale ignore-regel die de repo zelf nergens vastlegt, waardoor een exemplaar dat je met de hand aanmaakt geen enkele bescherming heeft.
Dit is geen pleidooi tegen het instellen van permissies. Het is een pleidooi om te weten welke van je regels dragend zijn. De regels die beperken, plus een hook, zijn de twee dingen die op zichzelf standhouden.
Het bredere beeld van wat je weggeeft zodra je een agent tools geeft, staat in de gids over MCP en beveiliging.
beste startpunten
- Claude Code permissions instellen: de gids die ik miste
De gids die de documentatie nooit helemaal geschreven heeft. Elk type regel, hoe ze samenwerken, en welke scope wint als er twee botsen.
- Claude Code sandboxen: toestemming is geen muur
Een laag dieper. Wat een sandbox tegenhoudt, wat hij bewust niet tegenhoudt, en waarom juist de eigenschap die hem bruikbaar maakt het lek is.
- Claude Code-config delen met je team: wat de repo wel en niet afdwingt
Permissies in een repo die je deelt. Een repo kan iedereen vanaf de eerste clone beperken, maar rechten uitdelen kan hij alleen voorstellen.
Je CI-runner beveiligen als een agent je workflow schrijft
Je eigen forge en runner draaien is in 2026 een verdedigbare keuze. Alleen schrijft niemand op hoe je je CI-runner beveiligt op het platform waar je naartoe verhuisde, en een permissiemodel dat om een dialoog heen is gebouwd, overleeft de stap naar een pipeline niet.
lees →Claude Code-config delen met je team: wat de repo wel en niet afdwingt
Hoe je Claude Code-config deelt met je team: wat er in .claude/settings.json hoort en wat in CLAUDE.md, wat een collega stilletjes op zijn eigen machine overrulet, en welke gecommitte regels pas werken als iedereen een dialoog goedkeurt.
Claude Code cross-session messaging: sessies die elkaar berichten sturen
Met cross-session messaging stuurt de ene Claude Code-sessie een bericht naar de andere. Hoe je het gebruikt, wat een bericht wel en niet mag zodra het aankomt, en welke instellingen bepalen of het überhaupt bezorgd wordt.
Claude Code plan mode: beslissen voordat de agent schrijft
Hoe plan mode in Claude Code werkt: het planbestand op schijf, de vijf fases die je nooit ziet, en de plekken waar read-only eerder een advies blijkt dan een regel.
Claude Code sandboxen: toestemming is geen muur
Zo zet je Claude Code in een sandbox: de ingebouwde /sandbox, de sandbox runtime, dev containers en VM's vergeleken, en waarom een toestemmingsprompt je niet beschermt.
Claude Code permissions instellen: de gids die ik miste
Hoe je Claude Code permissions instelt zonder gek te worden van de prompts: modes, allow- en deny-regels, hooks en de sandbox als één model, plus de settings.json die ik draai.