Stell über Berechtigungstokens in deiner CLI-Konfiguration ein, was der Agent ausführen darf. Berechtigungen werden in ~/.cursor/cli-config.json (global) oder <project>/.cursor/cli.json (projektspezifisch) festgelegt.

Berechtigungstypen

Shell-Befehle

Format: Shell(commandBase) Steuert den Zugriff auf Shell-Befehle. Die commandBase ist das erste Token in der Befehlszeile.
BeispielBeschreibung
Shell(ls)Ausführen von ls-Befehlen erlauben
Shell(git)Beliebige git-Unterbefehle erlauben
Shell(npm)Befehle des npm-Paketmanagers erlauben
Shell(rm)Destruktives Löschen von Dateien verweigern (oft in deny)

Dateilesen

Format: Read(pathOrGlob) Steuert den Lesezugriff auf Dateien und Verzeichnisse. Unterstützt Glob-Muster.
BeispielBeschreibung
Read(src/**/*.ts)Lesen von TypeScript-Dateien in src erlauben
Read(**/*.md)Lesen von Markdown-Dateien überall erlauben
Read(.env*)Lesen von Umgebungsdateien verweigern
Read(/etc/passwd)Lesen von Systemdateien verweigern

Dateischreiben

Format: Write(pathOrGlob) Steuert den Schreibzugriff auf Dateien und Verzeichnisse. Unterstützt Glob-Muster. Im Print-Modus ist --force erforderlich, um Dateien zu schreiben.
BeispielBeschreibung
Write(src/**)Schreiben in beliebige Dateien unter src erlauben
Write(package.json)Ändern von package.json erlauben
Write(**/*.key)Schreiben privater Schlüsseldateien verweigern
Write(**/.env*)Schreiben von Umgebungsdateien verweigern

Konfiguration

Füge Berechtigungen zum Objekt permissions in deiner CLI-Konfigurationsdatei hinzu:
{
  "permissions": {
    "allow": [
      "Shell(ls)",
      "Shell(git)", 
      "Read(src/**/*.ts)",
      "Write(package.json)"
    ],
    "deny": [
      "Shell(rm)",
      "Read(.env*)",
      "Write(**/*.key)"
    ]
  }
}

Pattern Matching

  • Glob-Muster verwenden die Platzhalter **, * und ?
  • Relative Pfade beziehen sich auf den aktuellen Workspace
  • Absolute Pfade können auf Dateien außerhalb des Projekts verweisen
  • Deny-Regeln haben Vorrang vor Allow-Regeln