Skip to main content
Die Devin CLI verwendet JSON-Dateien (mit Kommentarunterstützung) zur Konfiguration. Auf dieser Seite werden alle verfügbaren Optionen dokumentiert.

Dateipfade

Unter Windows lauten die Pfade zu den Nutzer-Konfigurationsdateien %APPDATA%\devin\config.json und %APPDATA%\devin\mcp_config.json (z. B. C:\Users\<you>\AppData\Roaming\devin\config.json) und nicht ~\.config\devin\.
MCP-Server wurden in v3000.3 (dem Local-3.6-Release) in die dedizierten Dateien mcp_config.json verschoben. Ältere Versionen speichern sie stattdessen im Schlüssel mcpServers der Hauptkonfigurationsdateien; neuere Versionen migrieren dort gefundene mcpServers-Einträge beim Start automatisch. Siehe mcpServers.

Vollständige Konfigurationsreferenz


Referenz der Optionen

Optionen, die mit nur für Nutzer gekennzeichnet sind, können nur in der Nutzerkonfiguration (~/.config/devin/config.json; %APPDATA%\devin\config.json unter Windows) festgelegt werden. Nur permissions, read_config_from und hooks sind in Projektkonfigurationen verfügbar. mcpServers kann ebenfalls auf beiden Ebenen festgelegt werden, befindet sich jedoch in den dedizierten Dateien mcp_config.json (siehe mcpServers).

agent (nur für Nutzer)

theme_mode (nur für Nutzer)

Berechtigungen

Ausführliche Informationen finden Sie unter Berechtigungen.

mcpServers

Zuordnung von Servernamen zu Serverkonfigurationen. Unterstützt sowohl lokale Befehle (stdio) als auch entfernte HTTP-Server. Siehe MCP-Konfiguration. Seit v3000.3 (dem Local-3.6-Release) befinden sich MCP-Server in dedizierten Dateien: ~/.config/devin/mcp_config.json (%APPDATA%\devin\mcp_config.json unter Windows), .devin/mcp_config.json und .devin/mcp_config.local.json. In älteren Versionen befindet sich der Schlüssel mcpServers direkt in den Hauptkonfigurationsdateien; neuere Versionen migrieren ihn beim Start automatisch in die dedizierten Dateien.

show_path (nur für Nutzer)

Zeigt den aktuellen Pfad des Arbeitsverzeichnisses im Eingaberahmen an. Wenn aktiviert, wird im oberen Rand des Eingabefelds Ihr lesbar formatiertes CWD angezeigt (z. B. ~/projects/my-app).

unicode_mode (nur für Nutzer)

Legt fest, ob die Terminal-UI Unicode-Symbole oder ASCII-kompatible Alternativen verwendet. Setzen Sie den Wert auf "ascii", wenn Ihr Terminal oder Ihre Schriftart Unicode-Glyphen nicht korrekt darstellt (z. B. wenn das Symbol ⏺ als Kästchen angezeigt wird).

show_hints (nur für Nutzer)

Zeigt gelegentlich Tipps zwischen den Eingaben an (z. B. „Schon gewusst: Verwende /model, um zwischen verfügbaren Modellen zu wechseln“). Nützlich, um CLI-Funktionen zu entdecken; auf false setzen, um sie auszublenden, sobald du damit vertraut bist.

include_gitignored_files (nur für Nutzer)

Bezieht von Git ignorierte Dateien in die Ergebnisse der @-Tab-Vervollständigung ein. Wenn diese Option aktiviert ist, werden Dateien, die den Mustern in .gitignore entsprechen, in den @-Ergänzungen angezeigt. Das ist nützlich, wenn Sie Dokumentation oder andere Dateien in von Git ignorierten Verzeichnissen speichern, auf die Sie verweisen möchten.

respect_gitignore (nur für Nutzer)

Steuert, ob der Agent .gitignore beim Lesen oder Schreiben von Dateien über Tools berücksichtigt. Wenn aktiviert, werden Tool-Aufrufe blockiert, die auf von Git ignorierte Pfade zugreifen. Dies ist unabhängig von include_gitignored_files, das sich nur auf die @-Tab-Vervollständigung auswirkt.

attribution (nur für Nutzer)

Legt fest, ob der Agent den von ihm erstellten Commits und Pull Requests einen Devin-Hinweis hinzufügt. Wenn diese Option aktiviert ist, enthalten Commit-Nachrichten und PR-Beschreibungen eine Zeile Generated with [Devin] sowie den Trailer Co-Authored-By: Devin. Setzen Sie den Wert auf false, um beides wegzulassen, sodass kein Devin-Hinweis hinzugefügt wird.

subagents_enabled (nur für Nutzer)

Legt fest, ob der Agent Arbeit an Subagenten delegieren kann. Wenn diese Option deaktiviert ist, werden die Tools run_subagent und read_subagent entfernt, sodass der Agent die gesamte Arbeit selbst erledigt. Änderungen an dieser Einstellung werden sofort übernommen – eine laufende Sitzung übernimmt sie ohne Neustart.
Die Organisationsrichtlinie hat Vorrang: Wenn ein Admin Subagenten für Ihre Organisation deaktiviert hat (über die Einstellung Standard-Subagentenmodell), bleiben Subagenten unabhängig von dieser Einstellung deaktiviert.

keymap (nur für Nutzer)

Überschreiben Sie die integrierten Tastenkombinationen der CLI. Der Abschnitt enthält eine Tabelle mit Kontexten (global, editor, input, list, …), die jeweils Aktionsnamen den Tasten zuordnen, durch die sie ausgelöst werden. Nicht aufgeführte Aktionen behalten ihre integrierten Standardeinstellungen.
Eine Tastenspezifikation ist eine durch - getrennte Liste von Modifikatoren (ctrl, alt, shift), gefolgt von einem Tastennamen (einem Zeichen oder einer benannten Taste wie enter, esc, tab, home, page-up, f5). Die Reihenfolge der Modifikatoren spielt keine Rolle, und beim Abgleich wird die Groß-/Kleinschreibung nicht berücksichtigt. Eine Ausnahme bildet ein einzelnes Großbuchstabenzeichen: Es bindet die Umschalttaste ("K" entspricht "shift-k").
Führe /shortcuts aus, um alle Aktionen mit ihrem context.action-Bezeichner – denselben hier verwendeten Bezeichnern – anzuzeigen und Bindungen interaktiv neu zuzuweisen. Dort festgelegte Bindungen werden wieder in diesem Abschnitt gespeichert.
Die Bindung von global.cancel (Ctrl+C) kann nicht aufgehoben werden, sodass du einen laufenden Agenten jederzeit unterbrechen kannst. Ungültige Einträge, unbekannte Kontexte oder Aktionen sowie Überschreibungen, die mit einem anderen Tastenkürzel im selben Kontext kollidieren würden, werden beim Start gemeldet und verwenden stattdessen den integrierten Standard.

auto_update (nur für Nutzer)

Steuert die automatische Hintergrundaktualisierung unter macOS und Linux. Wenn diese Option aktiviert ist, werden neue Releases heruntergeladen und aktiviert, während Devin CLI läuft, sodass beim nächsten Aufruf von devin automatisch die neueste Version verwendet wird. Die aktuell laufende Sitzung bleibt davon unberührt — ein Austausch des current-Symlinks wird erst beim nächsten Start wirksam. Das Update ist so ausgelegt, dass Unterbrechungen kein Problem darstellen: Jeder Dateisystemschritt wird zunächst in einem temporären Pfad vorbereitet und dann per atomarem Umbenennen übernommen. Gleichzeitig laufende Updater werden über eine Dateisperre serialisiert. Wenn der Prozess während des Updates beendet wird, kann die Installation nicht in einem fehlerhaften Zustand zurückbleiben — es wird dann einfach wieder die alte Version gestartet. Gilt nur für eigenverwaltete Installationen (curl | bash unter macOS/Linux). Installationen, die mit einem anderen Produkt gebündelt sind (z. B. Windsurf), ignorieren diese Einstellung und werden über ihre übergeordnete Anwendung aktualisiert.

keymap (nur für Nutzer)

Tastenkombinationen überschreiben. Überschreibungen werden nach Kontext und anschließend nach Aktion angegeben – anhand der für jede Tastenkombination unter /shortcuts angezeigten Kennung context.action (z. B. editor.insert_newline):
Überschreibungen ersetzen die integrierten Standardbelegungen für diese Aktion vollständig; nicht aufgeführte Aktionen behalten ihre Standardbelegungen. Die Belegung von Ctrl+C (Abbrechen) kann nicht aufgehoben werden. Ungültige Einträge (unbekannte Namen, ungültige Tastenspezifikationen, Werte des falschen Typs oder Überschreibungen, die mit einer anderen Belegung im selben Kontext in Konflikt stehen) werden beim Start als Warnungen gemeldet und übersprungen — der Rest der Konfiguration wird dennoch angewendet. Eine Tastenspezifikation besteht aus null oder mehr durch - getrennten Modifikatoren, gefolgt von einem Tastennamen (z. B. ctrl-shift-p, alt-enter, f5, K). Modifikatoren: ctrl/control/c, alt/meta/option/opt/m, shift/s. Benannte Tasten: enter, esc, tab, backspace, delete, insert, up, down, left, right, home, end, page-up, page-down, space, f1f24. Jedes andere einzelne Zeichen belegt die entsprechende Zeichentaste (Groß- und Kleinschreibung werden berücksichtigt: K belegt Umschalt+K); verwenden Sie - für die Minustaste (ctrl--). Sie können Tastenbelegungen auch interaktiv ändern: Drücken Sie in /shortcuts in einer Tastenkombinationszeile Enter und anschließend die neue Taste — die Änderung wird in diesem Abschnitt keymap gespeichert. Siehe Tastenbelegungen anpassen.

notify

Steuert Terminalbenachrichtigungen, wenn der Agent fertig ist oder Eingaben des Nutzers benötigt. Die CLI schreibt ein BEL-Zeichen (löst den Terminalton / eine visuelle Benachrichtigung aus), eine OSC-9-Escape-Sequenz (löst eine Systembenachrichtigung in iTerm2 und kompatiblen Terminals aus) und eine OSC-777-Sequenz (Desktopbenachrichtigung in rxvt-unicode und anderen Terminals). Terminals, die diese Sequenzen nicht erkennen, ignorieren sie problemlos.

read_config_from

Steuert den Import aus Konfigurationen anderer KI-Tools: Auf false setzen, um einen bestimmten Import zu deaktivieren. null wird wie true behandelt.

proxy (nur für Nutzer)

Konfigurieren Sie, wie die CLI ihren eigenen ausgehenden HTTP-/HTTPS-Datenverkehr leitet (API-Aufrufe, Updates, MCP-Server usw.). Dies hat keine Auswirkungen auf die Netzwerkverbindung untergeordneter Sandbox-Prozesse (siehe unten sandbox). Das Feld mode legt die Proxy-Strategie fest: Beispiel — Unternehmensproxy:
Beispiel — Proxy deaktivieren:
Administratoren können denselben proxy-Block in der maschinenweiten Systemkonfigurationsdatei festlegen. Die Enterprise-Einstellung hat Vorrang. Einen Proxy in beiden Dateien zu konfigurieren, ist ein Fehler — entfernen Sie den Abschnitt proxy aus Ihrer Nutzerkonfiguration, wenn Ihre Organisation ihn verwaltet.

sandbox (nur für Nutzer)

Die Netzwerkfilterung der Sandbox ist derzeit instabil. Wenn Sie diese Funktion benötigen, wenden Sie sich bitte an Ihre Ansprechperson für das Konto, um Informationen zum Zeitplan für eine stabile Verfügbarkeit zu erhalten.
Konfigurieren Sie die Netzwerkfilterung auf Domain-Ebene für die Sandbox. Wenn --sandbox aktiv ist und die Domainfilterung konfiguriert wurde, startet ein verwalteter Netzwerk-Proxy auf Loopback, und die Sandbox erzwingt, dass der gesamte Traffic untergeordneter Prozesse über ihn geleitet wird.
Einen vollständigen Überblick darüber, wie die Sandbox funktioniert — einschließlich der Durchsetzung durch Enterprise und wie Enterprise- und Nutzer-Settings zusammenwirken — finden Sie in der Sandbox-Dokumentation.
Das Flag --sandbox erzwingt schreibbare Pfade und deny-Regeln auf OS-Ebene. Schreibbare Wurzelverzeichnisse werden aus den gewährten Write(...)-Bereichen sowie Workspace-Verzeichnissen abgeleitet; alles andere ist lesbar, mit Ausnahme von Pfaden, die durch Read(...)-Sperrregeln ausgeblendet werden. Write(...)-Bereiche, die während einer Sitzung gewährt werden, erweitern die Sandbox dynamisch für nachfolgende Befehle.
Wenn --sandbox übergeben wird, die Sandbox aber nicht aufgelöst werden kann (z. B. weil Sandbox-Tools auf der aktuellen Plattform nicht verfügbar sind), verweigert die CLI den Start, statt ohne Sandbox zu laufen. Dieses Fail-Closed-Verhalten stellt sicher, dass die Sicherheitsabsicht von --sandbox niemals stillschweigend umgangen wird.
Syntax für Domainmuster: Beispiel:
Die Domain-Filterung gilt, wenn die Sandbox aktiv ist (--sandbox). Ohne --sandbox wird der Sandbox-Abschnitt ignoriert.
Für Enterprise-Teams können Admins Domain-Listen über Team Settings überschreiben. Enterprise-Allowlists sind verbindlich (sie ersetzen Ihre lokalen allowed_domains), während Enterprise-Denylists additiv sind (sie werden mit Ihren lokalen denied_domains zusammengeführt).

JSON mit Kommentaren

Konfigurationsdateien unterstützen Kommentare im JavaScript-Stil: