Desktop-Anwendung
Nutzen Sie Claude Code Desktop optimal: parallele Sitzungen mit Git-Isolation, Drag-and-Drop-Pane-Layout, integriertes Terminal und Datei-Editor, Seitenchats, Computernutzung, Dispatch-Sitzungen von Ihrem Telefon, visuelle Diff-Überprüfung, App-Vorschau, PR-Überwachung, Konnektoren und Unternehmenskonfiguration.
In der Claude Desktop-App ist Claude Code die Registerkarte Code. Die App bietet außerdem Chat und Cowork, das Dispatch und längere agentengestützte Arbeiten übernimmt. Diese Seite ist die Referenz für die Registerkarte Code.
Universeller Build für Intel und Apple Silicon
Für x64-Prozessoren
Claude für Linux abrufen (Beta)
apt oder .deb für Ubuntu und Debian
Für Windows ARM64 laden Sie das ARM64-Installationsprogramm herunter. Unter Linux installieren Sie mit apt; siehe Claude Desktop unter Linux.
Nach der Installation starten Sie Claude, melden sich an und klicken auf die Registerkarte Code. Eine Anleitung für Ihre erste Sitzung finden Sie im Leitfaden „Erste Schritte“.
In der Registerkarte Code ist jedes Gespräch eine Sitzung: Es hat seinen eigenen Chat-Verlauf und Projektordner, unabhängig von jeder anderen Sitzung. Die Seitenleiste listet Ihre Sitzungen auf und ermöglicht es Ihnen, mehrere parallel auszuführen. Innerhalb einer Sitzung können Sie:
- Diffs überprüfen und kommentieren, dann den resultierenden PR durch CI überwachen
- Ihre laufende App in der Browser-Pane in der Vorschau anzeigen, während Claude seine eigenen Änderungen überprüft, und externe Websites daneben öffnen
- Claude Ihre iOS-App im iOS Simulator ausführen und testen in der iOS Simulator-Pane beobachten
- Panes anordnen für Chat, Diff, Browser, Terminal und Datei-Editor nebeneinander
- Eine Seitenfrage stellen, die den Kontext der Sitzung nutzt, ohne sie zu beeinträchtigen
- Claude Ihre anderen Sitzungen überprüfen, Nachrichten senden oder archivieren lassen
- Externe Tools verbinden wie GitHub, Slack und Linear
- Claude Apps öffnen und Ihren Bildschirm steuern lassen
- Auf Ihrem Computer, in der Cloud oder über SSH ausführen
Für geplante wiederkehrende Arbeiten, Tastaturkürzel oder Aufgaben von Ihrem Telefon senden siehe die verlinkten Seiten und Abschnitte. Wenn Sie bereits die Terminal-basierte CLI verwenden, siehe den CLI-Vergleich für das, was übertragen wird.
Sitzung starten
Bevor Sie Ihre erste Nachricht senden, wählen Sie in der Zeile unter dem Eingabefeld die Umgebung, den Projektordner, den Berechtigungsmodus und das Modell aus:
- Umgebung: Wählen Sie mit der Umgebungsauswahl, dem ersten Steuerelement in der Zeile, wo Claude ausgeführt wird. Siehe Umgebungskonfiguration.
- Wenn eine neue Sitzung keine Umgebungsauswahl unter dem Eingabefeld hat, folgen Sie den Schritten für das frühere Layout.
- Projektordner: Klicken Sie auf das Steuerelement für den Projektordner neben der Umgebungsauswahl, um den Ordner auszuwählen, in dem Claude arbeitet.
- Cloud-Sitzung: Wählen Sie statt eines Ordners Repositorys aus
- Gespeicherte lokale oder SSH-Umgebung: Die Umgebung enthält ihre Ordner bereits, daher zeigt die Zeile kein Steuerelement für den Projektordner an. Um die Ordner zu ändern, bearbeiten Sie die Umgebung.
- Berechtigungsmodus: Wählen Sie mit dem Moduswahlschalter, wie viel Autonomie Claude hat. Sie können den Berechtigungsmodus während der Sitzung ändern.
- Modell: Wählen Sie ein Modell in der Modellauswahl am rechten Ende der Zeile aus. Sie können das Modell während der Sitzung ändern.
Geben Sie Ihre Aufgabe ein und drücken Sie Eingabe, um zu starten. Jede Sitzung verfolgt ihren eigenen Kontext und Änderungen unabhängig.
Arbeiten mit Code
Geben Sie Claude den richtigen Kontext, kontrollieren Sie, wie viel es eigenständig tut, und überprüfen Sie, was es geändert hat.
Verwenden Sie das Eingabefeld
Geben Sie ein, was Claude tun soll, und drücken Sie Eingabe, um zu senden. Claude liest Ihre Projektdateien, nimmt Änderungen vor und führt Befehle basierend auf Ihrem Berechtigungsmodus aus. Sie können Claude jederzeit unterbrechen: Klicken Sie auf die Stoppschaltfläche, um sofort zu unterbrechen, oder geben Sie eine Korrektur ein und drücken Sie Eingabe, um sie zu senden, ohne die laufende Aktion zu stoppen. Claude liest die Korrektur, sobald die aktuelle Aktion abgeschlossen ist, und passt sich an, bevor der nächste Schritt erfolgt.
Die Schaltfläche + neben dem Eingabefeld gibt Ihnen Zugriff auf Dateianhänge, Skills, Konnektoren und Plugins.
Übernehmen Sie einen vorgeschlagenen Prompt
Nachdem Claude geantwortet hat, kann die Code-Registerkarte einen vorgeschlagenen nächsten Prompt als grauen Text im leeren Eingabefeld anzeigen. Claude Code generiert jeden Vorschlag aus Ihrer Konversation mit einer kurzen Hintergrundanfrage, die auf die Nutzungslimits Ihres Plans oder Ihre API-Kosten angerechnet wird.
- Vorschlag verwenden: Drücken Sie Tab oder Pfeil nach rechts, um ihn in das Eingabefeld zu übernehmen, bearbeiten Sie ihn bei Bedarf und drücken Sie dann Eingabe, um ihn zu senden. Wenn Sie Eingabe drücken, bevor Sie den Vorschlag übernehmen, wird er nicht gesendet.
- Eigenen Prompt schreiben: Beginnen Sie mit der Eingabe. Der Vorschlag wird nur angezeigt, solange das Eingabefeld leer ist und keine angehängten Dateien enthält.
Deaktivieren Sie Prompt suggestions unter Settings > Code oder Settings > Claude Code, um Vorschläge zu beenden. Jede Sitzung zeigt sie ab ihrem nächsten Start oder ihrer nächsten Fortsetzung nicht mehr an.
Fügen Sie Dateien und Kontext zu Eingaben hinzu
Um Claude eine Datei zu geben, erwähnen Sie sie per @mention oder hängen Sie sie im Eingabefeld an:
- @mention-Dateien: Geben Sie
@gefolgt von einem Dateinamen ein, um eine Datei zum Konversationskontext hinzuzufügen.- In einer Cloud-Sitzung:
@kann Dateien erst auflisten, nachdem Sie Ihre erste Nachricht gesendet haben. Wenn@keine Dateien auflistet, senden Sie Ihre erste Nachricht ohne die Datei und erwähnen Sie die Datei dann per @mention in Ihrer nächsten Nachricht.
- In einer Cloud-Sitzung:
- Dateien anhängen: Hängen Sie Bilder, PDFs und andere Dateien über die Schaltfläche + neben dem Eingabefeld an Ihren Prompt an, oder ziehen Sie Dateien direkt in den Prompt. Dies ist nützlich zum Teilen von Screenshots von Fehlern, Design-Mockups oder Referenzdokumenten.
- In einer WSL-Sitzung: Wenn das Menü + Add image statt Add files or photos anzeigt, können Sie nur Bilder anhängen. Um Claude eine andere Datei aus dem Ordner der Sitzung zu geben, erwähnen Sie sie per @mention.
Wählen Sie einen Berechtigungsmodus
Berechtigungsmodi kontrollieren, wie viel Autonomie Claude während einer Sitzung hat: ob es vor dem Bearbeiten von Dateien, dem Ausführen von Befehlen oder beidem fragt. Sie können Berechtigungsmodi jederzeit mit dem Moduswahlschalter in der Zeile unter dem Eingabefeld wechseln. Um jede Änderung selbst zu genehmigen, wechseln Sie zu Manual.
Um einen Standardmodus für neue lokale Sitzungen festzulegen, fügen Sie permissions.defaultMode zu Ihrer Einstellungsdatei hinzu. Die Desktop-App liest die gleichen Einstellungsdateien wie die CLI. Ein Modus, den Sie im Wahlschalter auswählen, wird pro Ordner gespeichert und hat Vorrang vor defaultMode für diesen Ordner, außer Plan, das nur für die aktuelle Sitzung gilt.
| Modus | Einstellungsschlüssel | Verhalten |
|---|---|---|
| Manual | default |
Claude fragt vor dem Bearbeiten von Dateien oder dem Ausführen von Befehlen. Sie sehen einen Diff und können jede Änderung akzeptieren oder ablehnen. |
| Accept edits | acceptEdits |
Claude akzeptiert Dateibearbeitungen automatisch und häufige Dateisystem-Befehle wie mkdir, touch und mv, fragt aber immer noch vor dem Ausführen anderer Terminal-Befehle. Verwenden Sie dies, wenn Sie Dateiänderungen vertrauen und schnellere Iterationen wünschen. |
| Plan | plan |
Claude liest Dateien und führt Befehle aus, um zu erkunden, schlägt dann einen Plan vor, ohne Ihren Quellcode zu bearbeiten. Gut für komplexe Aufgaben, bei denen Sie den Ansatz zuerst überprüfen möchten. |
| Auto | auto |
Claude läuft ohne wiederkehrende Berechtigungsabfragen; vor Aktionen wie Shell-Befehlen und Netzwerkanfragen führt ein Hintergrund-Klassifikator eine Überprüfung durch, dass sie mit Ihrer Anfrage übereinstimmen. Wird angezeigt, wenn Auto mode verfügbar ist; es gibt keinen separaten Settings-Umschalter dafür. |
| Bypass permissions | bypassPermissions |
Claude läuft ohne Berechtigungsabfragen, außer für die Aktionen, die kein Modus automatisch genehmigt, Sicherheitsklassifikatoren, wenn Claude auf externen Websites agiert, oder Desktop-Aktionen wie das Löschen einer Sitzung, jedoch nicht das Archivieren einer Sitzung. Äquivalent zu --dangerously-skip-permissions in der CLI. Aktivieren Sie auf Pro- und Max-Plänen „Allow bypass permissions mode“ unter Settings > Code oder Settings > Claude Code. Auf Team- und Enterprise-Plänen gibt es keinen Settings-Umschalter, und die Organisationsrichtlinie kontrolliert es stattdessen. Verwenden Sie dies nur in sandboxierten Containern oder VMs. |
Frühere Versionen der Code-Registerkarte bezeichneten diese Modi als Ask permissions, Auto accept edits und Plan mode.
Der Berechtigungsmodus dontAsk ist nur in der CLI verfügbar.
[!TIP]
Beginnen Sie komplexe Aufgaben im Plan, damit Claude einen Ansatz abbildet, bevor Änderungen vorgenommen werden. Sobald Sie den Plan genehmigen, wechseln Sie zu Accept edits oder Manual, um ihn auszuführen. Siehe Plan-Modus für mehr zu diesem Workflow.
Cloud-Sitzungen unterstützen Accept edits, Plan und Auto. Accept edits entspricht dem default-Modus: Cloud-Sitzungen genehmigen Dateibearbeitungen vorab, daher zeigt der Wahlschalter Accept edits statt Manual an. Bypass permissions ist nicht verfügbar in Cloud-Sitzungen, einschließlich Sitzungen in einer selbstgehosteten Umgebung.
Enterprise-Administratoren können einschränken, welche Berechtigungsmodi verfügbar sind. Siehe enterprise configuration für Details.
Verfügbarkeit des Auto-Modus
Der Auto-Modus ist für alle Benutzer auf der Anthropic API verfügbar und erfordert Claude Opus 4.6 oder später, Sonnet 4.6 oder später, Haiku 5.5 oder ein Fable-Modell. Organisationsadministratoren können den Auto-Modus mit dem Schlüssel disableAutoMode in verwalteten Einstellungen ausschalten.
Bei Enterprise-Bereitstellungen, die Desktop zu Google Cloud's Agent Platform weiterleiten, ist der Auto-Modus auch standardmäßig verfügbar; siehe Auto mode on Bedrock, Agent Platform, or Foundry für die unterstützten Modelle.
Vorschau Ihrer App
Claude kann einen Dev-Server starten und ihn im Browser-Pane öffnen, um seine Änderungen zu überprüfen. Dies funktioniert sowohl für Frontend-Web-Apps als auch für Backend-Server: Claude kann API-Endpunkte testen, Server-Logs anzeigen und Probleme, die er findet, iterieren. In den meisten Fällen startet Claude den Server automatisch nach dem Bearbeiten von Projektdateien. Sie können Claude auch jederzeit bitten, eine Vorschau anzuzeigen. Standardmäßig überprüft Claude automatisch Änderungen nach jeder Bearbeitung.
Klicken Sie in einer lokalen Sitzung auf einen HTML-, PDF- oder Videopfad im Chat, um ihn im Browser-Pane zu öffnen.
[!NOTE]
In einer SSH-Sitzung kann Claude Ihre App nicht im Browser-Pane öffnen, da es dort nicht über die Tools des Panes verfügt. Um sich die App selbst anzusehen, leiten Sie ihren Port an Ihren Computer weiter.
Wenn das Browser-Pane nicht geöffnet ist, nachdem Claude in einer lokalen Sitzung einen Server gestartet hat, klicken Sie im Chat auf der Karte des Servers auf Open.
Aus dem Browser-Pane können Sie:
- Direkt im Browser-Pane mit Ihrer laufenden App interagieren
- Beobachten, wie Claude seine eigenen Änderungen automatisch überprüft: Es macht Screenshots, inspiziert das DOM, klickt auf Elemente, füllt Formulare aus und behebt Probleme, die es findet
- Server über das Menü Dev servers in der Kopfzeile des Browser-Panes starten oder stoppen oder alle auf einmal stoppen
- Mit Keep cookies im ⋮-Menü des Browser-Panes festlegen, ob der Browser Cookies nach dem Beenden der App behält, damit Sie sich während der Entwicklung nicht erneut anmelden müssen
Claude erstellt die anfängliche Server-Konfiguration basierend auf Ihrem Projekt. Wenn Ihre App einen benutzerdefinierten Dev-Befehl verwendet, bearbeiten Sie .claude/launch.json, um Ihr Setup zu entsprechen. Siehe Configure preview servers für die vollständige Referenz.
Um die gespeicherten Daten des Browsers zu löschen, wählen Sie Clear browsing data im ⋮-Menü des Browser-Panes. Um den Browser vollständig auszuschalten, deaktivieren Sie Browser tools unter Settings > Code oder Settings > Claude Code.
Externe Websites durchsuchen
Das Browser-Pane ist ein Browser mit Registerkarten, daher können Sie Dokumentation, Issue-Tracker oder andere Websites neben Ihrer laufenden App öffnen. Um den Browser zu öffnen, drücken Sie Cmd+Shift+B auf macOS oder Ctrl+Shift+B auf Windows, oder klicken Sie in der Titelleiste der Sitzung auf Browser. Sie können sich auf Websites im Pane anmelden, einschließlich Popup-Anmeldungsflows wie Google OAuth.
Wenn Sie zum ersten Mal auf einen externen Link im Chat klicken, fragt ein Dialog, ob Links im Browser-Pane oder in Ihrem Standardbrowser geöffnet werden sollen. Um Ihre Wahl später zu ändern, verwenden Sie Open links in built-in browser im ⋮-Menü des Browser-Panes. Cmd-Klick auf macOS oder Ctrl-Klick auf Windows öffnet einen Link direkt in Ihrem Standardbrowser.
Claude kann externe Seiten lesen und mit ihnen interagieren, indem es die gleichen Tools verwendet, die es zum Überprüfen Ihrer App nutzt, mit zwei zusätzlichen Sicherheitsprüfungen:
- Sicherheitsklassifikatoren überprüfen Claudes Schreibaktionen auf externen Seiten, wie Klicken und Tippen, in jedem Berechtigungsmodus. Dies sind die gleichen Klassifikatoren, die Auto mode verwendet, und wenn sie eine Aktion kennzeichnen, erhalten Sie eine Berechtigungsabfrage unabhängig vom Modus.
- In Berechtigungsmodi außer Auto und Bypass permissions wird auch eine Domain-Allowlist-Prüfung angewendet, bevor Claude zu einer neuen Website navigiert.
Genehmigen Sie Claudes Aktionen auf einer Website
Wenn Claude zum ersten Mal auf einer externen Website agiert, wird eine Berechtigungskarte angezeigt und Claude wartet auf Ihre Wahl: Allow once, Always allow oder Deny. Allow once genehmigt die Aktion, ohne etwas zu speichern. Always allow speichert die Genehmigung für diese Website auf Ihrem Gerät, und Sie können sie in Einstellungen widerrufen. Jede Website benötigt ihre eigene Genehmigung, einschließlich Subdomains. Ihre lokalen Dev-Server und Projektdateien benötigen keine Genehmigung, daher funktioniert auto-verify ohne Berechtigungsabfragen.
Auch auf einer genehmigten Website wird Claude keine Artikel kaufen, Konten erstellen oder CAPTCHAs umgehen, ohne Ihre Eingabe. Das Durchsuchen im Browser-Pane verwendet das gleiche Sicherheitsmodell wie die Claude in Chrome-Erweiterung. Siehe Using Claude in Chrome safely für die Behandlung sensibler Websites und riskanter Aktionen durch Claude.
Wählen Sie zwischen dem Browser-Pane und der Chrome-Erweiterung
Das Browser-Pane verwendet ein sauberes Browser-Profil, getrennt von Ihrem persönlichen Browser, ohne Ihre gespeicherten Anmeldungen oder Verlauf. Verwenden Sie es zum Erstellen und Testen Ihrer App und für Websites, die Ihre Identität nicht benötigen. Wenn Sie möchten, dass Claude als Sie in Ihren angemeldeten Sitzungen agiert, verwenden Sie stattdessen die Claude in Chrome-Erweiterung, die den Anmeldestatus Ihres Browsers teilt.
Beschränken Sie das externe Durchsuchen für Ihre Organisation
Der Browser folgt den gleichen Site-Allowlist- und Blocklist-Kontrollen wie die Claude in Chrome-Erweiterung. Wenn Ihre Organisation diese Listen bereits für die Erweiterung konfiguriert hat, respektiert der Browser sie automatisch. Administratoren können auch Claudes Tools auf externen Seiten mit der verwalteten Einstellung browserExternalPageTools ausschalten. Mit deaktivierten Tools können Benutzer immer noch zu externen Websites navigieren; Claudes Tools können sie nicht lesen oder bearbeiten.
Um das externe Durchsuchen vollständig auszuschalten, setzen Sie die verwaltete Einstellung disableBrowserExternalNavigation auf true. Dies blockiert alle externe Navigation im Browser, einschließlich Websites auf der Allowlist Ihrer Organisation; localhost Dev-Server und Datei-Vorschauen funktionieren weiterhin. Verwenden Sie browserExternalPageTools, um Benutzern zu ermöglichen, externe Websites weiterhin zu durchsuchen, ohne Claudes Tools, und disableBrowserExternalNavigation, um externe Websites für Benutzer und Claude zu blockieren.
Überprüfen Sie Änderungen mit der Diff-Ansicht
Nachdem Claude Änderungen an Ihrem Code vorgenommen hat, können Sie mit der Diff-Ansicht Änderungen dateiweise überprüfen, bevor Sie einen Pull Request erstellen. Um die Diff-Ansicht zu öffnen, klicken Sie auf die Zeilenzahlen, z. B. +12 -1, in der Karte Changes des Sitzungsdetails-Bereichs. Sie können auch in der Titelleiste der Sitzung auf Changes klicken. Der Diff einer Cloud-Sitzung gegenüber dem Basis-Branch kann Änderungen auslassen, die noch nicht gepusht wurden.
Um Kommentare zu bestimmten Zeilen hinzuzufügen, bewegen Sie den Mauszeiger über eine Zeile und klicken Sie auf das +, das neben ihrer Zeilennummer erscheint, um ein Kommentarfeld zu öffnen. Geben Sie Ihr Feedback ein und drücken Sie Eingabe, um den Kommentar hinzuzufügen. Nach dem Hinzufügen von Kommentaren zu mehreren Zeilen senden Sie alle Kommentare auf einmal:
- macOS: drücken Sie Cmd+Eingabe
- Windows: drücken Sie Ctrl+Eingabe
Claude liest Ihre Kommentare und nimmt die angeforderten Änderungen vor, die als neuer Diff angezeigt werden, den Sie überprüfen können.
Überprüfen Sie Ihren Code
Um Claude Ihre Änderungen vor dem Commit überprüfen zu lassen, geben Sie /code-review in das Eingabefeld ein. Die Ergebnisse erscheinen in der Konversation, sobald das Review abgeschlossen ist.
In lokalen, SSH- und WSL-Sitzungen werden die Ergebnisse als Code review-Karte angezeigt, nach Datei gruppiert. Verwenden Sie die Karte, um darauf zu reagieren:
- Klicken Sie auf Walk through in diff, um die Diff-Ansicht zu öffnen und die Ergebnisse einzeln durchzugehen. Ein Ergebnis im aktuellen Diff erscheint an seiner Zeile, wo Sie auf Fix this one klicken oder es verwerfen können.
- Klicken Sie auf Apply fixes, um Claude zu bitten, die noch offenen Ergebnisse zu beheben.
In jeder Sitzung können Sie Claude auch im Eingabefeld bitten, die Ergebnisse des Reviews zu beheben. Wonach /code-review sucht und welche Argumente es akzeptiert, erfahren Sie unter Lokal mit /code-review überprüfen.
Überwachen Sie den Pull-Request-Status
Damit Claude fehlgeschlagene Prüfungen behebt oder GitHub den Pull Request mergt, aktivieren Sie Auto-fix oder Merge when ready. Nachdem Sie einen Pull Request geöffnet haben, wird er in der Karte Changes des Sitzungsdetails-Bereichs mit dem Status seiner CI-Prüfungen angezeigt. Öffnen Sie das ⋮-Menü neben seinem Titel:
- Auto-fix: In einer lokalen Sitzung geht Claude außerdem auf neue Review-Kommentare ein, die jemand anderes als Sie hinterlässt. Der Autor des Kommentars muss der Eigentümer des Repositorys, ein Organisationsmitglied, ein Collaborator oder eine GitHub App sein.
- Merge when ready: Aktiviert GitHubs Auto-Merge für den PR. In einer lokalen Sitzung fordert Desktop einen Squash-Merge an, sofern der Basis-Branch keine Merge-Queue verwendet.
- In SSH- und WSL-Sitzungen: Merge when ready ist deaktiviert, aktivieren Sie daher Auto-Merge für den Pull Request auf GitHub
- Wenn das Repository kein Auto-Merge zulässt: Merge when ready lässt sich nicht aktivieren, aktivieren Sie daher zuerst Auto-Merge in Ihren GitHub-Repository-Einstellungen
- Früheres Layout: Sobald die Sitzung einen Pull Request hat, klicken Sie in ihrer Statusleiste auf CI.
Um die Sitzung automatisch zu archivieren, sobald der PR gemergt oder geschlossen wird, aktivieren Sie auto-archive unter Settings > Code oder Settings > Claude Code.
[!NOTE]
Die PR-Überwachung erfordert, dass die GitHub CLI (
gh) auf Ihrem Computer installiert und authentifiziert ist. Wennghnicht installiert ist, fordert Desktop Sie auf, es beim ersten Versuch, einen PR zu erstellen, zu installieren.Richten Sie in einer SSH-Sitzung
gitundghauf dem Remote-Computer ein, bevor Sie auf Create PR klicken, da Claude den Branch dort pusht undgh pr createausführt. Installieren Sieghdort selbst, da Desktop Sie in einer SSH-Sitzung nicht dazu auffordert. Prüfen Sie dann dort, dassgit pushfunktioniert und dassgh auth statusmeldet, dass Sie angemeldet sind.
Anordnen Ihres Arbeitsbereichs
Die Code-Registerkarte ist um Panes aufgebaut, die Sie in jedem Layout anordnen können: Chat, Diff, Browser, Terminal, Datei, Plan, Aufgaben und Subagent, zusammen mit dem iOS Simulator auf macOS. Ziehen Sie ein Pane an seiner Kopfzeile, um es zu verschieben, oder ziehen Sie eine Pane-Kante, um es zu vergrößern. Drücken Sie Cmd+\ auf macOS oder Ctrl+\ auf Windows, um das fokussierte Pane zu schließen.
Um ein weiteres Pane zu öffnen, klicken Sie auf die zugehörige Symbolschaltfläche in der Titelleiste der Sitzung. Bewegen Sie den Mauszeiger darüber, um den Namen jeder Schaltfläche zu sehen, z. B. Terminal, Änderungen für die Diff-Ansicht, Browser und Dateien. Wenn das gewünschte Pane keine Schaltfläche in der Titelleiste hat, wählen Sie es im Menü ⋮ neben den Schaltflächen aus:
- Wenn das Fenster schmal ist: Schaltflächen, die nicht hineinpassen, werden in das Menü verschoben
- Für Panes ohne Schaltfläche: Panes wie Hintergrundaufgaben und Plan werden aufgeführt, sobald die Sitzung etwas hat, das in diesen Panes angezeigt werden kann
Um über mehrere Bildschirme hinweg zu arbeiten, öffnen Sie ein Pane wie den Diff oder das Terminal in einem eigenen Fenster, und docken Sie es wieder an, wenn Sie fertig sind. Claude arbeitet weiterhin im Hauptfenster.
[!NOTE]
Das Pane-Layout, Terminal, Datei-Editor und Ansichtsmodi in diesem Abschnitt erfordern Claude Desktop v1.2581.0 oder später. Öffnen Sie Claude → Nach Updates suchen auf macOS oder Hilfe → Nach Updates suchen auf Windows, um zu aktualisieren.
Sitzungsdetails anzeigen
Das Sitzungsdetails-Panel ist eine Gruppe von Karten neben dem Chat, die anzeigen, wo die Sitzung läuft, was sie geändert hat, was sie gerade ausführt und wie viel Kontext sie nutzt. Das Panel erscheint, nachdem Sie eine Sitzung gestartet haben, sofern der Chat breit genug dafür ist.
Sitzungsdetails-Panel aus- oder einblenden
Um das Panel aus- oder einzublenden, klicken Sie in der Titelleiste der Sitzung oder im Menü ⋮ der Leiste auf Sitzungsleiste ausblenden oder Sitzungsleiste einblenden. Wenn Sie das Panel weiterhin nicht sehen, prüfen Sie, welches Layout der Code-Registerkarte Sie haben.
Führen Sie Befehle im Terminal aus
Das integrierte Terminal ermöglicht es Ihnen, Befehle neben Ihrer Sitzung auszuführen, ohne zu einer anderen App zu wechseln. Klicken Sie in der Titelleiste der Sitzung auf Terminal oder drücken Sie Ctrl+` auf macOS oder Windows. Das Terminal öffnet sich im Arbeitsverzeichnis Ihrer Sitzung und teilt die gleiche Umgebung wie Claude, sodass Befehle wie npm test oder git status die gleichen Dateien sehen, die Claude bearbeitet. Um eine zweite Terminal-Registerkarte zu öffnen, klicken Sie auf + in der Terminal-Pane-Kopfzeile oder klicken Sie mit der rechten Maustaste auf einen Ordner im Chat, um Im Terminal öffnen zu wählen.
Wenn eine WSL-Sitzung kein Terminal hat, lesen Sie Wenn das Terminal oder Konnektoren nicht verfügbar sind. Das Terminal ist in lokalen und SSH-Sitzungen verfügbar, mit einer Einschränkung auf Windows-Remote-Rechnern.
Öffnen und bearbeiten Sie Dateien
Um eine Datei zu öffnen, die Claude erwähnt, klicken Sie im Chat auf ihren Pfad.
Um eine Datei selbst zu bearbeiten, verwenden Sie das Datei-Pane:
- Lokale Sitzungen: Sie können Dateien im Arbeitsverzeichnis der Sitzung bearbeiten, mit Ausnahme einiger schreibgeschützter Dateien wie
.mcp.jsonund.claude/settings.json. Um eine davon zu ändern, öffnen Sie sie in einer anderen App. - Cloud-, SSH- und WSL-Sitzungen: Das Datei-Pane ist schreibgeschützt, bitten Sie daher Claude, die Änderungen vorzunehmen.
Bearbeitungen im Datei-Pane speichern
Standardmäßig werden Ihre Bearbeitungen im Datei-Pane automatisch gespeichert, daher zeigt das Pane keine Schaltfläche Speichern an. Um Ihre Bearbeitungen selbst zu speichern, deaktivieren Sie Automatisch speichern im Menü ⋮ des Panes. Wenn Automatisch speichern deaktiviert ist, klicken Sie nach dem Ändern einer Datei auf Speichern, um Ihre Bearbeitungen zu schreiben, oder auf Abbrechen, um sie rückgängig zu machen.
Wenn das Pane warnt, dass sich die Datei auf der Festplatte geändert hat, klicken Sie auf Überschreiben, um die Version auf der Festplatte mit Ihren Bearbeitungen zu überschreiben, oder auf Verwerfen, um Ihre Bearbeitungen zu verwerfen.
Öffnen Sie Dateien in anderen Apps
Klicken Sie mit der rechten Maustaste auf einen Dateipfad im Chat, Diff-Viewer oder Datei-Pane, um ein Kontextmenü zu öffnen:
- Als Kontext anhängen: Fügen Sie die Datei zu Ihrem nächsten Prompt hinzu
- Öffnen in: Öffnen Sie die Datei in einem installierten Editor wie VS Code, Cursor oder Zed
- Im Finder anzeigen auf macOS, Im Explorer anzeigen auf Windows: Öffnen Sie den enthaltenden Ordner
- Kopieren: Ein Untermenü, das den Absoluten Pfad, den Relativen Pfad oder den Dateinamen der Datei kopiert
Wechseln Sie Ansichtsmodi
Ansichtsmodi kontrollieren, wie viel Detail im Chat-Transkript angezeigt wird. Um den Ansichtsmodus zu wechseln, öffnen Sie das Sitzungsmenü über das Caret-Symbol neben dem Sitzungstitel und wählen Sie Transkript-Ansicht, oder drücken Sie Ctrl+O auf macOS oder Windows, um durch die Modi zu zyklisieren. Der Thinking-Modus wird im Menü nur angezeigt, nachdem Claude Thinking in der Sitzung erzeugt hat, die Sie anzeigen.
| Modus | Was es anzeigt |
|---|---|
| Normal | Tool-Aufrufe in Zusammenfassungen zusammengefasst, mit vollständigen Text-Antworten |
| Thinking | Tool-Aufrufe in Zusammenfassungen zusammengefasst, plus Claudes Thinking |
| Ausführlich | Jeden Tool-Aufruf, jede Datei-Leseoperation und jeden Zwischenschritt, den Claude unternimmt, plus Claudes Thinking |
Verwenden Sie Thinking, um Claudes Überlegungen mit noch zusammengefassten Tool-Aufrufen zu folgen. Verwenden Sie Ausführlich beim Debuggen, warum Claude eine bestimmte Aktion unternommen hat. Claude Desktop-Versionen vor 1.46388.1 listen auch einen Summary-Modus auf, und eine Sitzung, die noch auf Summary eingestellt ist, öffnet sich in Normal, sobald Sie aktualisieren.
Tastenkombinationen
Drücken Sie Cmd+/ auf macOS oder Ctrl+/ auf Windows, um alle in der Code-Registerkarte verfügbaren Tastenkombinationen zu sehen. Die Tabelle in diesem Abschnitt zeigt die macOS-Tasten. Ersetzen Sie unter Windows und Linux diese Tasten:
- Cmd+Option: Drücken Sie Alt
- Cmd+Ctrl: Drücken Sie Ctrl+Alt
- Cmd: Drücken Sie Ctrl
Tastenkombinationen, die mit Ctrl beginnen, bleiben auf jeder Plattform gleich.
| Kürzel | Aktion |
|---|---|
Cmd / |
Tastenkombinationen anzeigen |
Cmd N |
Neue Sitzung |
Cmd Option 1–9 |
Auf dem Bildschirm für neue Sitzungen im aktuellen Layout eine Umgebung auswählen |
Cmd Option 0 |
Auf dem Bildschirm für neue Sitzungen im aktuellen Layout den Dialog Neue Umgebung öffnen |
Cmd W |
Sitzung schließen |
Ctrl Tab / Ctrl Shift Tab |
Zwischen Sitzungen wechseln |
Cmd Shift ] / Cmd Shift [ |
Nächste oder vorherige Sitzung |
Esc |
Claudes Antwort stoppen |
Tab / Pfeil nach rechts |
Vorgeschlagenen Prompt übernehmen in einem leeren Eingabefeld |
Cmd Shift D |
Diff-Pane umschalten |
Cmd Shift B |
Browser-Pane umschalten |
Cmd Shift S |
Element im Browser auswählen |
Ctrl ` |
Terminal-Pane umschalten |
Cmd \ |
Fokussiertes Pane schließen |
Cmd Ctrl W |
Fokussierte Sitzung aus der geteilten Ansicht herausnehmen |
Cmd ; |
Seitenchat öffnen |
Ctrl O |
Ansichtsmodi zyklisieren |
Cmd Shift M |
Berechtigungsmodus-Menü öffnen |
Cmd Shift I |
Modell-Menü öffnen |
Cmd Shift E |
Aufwand-Menü öffnen |
1–9 |
Element in einem offenen Menü auswählen |
Diese Kürzel gelten für den Code-Tab. In Desktop wechselt Shift+Tab nicht zwischen Berechtigungsmodi, wie es im interaktiven Modus des Terminals der Fall ist.
Überprüfen Sie die Nutzung
Um zu sehen, wie voll das Kontextfenster dieser Sitzung ist, ermitteln Sie das Layout Ihrer Code-Registerkarte:
- Aktuelles Layout: Die Kopfzeile der Karte Kontext im Sitzungsdetails-Panel zeigt es als Prozentwert an. Öffnen Sie die Karte, um nach Kategorie zu sehen, was das Fenster belegt.
- Früheres Layout: Klicken Sie auf den Nutzungsring neben dem Modell-Wahlschalter. Sein Popover zeigt Ihre Kontextfenster-Nutzung an.
Geben Sie in beiden Layouts /context in das Eingabefeld ein, um im Chat eine Aufschlüsselung des Kontextfensters dieser Sitzung nach Kategorien auszugeben.
Beide Layouts haben den Nutzungsring neben dem Modell-Wahlschalter. Klicken Sie darauf, um Ihre Plan-Nutzung zu sehen, die über alle Ihre Claude-Code-Oberflächen hinweg geteilt wird.
Lassen Sie Claude Ihren Computer verwenden
Computernutzung ermöglicht es Claude, Ihre Apps zu öffnen, Ihren Bildschirm zu steuern und direkt auf Ihrem Computer zu arbeiten, wie Sie es tun würden. Bitten Sie Claude, mit einem Desktop-Tool zu interagieren, das keine CLI hat, oder etwas zu automatisieren, das nur über eine GUI funktioniert. Für das Ausführen und Testen von iOS-Apps öffnet Desktop stattdessen den dedizierten iOS Simulator-Bereich, anstatt Ihren Bildschirm zu steuern; der Bereich funktioniert ohne Aktivierung der Computernutzung.
[!NOTE]
Computernutzung ist eine Research Preview auf macOS und Windows, die einen Pro- oder Max-Plan erfordert. Sie ist nicht für Team- oder Enterprise-Pläne verfügbar. Die Claude Desktop-App muss ausgeführt werden. Auf macOS erfordert Computernutzung macOS 14 oder höher.
Computernutzung ist standardmäßig deaktiviert. Aktivieren Sie sie in Einstellungen, bevor Claude Ihren Bildschirm steuern kann. Auf macOS müssen Sie auch Barrierefreiheits- und Bildschirmaufzeichnungsberechtigungen gewähren.
Auf macOS kann Computernutzung auch im Hintergrund ausgeführt werden: Claude arbeitet in den Apps, die Sie genehmigt haben, während Sie weiterarbeiten.
[!WARNING]
Im Gegensatz zum sandboxierten Bash-Tool läuft Computernutzung auf Ihrem tatsächlichen Desktop mit Zugriff auf das, was Sie genehmigen. Claude überprüft jede Aktion und kennzeichnet potenzielle Prompt-Injection von Bildschirminhalten, aber die Vertrauensgrenze ist unterschiedlich. Siehe den Sicherheitsleitfaden für Computernutzung für Best Practices.
Wann Computernutzung anwendbar ist
Claude hat mehrere Möglichkeiten, mit einer App oder einem Dienst zu interagieren, und Computernutzung ist die breiteste und langsamste. Es versucht zuerst das präziseste Tool:
- Wenn Sie einen Konnektor für einen Dienst haben, verwendet Claude den Konnektor.
- Wenn die Aufgabe ein Shell-Befehl ist, verwendet Claude Bash.
- Wenn die Aufgabe Browser-Arbeit ist und Sie Claude in Chrome eingerichtet haben, verwendet Claude das.
- Wenn die Aufgabe das Ausführen oder Testen einer iOS-App ist, verwendet Claude den iOS Simulator-Bereich, der keine Bildschirmsteuerung verwendet.
- Wenn keine dieser Optionen zutrifft, verwendet Claude Computernutzung.
Die Pro-App-Zugriffsstufen verstärken dies: Browser sind auf Nur-Ansicht begrenzt, und Terminals und IDEs auf Nur-Klick, was Claude zum dedizierten Tool lenkt, auch wenn Computernutzung aktiv ist. Bildschirmsteuerung ist für Dinge reserviert, die nichts anderes erreichen kann, wie native Apps, Hardware-Steuerfelder oder proprietäre Tools ohne API.
Aktivieren Sie Computernutzung
Computernutzung ist standardmäßig deaktiviert. Wenn Sie Claude bitten, etwas zu tun, das es benötigt, während es deaktiviert ist, teilt Claude Ihnen mit, dass es die Aufgabe tun könnte, wenn Sie Computernutzung in Einstellungen aktivieren.
1. Aktualisieren Sie die Desktop-App
Stellen Sie sicher, dass Sie die neueste Version von Claude Desktop haben. Auf macOS und Windows laden Sie herunter oder aktualisieren Sie unter claude.com/download; unter Linux aktualisieren Sie über Ihren Paketmanager (Anweisungen). Starten Sie dann die App neu.
2. Schalten Sie den Umschalter ein
Öffnen Sie in der Desktop-App die Einstellungen und dann:
- Wenn das Einstellungsmenü Dieser Computer auflistet: Gehen Sie zu Dieser Computer > System
- Andernfalls: Gehen Sie zu Funktionen
Schalten Sie unter Computernutzung die Option Computernutzung aktivieren ein:
- Windows: Der Umschalter wird sofort wirksam und das Setup ist abgeschlossen
- macOS: Fahren Sie mit dem nächsten Schritt fort
Wenn Sie den Umschalter nicht sehen, bestätigen Sie, dass Sie macOS oder Windows mit einem Pro- oder Max-Plan verwenden, und aktualisieren und starten Sie die App neu.
3. Gewähren Sie macOS-Berechtigungen
Auf macOS müssen Sie zwei Systemberechtigungen gewähren, bevor der Umschalter wirksam wird:
- Barrierefreiheit: ermöglicht Claude, zu klicken, zu tippen und zu scrollen
- Bildschirmaufzeichnung: ermöglicht Claude, zu sehen, was auf Ihrem Bildschirm ist
Die Einstellungsseite zeigt den aktuellen Status jeder Berechtigung. Wenn eine verweigert wird, klicken Sie auf das Badge, um den relevanten Systemeinstellungsbereich zu öffnen.
App-Berechtigungen
Wenn Claude eine App zum ersten Mal verwenden muss, wird eine Eingabeaufforderung in Ihrer Sitzung angezeigt. Klicken Sie auf Für diese Sitzung zulassen oder Ablehnen. Genehmigungen gelten für die aktuelle Sitzung oder 30 Minuten in Dispatch-generierten Sitzungen.
Die Eingabeaufforderung zeigt auch, welche Kontrollebene Claude für diese App erhält. Diese Stufen sind nach App-Kategorie festgelegt und können nicht geändert werden:
| Stufe | Was Claude tun kann | Gilt für |
|---|---|---|
| Nur Ansicht | Die App in Screenshots sehen | Browser, Handelsplattformen |
| Nur Klick | Klicken und scrollen, aber nicht tippen oder Tastenkombinationen verwenden | Terminals, IDEs |
| Vollständige Kontrolle | Klicken, tippen, ziehen und Tastenkombinationen verwenden | Alles andere |
Apps mit großer Reichweite wie Terminals, Finder oder Datei-Explorer und Systemeinstellungen oder Einstellungen zeigen eine zusätzliche Warnung in der Eingabeaufforderung, damit Sie wissen, was das Genehmigen gewährt.
Der Abschnitt Computernutzung in den Einstellungen, in dem Sie die Computernutzung aktiviert haben, enthält diese Optionen:
- Abgelehnte Apps: Fügen Sie Apps hier hinzu, um sie ohne Aufforderung abzulehnen. Claude kann eine abgelehnte App indirekt durch Aktionen in einer zulässigen App beeinflussen, kann aber nicht direkt mit der abgelehnen App interagieren.
- Apps anzeigen, wenn Claude fertig ist: Wenn Computernutzung nicht im Hintergrund ausgeführt wird, blendet Claude Ihre anderen Fenster aus, während es arbeitet, damit es nur mit der genehmigten App interagiert. Wenn Claude fertig ist, werden ausgeblendete Fenster wiederhergestellt, es sei denn, Sie deaktivieren diese Einstellung.
Sitzungen verwalten
Jede Sitzung ist eine unabhängige Konversation mit eigenem Kontext und eigenen Änderungen. Sie können mehrere Sitzungen parallel ausführen, Nebenchats abzweigen, Claude Ihre anderen Sitzungen überprüfen und ihnen Nachrichten senden lassen, Arbeit in die Cloud senden oder Dispatch Sitzungen von Ihrem Telefon aus für Sie starten lassen.
Mit Sitzungen parallel arbeiten
Klicken Sie in der Seitenleiste auf + New oder drücken Sie Cmd+N unter macOS bzw. Ctrl+N unter Windows, um parallel an mehreren Aufgaben zu arbeiten. Drücken Sie Ctrl+Tab und Ctrl+Shift+Tab, um zwischen Sitzungen zu wechseln.
Sie können außerdem eine zweite Sitzung neben der aktuellen Sitzung oder in einem eigenen Fenster öffnen:
- Nebeneinander: Halten Sie Option unter macOS bzw. Alt unter Windows gedrückt und klicken Sie auf eine Sitzung in der Seitenleiste, oder klicken Sie mit der rechten Maustaste auf die Sitzung und wählen Sie Open in und dann Split view
- In einem eigenen Fenster: Halten Sie Cmd unter macOS bzw. Ctrl unter Windows gedrückt und klicken Sie auf eine Sitzung, oder klicken Sie mit der rechten Maustaste auf die Sitzung und wählen Sie Open in und dann New window
In der geteilten Ansicht hat der Bereich, den Sie zuletzt geöffnet oder angeklickt haben, den Fokus, und der andere Bereich ist abgedunkelt. Um zu ändern, welche Sitzung ein Bereich anzeigt, klicken Sie in diesen Bereich, um ihm den Fokus zu geben, und klicken Sie dann auf eine Sitzung in der Seitenleiste. Um die fokussierte Sitzung aus der geteilten Ansicht zu nehmen, drücken Sie Cmd+Ctrl+W unter macOS bzw. Ctrl+Alt+W unter Windows.
Eine Sitzung in einem eigenen Worktree ausführen
Aktivieren Sie in einem Projekt, das ein Git-Repository ist, vor dem Start einer Sitzung Worktree, um sie in einem eigenen Git-Worktree auszuführen, einer isolierten Kopie des Projekts. Standardmäßig ist Worktree ausgeschaltet und Claude arbeitet direkt im Projektordner. Aktivieren Sie im aktuellen Layout die Schaltfläche Worktree in der Zeile unter dem Eingabefeld.
- Mit einem Drittanbieter: Wenn die Zeile unter dem Eingabefeld das Steuerelement für den Projektordner, aber keine Schaltfläche Worktree anzeigt, klicken Sie auf dieses Steuerelement und aktivieren Sie Worktree
- Als Standard für eine gespeicherte lokale oder SSH-Umgebung: Legen Sie Worktree fest, wenn Sie die Umgebung erstellen oder bearbeiten
- Früheres Layout: Aktivieren Sie das Kontrollkästchen worktree neben dem Branch-Namen oberhalb des Eingabefelds
Worktrees werden standardmäßig in <project-root>/.claude/worktrees/ gespeichert. So speichern Sie sie stattdessen in einem benutzerdefinierten Verzeichnis:
- Lokale Sitzungen: Legen Sie Worktree location unter Settings > Code oder Settings > Claude Code fest
- SSH-Sitzungen: Legen Sie Worktree folder in der SSH-Verbindung fest
Sie können außerdem unter Settings > Code oder Settings > Claude Code ein Branch prefix festlegen. Desktop stellt es jedem Worktree-Branch-Namen voran, was hilfreich ist, um von Claude erstellte Branches übersichtlich zu halten.
Um von Git ignorierte Dateien wie .env in neue Worktrees aufzunehmen, erstellen Sie eine .worktreeinclude-Datei im Stammverzeichnis Ihres Projekts. Unter Was Worktrees mit dem Haupt-Checkout teilen erfahren Sie, woher eine Worktree-Sitzung Projekteinstellungen, Hooks und Skills liest.
[!NOTE]
Die Sitzungsisolierung erfordert Git. Auf den meisten Macs ist Git standardmäßig installiert. Führen Sie
git --versionim Terminal aus, um dies zu prüfen; wenn eine Versionsnummer ausgegeben wird, ist Git installiert. Wenn Git-Fehler auftreten, bitten Sie Claude in Cowork, Ihnen bei der Fehlerbehebung Ihrer Einrichtung zu helfen.
Ordner zu einer Sitzung hinzufügen
Fügen Sie Ordner vor dem Start der Sitzung oder während ihrer Ausführung hinzu:
- Vor dem Start einer lokalen Sitzung: Fügen Sie die Ordner unter Folders hinzu, wenn Sie eine gespeicherte Umgebung erstellen oder bearbeiten, und starten Sie dann die Sitzung aus dieser gespeicherten Umgebung.
- Während eine lokale oder SSH-Sitzung läuft: Klicken Sie neben dem Eingabefeld auf + und wählen Sie Add folder. Claude arbeitet direkt in diesem Ordner, ohne Worktree.
Eine Sitzung archivieren
Bevor Sie eine Sitzung archivieren, deren Worktree nicht committete Änderungen enthält, lesen Sie Nicht committete Änderungen beim Archivieren einer Sitzung behalten. Um eine Sitzung zu archivieren, bewegen Sie den Mauszeiger in der Seitenleiste darüber, öffnen Sie ihr Menü und wählen Sie Archive. Die Sitzung wird in Ihre archivierten Sitzungen verschoben.
Damit sich Sitzungen selbst archivieren, wenn ihr Pull Request gemergt oder geschlossen wird, aktivieren Sie Auto-archive after PR merge or close unter Settings > Code oder Settings > Claude Code. Cloud-Sitzungen und Sitzungen, die noch laufen, archivieren sich nicht selbst.
Nicht committete Änderungen beim Archivieren einer Sitzung behalten
Nicht committete Änderungen im Worktree einer Sitzung können beim Archivieren der Sitzung verloren gehen. Committen Sie daher zuerst, was Sie behalten möchten:
- Wenn Desktop nach den Änderungen fragt: Wählen Sie Archive anyway, um sie zu verwerfen, oder brechen Sie ab und committen Sie sie
- Wenn die einzigen Änderungen nicht nachverfolgte Dateien sind: Committen Sie diejenigen, die Sie behalten möchten, bevor ein Pull Request gemergt wird, den Claude in der Sitzung geöffnet hat, da Desktop sie dann ohne Nachfrage löschen kann
- In allen anderen Fällen: Der Worktree bleibt mit seinen Änderungen auf dem Datenträger erhalten. Bei einer lokalen Sitzung entfernt Desktop beides etwa 30 Tage, nachdem die Sitzung archiviert wurde oder Sie sie zuletzt geöffnet haben, je nachdem, was später eintritt. Um die Änderungen zu behalten, öffnen Sie die Sitzung über den Tab Archived und wählen Sie Unarchive
Sitzungen organisieren und finden
Sie gruppieren, sortieren und finden Sitzungen über ein Symbol in der Sitzungsliste der Seitenleiste:
- Aktuelles Layout: Bewegen Sie den Mauszeiger über eine Überschrift in der Sitzungsliste, um das Symbol Group and sort anzuzeigen, und klicken Sie darauf. Um archivierte Sitzungen zu finden, wählen Sie View all, die letzte Zeile des Menüs, und öffnen Sie dann den Tab Archived.
- Früheres Layout: Das Symbol Filter wird ohne Mauszeigerbewegung angezeigt. Klicken Sie darauf, um die Liste mit Group by oder Sort by anzuordnen. Um archivierte Sitzungen anzuzeigen, wählen Sie Status und dann Archived.
Um eine Sitzung umzubenennen, öffnen Sie sie und klicken Sie in der Titelleiste auf den Sitzungstitel.
Kontext prüfen und freigeben
Informationen zur Prüfung der Kontextnutzung finden Sie unter Nutzung prüfen. Wenn sich der Kontext füllt, fasst Claude die Konversation automatisch zusammen und arbeitet weiter. Sie können auch /compact eingeben, um die Zusammenfassung früher auszulösen und Kontextplatz freizugeben. Unter Das Kontextfenster finden Sie Details zur Funktionsweise der Komprimierung.
Benachrichtigung erhalten, wenn eine Sitzung abgeschlossen ist
Die Desktop-App sendet eine Betriebssystembenachrichtigung, wenn eine Code-Sitzung eine Aufgabe abschließt und Sie diese Sitzung gerade nicht ansehen. Für Sitzungen, die zu einem Projekt gehören, erhalten Sie stattdessen die Benachrichtigungen des Projekts.
Eine Nebenfrage stellen, ohne die Sitzung zu stören
Mit einem Nebenchat können Sie Claude eine Frage stellen, die den Kontext Ihrer Sitzung nutzt, aber nichts zur Hauptkonversation hinzufügt. Verwenden Sie ihn, wenn Sie ein Stück Code verstehen, eine Annahme prüfen oder eine Idee erkunden möchten, ohne die Sitzung vom Kurs abzubringen.
Drücken Sie Cmd+; unter macOS bzw. Ctrl+; unter Windows, um einen Nebenchat zu öffnen, oder geben Sie /btw in das Eingabefeld ein. Der Nebenchat kann alles im Hauptthread bis zu diesem Zeitpunkt lesen. Wenn Sie fertig sind, schließen Sie den Nebenchat und setzen Sie die Hauptsitzung dort fort, wo Sie aufgehört haben.
Nebenchats sind in lokalen, SSH- und WSL-Sitzungen verfügbar. Die Desktop-App speichert Nebenchats nicht auf dem Datenträger, sodass Sie nach dem Schließen der App nicht zu einem zurückkehren können.
Hintergrundaufgaben beobachten
Der Aufgabenbereich zeigt die Hintergrundarbeit, die innerhalb der aktuellen Sitzung läuft: Subagenten, Shell-Befehle im Hintergrund und dynamische Workflows. Sobald die Sitzung Hintergrundarbeit hat, öffnen Sie den Bereich über Background tasks im Menü ⋮ der Titelleiste.
Klicken Sie auf einen beliebigen Eintrag, um seine Ausgabe im Subagenten-Bereich zu sehen oder ihn zu stoppen. Um zu sehen, was andere Sitzungen tun, verwenden Sie die Seitenleiste oder bitten Sie Claude, sie für Sie zu überprüfen.
Sitzungsübergreifend arbeiten
Claude kann Ihre anderen Sitzungen im Code-Tab auflisten, lesen, woran jede gearbeitet hat, und Nachrichten zwischen ihnen senden. Fragen Sie in natürlicher Sprache: „Welche Sitzung hat das Auth-Refactoring angefasst?“, „Zu welchem Ergebnis ist die API-Sitzung gekommen?“ oder „Sag der Payments-Sitzung, dass sich das Schema geändert hat“.
Sie können Claude auch bitten, eine Sitzung umzubenennen oder zu archivieren. Bitten Sie es beispielsweise, die Sitzungen zu archivieren, deren PRs gemergt wurden.
Über diese Oberfläche sieht Claude nur die Sitzungen, die die Desktop-App selbst ausführt: lokale, SSH- und WSL-Sitzungen im Code-Tab. Claude sieht keine Cloud-Sitzungen oder Sitzungen, die Sie über die Terminal-CLI oder die VS Code-Erweiterung gestartet haben, auch nicht in Worktrees desselben Projekts. Wenn also neun Terminal-Worktrees und zwei Desktop-Sitzungen geöffnet sind, meldet Claude in einer davon die eine andere Desktop-Sitzung. Claude listet nie die Sitzung auf, aus der Sie fragen. Standardmäßig sieht es die 20 zuletzt aktiven Sitzungen und überspringt archivierte Sitzungen, sofern Sie nicht danach fragen. Mit sitzungsübergreifendem Messaging kann Claude separat Ihren anderen Claude Code-Sitzungen Nachrichten senden, einschließlich Terminal-Sitzungen.
Wenn Claude über diese Oberfläche einer anderen Sitzung eine Nachricht sendet, zeigt Claude Code sie dort als Karte an, die mit dem Titel der sendenden Sitzung und einem Rücklink beschriftet ist, sodass Sie immer erkennen können, woher eine Nachricht stammt. Wenn die empfangende Sitzung gerade mitten in einer Aufgabe ist, hält Claude Code die Nachricht zurück und Claude liest sie, sobald die aktuelle Arbeit abgeschlossen ist. Das empfangende Claude kann antworten, und Claude Code stellt die Antwort über diese Oberfläche zurück zu. Claude kann keine Nachrichten an eine archivierte Sitzung zustellen und teilt Ihnen mit, wenn eine Nachricht nicht ankommt.
Claude Code wendet sitzungsübergreifend drei Sicherheitsmechanismen an:
- Sie erhalten eine Genehmigungskarte, bevor Claude eine Sitzung archiviert, außer im Auto-Modus und im Bypass-permissions-Modus, in denen Claude eine Sitzung ohne Genehmigungskarte archivieren kann. Um gefragt zu werden, wechseln Sie zu Manual.
- Claude Code prüft jede Nachricht von dieser Oberfläche anhand der Steuerung eingehender Nachrichten der empfangenden Sitzung, auch wenn die empfangende Sitzung selbst kein sitzungsübergreifendes Messaging hat. Wenn Sie
crossSessionInboundin der empfangenden Sitzung aufrefusesetzen, verwirft Claude Code Nachrichten von dieser Oberfläche. Claude Code meldet diese Ablehnung an die Claude Desktop-App. Vor v2.1.234 verwarf Claude Code jede Nachricht von dieser Oberfläche an eine empfangende Sitzung ohne sitzungsübergreifendes Messaging. - Claude Code zitiert jede eingehende Nachricht und ordnet sie der Sitzung zu, die sie gesendet hat, und Claude befolgt beim Handeln auf eine Nachricht weiterhin die eigenen Berechtigungseinstellungen der empfangenden Sitzung.
Eine von Claude vorgeschlagene Aufgabe starten
Wenn Claude außerhalb Ihrer aktuellen Aufgabe etwas bemerkt, das es wert ist, behoben zu werden, schlägt es diese Arbeit als Aufgabe vor. In lokalen und SSH-Sitzungen mit dem aktuellen Layout ist der Vorschlag eine Karte im Chat, und ihre Schaltflächen starten die Aufgabe entweder oder behalten sie in dieser Sitzung:
- Start: Startet die Aufgabe in einer anderen Sitzung. Standardmäßig läuft die Aufgabe in der Umgebung der aktuellen Sitzung. Die Karte zeigt dann den Status der gestarteten Sitzung, und die Seitenleiste listet die gestartete Sitzung unter der aktuellen Sitzung auf.
- Do it here: Sendet die Aufgabe als Nachricht an die aktuelle Sitzung
- Options: Prüfen oder ändern Sie Einstellungen wie Umgebung, Modell, Worktree und Berechtigungen, bevor Sie auf Start klicken
- Start all: Wenn die Karte mehrere Aufgaben auflistet, wird jede Aufgabe in einer eigenen Sitzung gestartet, ohne zu warten, bis eine Aufgabe abgeschlossen ist, bevor die nächste startet
In Cloud-Sitzungen sowie in lokalen und SSH-Sitzungen mit dem früheren Layout ist der Vorschlag eine Karte Suggested task. Um die Aufgabe so zu starten, wie es die Hauptschaltfläche der Karte angibt, etwa Send to cloud oder Start with worktree, klicken Sie auf diese Schaltfläche. Klicken Sie auf das Caret-Symbol neben der Hauptschaltfläche, um weitere Möglichkeiten zum Starten der Aufgabe zu sehen, einschließlich Do it here.
Lang laufende Aufgaben in der Cloud ausführen
Für große Refactorings, Test-Suites, Migrationen oder andere lang laufende Aufgaben wählen Sie beim Start einer Sitzung im Umgebungsselektor eine Umgebung unter Cloud. Cloud-Sitzungen laufen standardmäßig auf von Anthropic verwalteter Infrastruktur und werden fortgesetzt, auch wenn Sie die App schließen oder Ihren Computer herunterfahren. Schauen Sie jederzeit wieder vorbei, um den Fortschritt zu sehen oder Claude in eine andere Richtung zu lenken. Sie können Cloud-Sitzungen auch über claude.ai/code oder die Claude-Mobil-App überwachen.
Cloud-Sitzungen unterstützen außerdem mehrere Repositorys. Wählen Sie die Repositorys aus:
- Aktuelles Layout: in der Zeile unter dem Eingabefeld, sobald Sie eine Cloud-Umgebung ausgewählt haben.
- Früheres Layout: oberhalb des Eingabefelds. Um ein weiteres Repository hinzuzufügen, klicken Sie auf + neben dem ausgewählten.
Unter Claude Code in der Cloud verwenden erfahren Sie mehr über die Funktionsweise von Cloud-Sitzungen. Wenn ein Arbeitspaket viele Cloud-Sitzungen benötigt, verwenden Sie ein Projekt: Claude startet die Sitzungen für Sie aus einer einzigen Konversation heraus und verfolgt sie nach. Die Schritte finden Sie unter Ein Projekt erstellen.
[!NOTE]
Eine Aufgabe in einer SSH-Sitzung kann ebenfalls weiterlaufen, während Desktop getrennt ist, mit einem Claude-Konto kann sie jedoch stoppen, wenn ihre Anmeldung abläuft.
Auf einer anderen Oberfläche fortfahren
Um eine Sitzung an anderer Stelle fortzusetzen, öffnen Sie das Sitzungsmenü über das Caret-Symbol neben dem Sitzungstitel oder über die Zeile der Sitzung in der Seitenleiste und wählen Sie dann Open in:
- Wählen Sie Cloud, um die Sitzung als Cloud-Sitzung fortzusetzen, wobei Ihre Konversation als Zusammenfassung übernommen wird. Bevor Sie bestätigen, gibt der Dialog an, ob Ihre Dateien ebenfalls verschoben werden und ob diese Sitzung archiviert wird, sobald die Cloud-Sitzung bereit ist. Eine Sitzung, die über SSH oder in WSL läuft, können Sie auf diese Weise nicht verschieben.
- Wählen Sie einen installierten Editor oder Ihren Dateimanager, um den Ordner der Sitzung auf dem Datenträger dort zu öffnen.
Steuern, welche Sitzungen auf Ihren anderen Geräten angezeigt werden
Eine lokale Sitzung wird auf Ihren anderen Geräten angezeigt, sobald Remote Control sie verbindet. Eine verbundene Sitzung erscheint in der Sitzungsliste unter claude.ai/code und in den Claude-Apps auf Geräten, die bei Ihrem claude.ai-Konto angemeldet sind.
Eine lokale Sitzung wird verbunden, wenn Sie Remote Control für sie einschalten oder wenn sie sich beim Start automatisch verbindet:
- Sie schalten es für diese Sitzung ein: mit dem Schalter Remote Control der Sitzung oder durch Eingabe von
/remote-controlin ihr Eingabefeld. - Sie verbindet sich beim Start: Neue Sitzungen verbinden sich automatisch, solange Connect new sessions to Remote Control unter Settings > Code oder Settings > Claude Code eingeschaltet ist. Wenn Sie diese Einstellung nie geändert haben, folgt Desktop
remoteControlAtStartupin Ihren Benutzer- oder verwalteten Einstellungen und danach der Standardeinstellung Ihrer Organisation.
Um zu sehen, ob eine Sitzung verbunden ist, prüfen Sie den Schalter Remote Control in der Karte Environment des Sitzungsdetailbereichs.
Um Sitzungen von Ihren anderen Geräten fernzuhalten, schalten Sie Remote Control auf der gewünschten Ebene aus:
- Eine Sitzung: Schalten Sie ihren Schalter Remote Control aus. In einer Sitzung, die sich beim Start verbunden hat, lässt die Eingabe von
/remote-controlRemote Control eingeschaltet und zeigtRemote Control is already on. This session connected automatically when it started.an. Klicken Sie in dieser Zeile auf Turn off, um die Verbindung zu trennen. - Neue Desktop-Sitzungen auf diesem Computer: Schalten Sie Connect new sessions to Remote Control unter Settings > Code oder Settings > Claude Code aus. Wenn die Einstellung bereits als ausgeschaltet angezeigt wird, schalten Sie sie ein und wieder aus, damit Desktop Ihre Auswahl speichert. Nach dem Speichern hat sie Vorrang vor
remoteControlAtStartupund den Standardwerten. - Jede Sitzung auf diesem Computer, einschließlich der CLI: Setzen Sie
disableRemoteControlin~/.claude/settings.jsonauftrue, um zu verhindern, dass sich Sitzungen verbinden. Eine Sitzung, die beim Speichern der Datei bereits verbunden war, bleibt verbunden, bis Sie Remote Control für sie ausschalten.
Um eine Sitzung auszublenden, die bereits auf Ihren anderen Geräten angezeigt wird, archivieren Sie sie in Desktop. Desktop archiviert auch die Remote-Control-Kopie der Sitzung, sodass sie aus der Standard-Sitzungsliste auf diesen Geräten verschwindet. Informationen zum Anzeigen oder Löschen dort finden Sie unter Sitzungen archivieren.
Sitzungen aus Dispatch
Dispatch ist eine dauerhafte Konversation mit Claude, die in Cowork angesiedelt ist. Sie senden Dispatch eine Aufgabe, und Dispatch entscheidet, wie sie bearbeitet wird.
Eine Aufgabe kann auf zwei Arten zu einer Code-Sitzung werden: Sie fordern direkt eine an, etwa „Öffne eine Claude Code-Sitzung und behebe den Login-Bug“, oder Dispatch entscheidet, dass es sich bei der Aufgabe um Entwicklungsarbeit handelt, und startet selbstständig eine. Aufgaben, die typischerweise an Code weitergeleitet werden, sind das Beheben von Bugs, das Aktualisieren von Abhängigkeiten, das Ausführen von Tests oder das Öffnen von Pull Requests. Recherche, Dokumentbearbeitung und Tabellenkalkulationsarbeit bleiben in Cowork.
Eine von Dispatch gestartete Sitzung verfolgen
Die von Dispatch gestartete Sitzung erscheint zusammen mit Ihren anderen Sitzungen in der Seitenleiste des Code-Tabs. Bei der Standardgruppierung und -sortierung der Seitenleiste finden Sie sie als neueste Sitzung in der Gruppe des Ordners, in dem sie läuft. Sie erhalten eine Push-Benachrichtigung auf Ihrem Telefon, wenn sie abgeschlossen ist oder Ihre Genehmigung benötigt.
Wenn Sie die Computernutzung aktiviert haben, können auch von Dispatch gestartete Code-Sitzungen sie verwenden. App-Genehmigungen in diesen Sitzungen laufen nach 30 Minuten ab und werden erneut abgefragt, anstatt wie bei regulären Code-Sitzungen für die gesamte Sitzung zu gelten.
Dispatch einrichten
Informationen zu Einrichtung, Kopplung und Dispatch-Einstellungen finden Sie im Dispatch-Hilfeartikel. Dispatch erfordert einen Pro- oder Max-Plan und ist in Team- oder Enterprise-Plänen nicht verfügbar.
Dispatch ist eine von mehreren Möglichkeiten, mit Claude zu arbeiten, wenn Sie nicht an Ihrem Terminal sind. Einen Vergleich mit den anderen Optionen finden Sie unter Plattformen und Integrationen.
Claude Code erweitern
Verbinden Sie externe Dienste, fügen Sie wiederverwendbare Workflows hinzu, passen Sie Claudes Verhalten an und konfigurieren Sie Vorschauserver. Um Konnektoren, Skills und Plugins an einem Ort zu verwalten, klicken Sie auf Anpassen in der Seitenleiste. Cowork in der Desktop-App bezieht seine Skills, Plugins und Konnektoren aus dieser Anpassungskonfiguration, die über Ihr claude.ai-Konto synchronisiert wird, nicht aus dem CLI-Verzeichnis ~/.claude.
Claude Code lädt auch die Skills und Plugins, die für Ihr claude.ai-Konto aktiviert sind, in Terminalsitzungen, in denen Sie sich mit demselben Konto anmelden. Siehe Skills synchronisiert von claude.ai und Plugins synchronisiert von claude.ai.
Externe Tools verbinden
Konnektoren sind MCP-Server mit einem grafischen Setup-Ablauf.
Klicken Sie vor oder während der Sitzung auf + neben dem Eingabefeld, um Konnektoren in einer lokalen oder SSH-Sitzung mit einem Claude-Konto hinzuzufügen. Wählen Sie Konnektoren hinzufügen aus, um das Konnektorverzeichnis zu öffnen. Wenn das Menü stattdessen Konnektoren anzeigt, wählen Sie diesen Eintrag und dann Konnektoren durchsuchen aus.
[!NOTE]
Diese Fälle werden auf anderen Seiten behandelt:
- Konnektoren ist in einer WSL-Sitzung ausgegraut: siehe Wenn das Terminal oder Konnektoren nicht verfügbar sind
- Cloud-Sitzungen: siehe Wie Konnektoren Claude Code erreichen
Nach der Verbindung kann Claude Ihren Kalender lesen, Nachrichten senden, Issues erstellen und direkt mit Ihren Tools interagieren. Sie können Claude fragen, welche Konnektoren in Ihrer Sitzung konfiguriert sind. Um Konnektoren zu verwalten oder zu trennen, klicken Sie in der Seitenleiste auf Anpassen und öffnen Sie Konnektoren.
Für Integrationen, die nicht in Konnektoren aufgelistet sind, fügen Sie MCP-Server manuell über Einstellungsdateien hinzu. Sie können auch benutzerdefinierte Konnektoren erstellen.
Skills verwenden
Skills erweitern, was Claude tun kann. Claude lädt sie automatisch, wenn sie relevant sind, oder Sie können eine direkt aufrufen: Geben Sie / im Eingabefeld ein oder klicken Sie auf die Schaltfläche + und wählen Sie Slash-Befehle aus, um zu sehen, was verfügbar ist. Dies umfasst integrierte Befehle, Ihre benutzerdefinierten Skills, Projekt-Skills aus Ihrer Codebasis und Skills aus allen installierten Plugins. Wählen Sie einen aus und er wird im Eingabefeld hervorgehoben angezeigt. Geben Sie Ihre Aufgabe danach ein und senden Sie wie gewohnt.
Sie können einen Befehl senden, während Claude arbeitet, genauso wie jede andere Nachricht, und die Sitzung kehrt in den Leerlauf zurück, sobald der Turn beendet ist.
Lokale Sitzungen laden Ihre persönlichen Skills aus ~/.claude/skills/. Eine SSH-Sitzung liest ~/.claude/skills/ aus dem Home-Verzeichnis des Remote-Hosts, nicht von Ihrem Computer.
Lokale und Cloud-Sitzungen laden auch die Skills, die für Ihr claude.ai-Konto aktiviert sind, außer lokale Sitzungen, wenn Ihre Organisation disableSideloadFlags setzt. Cloud-Sitzungen laden sie statt aus ~/.claude/skills/, wie Skills in Cowork- und Cloud-Sitzungen beschreibt.
Plugins installieren
Plugins sind wiederverwendbare Pakete, die Skills, Agents, Hooks, MCP-Server und LSP-Konfigurationen zu Claude Code hinzufügen. Sie können Plugins aus der Desktop-App installieren, ohne das Terminal zu verwenden.
Klicken Sie in einer lokalen Sitzung oder einer SSH-Sitzung auf + neben dem Eingabefeld und wählen Sie Plugins hinzufügen aus, um den Plugin-Browser zu öffnen. Wenn das Menü stattdessen Plugins anzeigt, wählen Sie diesen Eintrag und dann Plugins durchsuchen aus, oder Plugins verwalten, um Plugins zu aktivieren, zu deaktivieren oder zu deinstallieren.
Sie können Plugins auf Ihr Benutzerkonto, ein bestimmtes Projekt oder nur lokal beschränken. Wenn Ihre Organisation Plugins zentral verwaltet, sind diese Plugins in Desktop-Sitzungen auf die gleiche Weise verfügbar wie in der CLI, außer den Plugins, die die Desktop-App unter disableSideloadFlags zurückhält.
Der Plugin-Browser ist in Cloud-Sitzungen nicht verfügbar, und Plugins, die Sie aus der Desktop-App installieren, sind nicht für Cloud-Sitzungen verfügbar. Eine Cloud-Sitzung installiert auch keine Plugins, die das Repository unter .claude/settings.json deklariert, wie Was wird aus Ihrer Einrichtung übernommen erklärt. Plugins sind in WSL-Sitzungen nicht verfügbar. Für die vollständige Plugin-Referenz einschließlich der Erstellung eigener Plugins siehe Plugins.
Vorschauserver konfigurieren
Claude erkennt automatisch Ihre Dev-Server-Einrichtung und speichert die Konfiguration in .claude/launch.json im Stammverzeichnis des Ordners, den Sie beim Starten der Sitzung ausgewählt haben. Die Vorschau verwendet diesen Ordner als Arbeitsverzeichnis. Wenn Sie also einen übergeordneten Ordner ausgewählt haben, werden Unterordner mit ihren eigenen Dev-Servern nicht automatisch erkannt. Um mit dem Server eines Unterordners zu arbeiten, starten Sie entweder eine Sitzung direkt in diesem Ordner oder fügen Sie eine Konfiguration manuell hinzu.
Um anzupassen, wie Ihr Server startet, z. B. um yarn dev statt npm run dev zu verwenden oder den Port zu ändern, bearbeiten Sie .claude/launch.json. Die Datei unterstützt JSON mit Kommentaren.
{
"version": "0.0.1",
"configurations": [
{
"name": "my-app",
"runtimeExecutable": "npm",
"runtimeArgs": ["run", "dev"],
"port": 3000
}
]
}
Sie können mehrere Konfigurationen definieren, um verschiedene Server aus demselben Projekt auszuführen, z. B. ein Frontend und eine API. Siehe die Beispiele unten.
Änderungen automatisch überprüfen
Wenn autoVerify aktiviert ist, überprüft Claude automatisch Code-Änderungen nach dem Bearbeiten von Dateien. Es macht Screenshots, prüft auf Fehler und bestätigt, dass Änderungen funktionieren, bevor es seine Antwort abschließt.
Auto-Verify ist standardmäßig aktiviert. Deaktivieren Sie es pro Projekt, indem Sie "autoVerify": false zu .claude/launch.json hinzufügen, oder schalten Sie Änderungen automatisch überprüfen im ⋮-Menü des Browser-Bereichs aus.
{
"version": "0.0.1",
"autoVerify": false,
"configurations": [
{
"name": "my-app",
"runtimeExecutable": "npm",
"runtimeArgs": ["run", "dev"],
"port": 3000
}
]
}
Wenn deaktiviert, sind Vorschau-Tools weiterhin verfügbar und Sie können Claude jederzeit bitten, zu überprüfen. Auto-Verify macht es automatisch nach jeder Bearbeitung.
Konfigurationsfelder
Jeder Eintrag im Array configurations akzeptiert die folgenden Felder:
| Feld | Typ | Beschreibung |
|---|---|---|
name |
string | Ein eindeutiger Bezeichner für diesen Server |
runtimeExecutable |
string | Der auszuführende Befehl, z. B. npm, yarn oder node |
runtimeArgs |
string[] | An runtimeExecutable übergebene Argumente, z. B. ["run", "dev"] |
port |
number | Der Port, auf dem Ihr Server lauscht. Standardmäßig 3000 |
cwd |
string | Arbeitsverzeichnis relativ zu Ihrem Projektstammverzeichnis. Standardmäßig das Projektstammverzeichnis. Verwenden Sie ${workspaceFolder}, um das Projektstammverzeichnis explizit zu referenzieren |
env |
object | Zusätzliche Umgebungsvariablen als Schlüssel-Wert-Paare, z. B. { "NODE_ENV": "development" }. Legen Sie hier keine Geheimnisse ab, da diese Datei in Ihr Repo committed wird. Informationen zu Geheimnissen finden Sie unter Umgebungsvariablen für Dev-Server festlegen. |
autoPort |
boolean | Wie mit Port-Konflikten umgegangen wird. Siehe Port-Konflikte |
program |
string | Ein Skript, das mit node ausgeführt werden soll. Siehe wann program vs runtimeExecutable verwendet werden soll |
args |
string[] | An program übergebene Argumente. Wird nur verwendet, wenn program gesetzt ist |
url |
string | Die Adresse, die die Vorschau statt http://localhost:<port> öffnet. Siehe Vorschau unter einer bestimmten URL öffnen |
Wann program vs runtimeExecutable verwendet werden soll
Verwenden Sie runtimeExecutable mit runtimeArgs, um einen Dev-Server über einen Package-Manager zu starten. Zum Beispiel führt "runtimeExecutable": "npm" mit "runtimeArgs": ["run", "dev"] npm run dev aus.
Verwenden Sie program, wenn Sie ein eigenständiges Skript haben, das Sie direkt mit node ausführen möchten. Zum Beispiel führt "program": "server.js" node server.js aus. Übergeben Sie zusätzliche Flags mit args.
Vorschau unter einer bestimmten URL öffnen
Standardmäßig öffnet die Vorschau http://localhost:<port>. Legen Sie url fest, wenn Ihr Server eine andere Adresse benötigt. Häufige Fälle sind Server, die lokales HTTPS erfordern, Apps, die *.localhost-Subdomänen verwenden, und Apps, die Sie durch eine Umleitung anmelden.
{
"version": "0.0.1",
"configurations": [
{
"name": "my-app",
"runtimeExecutable": "npm",
"runtimeArgs": ["run", "dev"],
"port": 8443,
"url": "https://localhost:8443"
}
]
}
Localhost-Adressen öffnen sich direkt, genau wie die Standard-Port-Adresse. Dies umfasst localhost, jede *.localhost-Subdomain, 127.0.0.1 und ::1. Aus Sicherheitsgründen muss eine Localhost-url nur der Ursprung Ihres Servers sein, ohne Pfad oder Abfrage. Sein Port muss dem Port des Eintrags entsprechen. Um eine bestimmte Seite anzuzeigen, bitten Sie Claude, dorthin zu navigieren, nachdem die Vorschau geöffnet wird. Eine Localhost-url mit einem Pfad, einer Abfrage oder einem nicht übereinstimmenden Port wird als Konfigurationsfehler gemeldet, der die URL benennt und die Korrektur anzeigt.
Für jede andere Adresse fragt Desktop beim ersten Öffnen der Vorschau um Ihre Berechtigung, genauso wie wenn Sie in der Vorschau zu einer neuen Website navigieren. Externe Adressen können Pfade enthalten. Wählen Sie Immer zulassen, um die Eingabeaufforderung für diese Website in Zukunft zu überspringen. Organisationsrichtlinien, die externe Websites in der Vorschau einschränken, gelten weiterhin.
Um eine Vorschau eines Servers anzuzeigen, den Sie bereits selbst ausführen, legen Sie url ohne einen Befehl fest. Claude verbindet die Vorschau mit Ihrem laufenden Server, anstatt einen zu starten:
{
"version": "0.0.1",
"configurations": [
{
"name": "my-app",
"url": "https://app.localhost:3000"
}
]
}
Die url muss http oder https sein und darf keinen Benutzernamen oder Passwort enthalten.
Port-Konflikte
Das Feld autoPort steuert, was passiert, wenn Ihr bevorzugter Port bereits verwendet wird:
true: Claude findet und verwendet automatisch einen freien Port. Geeignet für die meisten Dev-Server.false: Claude schlägt mit einem Fehler fehl. Verwenden Sie dies, wenn Ihr Server einen bestimmten Port verwenden muss, z. B. für OAuth-Callbacks oder CORS-Allowlists.- Nicht gesetzt (Standard): Ihr Server erhält den nächsten freien Port, wie bei
true, außer in dem unten beschriebenen Fall. Vor Claude Desktop v2.37337.0 fragt Claude stattdessen, ob der Server genau diesen Port benötigt, und speichert Ihre Antwort dann inlaunch.json.
Wenn Ihr bevorzugter Port belegt ist und autoPort nicht gesetzt ist, bleibt Ihr Server gestoppt, wenn alle folgenden Bedingungen zutreffen:
- Sie starten den Server über ein
npm-,yarn-,pnpm- oderbun-Skript. - Ihr bevorzugter Port ist in diesem Skript fest codiert, oder Claude kann das Skript nicht untersuchen.
- Sie übergeben den Port nicht in
runtimeArgs.
Geben Sie in diesem Fall den Port frei, entfernen Sie den fest codierten Wert oder ändern Sie port so, dass er dem Skript entspricht. Das Setzen von "autoPort": true funktioniert stattdessen nur bei einem Skript, das PORT liest.
Lassen Sie Ihren Server seinen Port aus der Umgebungsvariable PORT lesen, die den zugewiesenen Port enthält. Wenn Claude Ihren Server auf einen anderen Port verlegt, schreibt es außerdem einen --port- oder -p-Wert in runtimeArgs entsprechend um.
Beispiele
Diese Konfigurationen zeigen häufige Setups für verschiedene Projekttypen:
Next.js
Diese Konfiguration führt eine Next.js-App mit Yarn auf Port 3000 aus:
{
"version": "0.0.1",
"configurations": [
{
"name": "web",
"runtimeExecutable": "yarn",
"runtimeArgs": ["dev"],
"port": 3000
}
]
}
Mehrere Server
Für ein Monorepo mit einem Frontend und einem API-Server definieren Sie mehrere Konfigurationen. Das Frontend verwendet autoPort: true, damit es einen freien Port wählt, wenn 3000 belegt ist, während der API-Server Port 8080 genau benötigt:
{
"version": "0.0.1",
"configurations": [
{
"name": "frontend",
"runtimeExecutable": "npm",
"runtimeArgs": ["run", "dev"],
"cwd": "apps/web",
"port": 3000,
"autoPort": true
},
{
"name": "api",
"runtimeExecutable": "npm",
"runtimeArgs": ["run", "start"],
"cwd": "server",
"port": 8080,
"env": { "NODE_ENV": "development" },
"autoPort": false
}
]
}
Node.js-Skript
Um ein Node.js-Skript direkt auszuführen, anstatt einen Package-Manager-Befehl zu verwenden, verwenden Sie das Feld program:
{
"version": "0.0.1",
"configurations": [
{
"name": "server",
"program": "server.js",
"args": ["--verbose"],
"port": 4000
}
]
}
Umgebungskonfiguration
Die Umgebung, die Sie beim Starten einer Sitzung wählen, bestimmt, wo Claude ausgeführt wird und wie Sie sich verbinden:
- Lokal: läuft auf Ihrem Computer mit direktem Zugriff auf Ihre Dateien
- Cloud: läuft standardmäßig auf Anthropic-verwalteter Infrastruktur. Sitzungen werden fortgesetzt, auch wenn Sie die App schließen.
- SSH: läuft auf einem Remote-Computer, mit dem Sie sich über SSH verbinden, z. B. Ihre eigenen Server, Cloud-VMs oder Dev-Container. Eine laufende Aufgabe kann weiterlaufen, während Desktop nicht verbunden ist, mit einem Claude-Konto kann sie jedoch stoppen, wenn ihre Anmeldung abläuft.
- WSL (Windows): läuft in einer WSL 2-Distribution auf Ihrem Computer und verwendet deren Linux-Toolchain und native Pfade
Eine gespeicherte Umgebung erstellen
Eine gespeicherte Umgebung ist ein Eintrag in der Umgebungsauswahl, der festhält, wo Claude ausgeführt wird, sodass Sie spätere Sitzungen dort starten können. Eine lokale oder SSH-Umgebung enthält außerdem die Ordner, in denen Claude arbeitet. Gespeicherte lokale und SSH-Umgebungen sind Teil des aktuellen Layouts. Wenn Sie sie nicht sehen, prüfen Sie daher, welches Layout Sie haben und wie Sie das aktuelle erhalten.
1. Dialog New environment öffnen
Öffnen Sie die Umgebungsauswahl unter dem Eingabefeld und wählen Sie unten in ihrem Menü New environment aus.
2. Festlegen, wo Claude läuft
Wählen Sie den Tab Local, SSH oder Cloud aus und füllen Sie das Formular auf diesem Tab aus. Wählen Sie auf dem Tab SSH eine Verbindung und einen Ordner auf dem Remote-Rechner aus.
3. Umgebung speichern
Wählen Sie Create environment aus, auf dem Tab Cloud Add environment.
Umgebungen, die Desktop für Sie erstellt
Wenn die Umgebungsauswahl lokale oder SSH-Umgebungen auflistet, die Sie nicht erstellt haben, hat Desktop sie für Sie erstellt. Wenn Sie den Code-Tab im aktuellen Layout zum ersten Mal öffnen, erstellt Desktop bis zu acht Umgebungen. Die Umgebungen stammen aus den lokalen und SSH-Ordnern, die Sie im letzten Monat am häufigsten verwendet haben. Sie können sie bearbeiten oder löschen.
Eine gespeicherte Umgebung verwenden, bearbeiten oder entfernen
Suchen Sie den Eintrag der Umgebung in der Umgebungsauswahl:
- Eine Sitzung starten: Wählen Sie den Eintrag aus.
- Bearbeiten oder löschen: Bewegen Sie den Mauszeiger über den Eintrag und klicken Sie auf das Zahnradsymbol. Um eine lokale oder SSH-Umgebung zu löschen, klicken Sie in Edit environment auf Delete environment.
- Cloud-Umgebungen archivieren: siehe Eine Umgebung archivieren.
Umgebungsvariablen in lokalen Sitzungen
Um eine Umgebungsvariable für eine lokale Sitzung zu setzen, fügen Sie sie einer gespeicherten lokalen Umgebung hinzu und starten Sie dann eine neue Sitzung aus dieser Umgebung.
Für Variablen wie PATH und CLAUDE_CONFIG_DIR gelten eigene Anweisungen:
| Variable | Was Sie stattdessen tun |
|---|---|
PATH, die Ordner, in denen Ihr System nach Programmen wie npm sucht |
Siehe Sitzung findet installierte Tools nicht. Unter Windows liest Desktop keine PowerShell-Profile. Setzen Sie PATH daher in Ihren Benutzer- oder Systemumgebungsvariablen, beenden Sie Desktop und öffnen Sie es erneut. |
Eine Variable für einen MCP-Server aus claude_desktop_config.json |
Beenden Sie Desktop, setzen Sie die Variable im env-Block dieses Servers und öffnen Sie Desktop erneut |
CLAUDE_CONFIG_DIR oder CLAUDE_CODE_TMPDIR |
Setzen Sie sie an einer der Stellen, an denen Sie eine Variable für Dev-Server setzen würden, beenden Sie Desktop und öffnen Sie es erneut |
API_TIMEOUT_MS, ANTHROPIC_BASE_URL oder eine andere Variable, die Desktop selbst setzt |
Siehe Umgebungsvariablen, die Desktop selbst setzt |
Wenn unter macOS oder Linux eine Variable, die Sie mit export setzen, in einem Befehl, den Claude ausführt, fehlt oder falsch ist, siehe Exportierte Variable fehlt oder ist falsch in Befehlen, die Claude ausführt.
Umgebungsvariablen für lokale Sitzungen setzen
Fügen Sie die Variablen einer gespeicherten lokalen Umgebung hinzu und starten Sie Ihre Sitzungen von dort. Desktop setzt einige Variablen selbst, etwa API_TIMEOUT_MS, und Ihre Sitzungen erhalten für diese den Wert von Desktop statt Ihres eigenen.
[!NOTE]
Wenn sich Ihre Umgebungsauswahl über dem Eingabefeld befindet, haben Sie das frühere Layout, das keine gespeicherten lokalen Umgebungen hat. Verwenden Sie stattdessen den Editor für die lokale Umgebung.
1. Das Formular einer lokalen Umgebung öffnen
- Um eine gespeicherte lokale Umgebung zu erstellen: Wählen Sie unten im Menü der Umgebungsauswahl New environment und dann den Tab Local
- Um eine vorhandene zu ändern: Bewegen Sie in der Umgebungsauswahl den Mauszeiger über eine gespeicherte Umgebung unter Local und klicken Sie auf das Zahnradsymbol, um Edit environment zu öffnen
2. Die Variablen eingeben
Wählen Sie Environment variables, geben Sie pro Zeile ein KEY=value ein und wählen Sie Done.
3. Die Umgebung speichern
Wählen Sie Create environment oder Save.
Nur Sitzungen, die Sie aus dieser Umgebung starten, erhalten die Variablen.
Um eine Variable für jede lokale Sitzung zu setzen, fügen Sie sie dem Schlüssel env in Ihrer Datei ~/.claude/settings.json hinzu. Claude Code ignoriert den Wert, wenn diese Variable bereits in der Umgebung vorhanden ist, mit der Desktop die Sitzung startet. Die vollständige Liste der unterstützten Variablen finden Sie unter Umgebungsvariablen.
Umgebungsvariablen für Dev-Server setzen
Um einem Dev-Server ein Secret zu übergeben, ohne es in launch.json zu committen, setzen Sie es an einer dieser Stellen und starten Sie Desktop anschließend neu:
- macOS und Linux: Exportieren Sie es in Ihrem Shell-Profil
- Windows: Fügen Sie es Ihren Benutzer- oder Systemumgebungsvariablen hinzu
- Jede Plattform: Speichern Sie es im Editor für die lokale Umgebung, sofern Sie ihn öffnen können
Dev-Server erhalten nicht die Variablen, die Sie einer gespeicherten Umgebung oder ~/.claude/settings.json hinzufügen.
Den Editor für die lokale Umgebung verwenden
Um den Editor für die lokale Umgebung zu öffnen, klicken Sie auf das Zahnradsymbol am Eintrag für Ihren eigenen Computer, nicht auf das an einer gespeicherten Umgebung:
- Auswahl unter dem Eingabefeld: Bewegen Sie den Mauszeiger über den Eintrag für Ihren Computer, den ersten unter Local. Wenn ein Zahnradsymbol erscheint, klicken Sie darauf. Falls nicht, ist der Editor nicht verfügbar. Setzen Sie die Variable dann auf anderem Weg für lokale Sitzungen oder Dev-Server.
- Auswahl über dem Eingabefeld: Bewegen Sie den Mauszeiger über Local und klicken Sie auf das Zahnradsymbol
Geben Sie pro Zeile ein KEY=value ein und wählen Sie Save changes aus. Variablen, die Sie hier speichern, werden verschlüsselt auf Ihrem Rechner abgelegt. Lokale Sitzungen erhalten sie, mit Ausnahme jeder Variable, die Desktop selbst setzt, etwa API_TIMEOUT_MS. Starten Sie Desktop neu, um Ihre Variablen an Dev-Server zu übergeben.
Exportierte Variable fehlt oder ist falsch in Befehlen, die Claude ausführt
Wenn ein Befehl, den Claude unter macOS oder Linux ausführt, eine Variable nicht erhält, die Sie mit export in ~/.zshrc oder ~/.bashrc gesetzt haben, oder den falschen Wert erhält, versuchen Sie Folgendes in dieser Reihenfolge:
1. Eine neue Sitzung starten
Bitten Sie Claude, den Befehl erneut auszuführen.
2. Desktop beenden und erneut öffnen
Starten Sie dann eine neue Sitzung.
3. Ihre gespeicherten Variablen prüfen
Wenn ein Befehl den falschen Wert erhält, prüfen Sie, ob Sie die Variable auch in einer gespeicherten Umgebung oder im Editor für die lokale Umgebung gesetzt haben. Falls ja, ändern Sie den Wert dort und starten Sie eine neue Sitzung.
4. Eine gespeicherte Umgebung verwenden
Fügen Sie die Variable einer gespeicherten lokalen Umgebung hinzu und starten Sie dann eine neue Sitzung aus dieser Umgebung. Für eine Variable wie PATH, CLAUDE_CONFIG_DIR oder API_TIMEOUT_MS folgen Sie stattdessen der jeweiligen Anleitung.
Vor v2.1.304 übergibt Claude Code exportierte Variablen nicht an Befehle. Prüfen Sie daher, welche Version die Sitzung ausführt.
Umgebungsvariablen, die Desktop selbst setzt
Wenn Sie API_TIMEOUT_MS oder ANTHROPIC_BASE_URL setzen und sich in Ihren lokalen Sitzungen nichts ändert, liegt das daran, dass Desktop diese Variablen, neben anderen, selbst setzt. Eine lokale Sitzung erhält den Wert von Desktop, unabhängig davon, ob Sie Ihren Wert in Ihrem Shell-Profil, Ihren Windows-Benutzer- oder Systemvariablen, im Editor für die lokale Umgebung oder in einer gespeicherten Umgebung setzen. Ihren Wert in eine Einstellungsdatei zu verschieben, hilft nicht, weil Claude Code diesen Wert in einer lokalen Sitzung ignoriert.
API_TIMEOUT_MS: Eine lokale Sitzung erhält900000, also 15 Minuten. Für einen längeren Timeout installieren Sie die Claude Code CLI und verwenden Sie sie statt Desktop. Setzen Sie die Variable in Ihrer Shell und führen Sieclaudein Ihrem Terminal aus.ANTHROPIC_BASE_URL: Eine lokale Sitzung erhält den API-Host von Anthropic, wenn Sie mit einem Claude-Konto angemeldet sind. Um ein Gateway zu verwenden, richten Sie stattdessen die Konfiguration für Drittanbieter-Inferenz von Desktop ein.
Extended Thinking ausschalten
Extended Thinking ist standardmäßig aktiviert. Das verbessert die Leistung bei komplexen Denkaufgaben, verbraucht aber zusätzliche Token. Um es auszuschalten, setzen Sie MAX_THINKING_TOKENS in einer gespeicherten lokalen Umgebung oder im Editor für die lokale Umgebung auf 0. Thinking wird dann über die Anthropic API ausgeschaltet, außer bei Opus 5.5, Sonnet 5.5, Haiku 5.5 und den Fable-Modellen, die immer Extended Thinking verwenden.
Wählen Sie bei Opus 5 außerdem den Aufwand high oder niedriger aus, bevor Sie die Sitzung starten. Öffnen Sie im aktuellen Layout die Modellauswahl und wählen Sie unter Effort eine Stufe aus. Wenn Sie die Sitzung mit einer höheren Stufe gestartet haben, starten Sie eine neue mit high oder niedriger.
Feste Thinking-Budgets
Bei Modellen mit adaptiver Argumentation ignoriert Claude Code die Zahl selbst in einem positiven MAX_THINKING_TOKENS-Wert, da stattdessen die adaptive Argumentation die Denktiefe steuert. Bei Opus 4.6 und Sonnet 4.6 setzen Sie CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING auf 1, um ein festes Thinking-Budget zu verwenden; Fable-Modelle, Sonnet 5 und später, Haiku 5.5 sowie Opus 4.7 und später verwenden immer adaptive Argumentation und haben keinen Modus mit festem Budget.
Lokale Sitzungen auf verwalteten Geräten
Wenn der Eintrag für Ihren Computer in der Umgebungsauswahl ausgegraut ist und den Tooltip Disabled by your organization zeigt, hat Ihr Administrator lokale Sitzungen ausgeschaltet. Unter Windows ist der Eintrag WSL, dessen Verfügbarkeit auf verwalteten Geräten separat geregelt wird, auf die gleiche Weise ausgegraut.
Neue Sitzungen verwenden standardmäßig die erste SSH-Verbindung, sofern eine konfiguriert ist. Wenn Sie versuchen, eine bestehende lokale Sitzung fortzusetzen, zeigt Desktop eine Meldung an, dass lokale Sitzungen auf diesem Gerät nicht verfügbar sind. Gespeicherte lokale Umgebungen zeigen diesen Fehler, wenn Sie eine davon auswählen: Couldn’t switch environments: the Local environment isn’t available anymore. Wählen Sie stattdessen eine SSH- oder Cloud-Umgebung aus oder wenden Sie sich an Ihr IT-Team.
Cloud-Sitzungen
Cloud-Sitzungen werden im Hintergrund fortgesetzt, auch wenn Sie die App schließen. Die Nutzung wird auf Ihre Abonnementplanlimits angerechnet, ohne separate Compute-Gebühren.
Um eine Cloud-Umgebung hinzuzufügen, zu bearbeiten oder zu archivieren, öffnen Sie die Umgebungsauswahl:
- Eine Umgebung hinzufügen: Wählen Sie unten im Menü der Auswahl New environment aus, dann den Tab Cloud des Dialogs New environment
- Eine Ihrer eigenen Umgebungen bearbeiten oder archivieren: fahren Sie mit der Maus darüber und klicken Sie auf das Zahnrad-Symbol
Siehe Cloud-Umgebungen konfigurieren für Details zur Konfiguration von Netzwerkzugriff und Umgebungsvariablen.
SSH-Sitzungen
SSH-Sitzungen ermöglichen es Ihnen, Claude Code auf einem Remote-Computer auszuführen, während Sie die Desktop-App als Ihre Schnittstelle verwenden. Dies ist nützlich für die Arbeit mit Codebases, die auf Cloud-VMs, Dev-Containern oder Servern mit spezifischer Hardware oder Abhängigkeiten vorhanden sind.
[!NOTE]
Wenn Sie Desktop mit einem Drittanbieter verwenden, benötigen SSH-Sitzungen eine eigene Einrichtung. Siehe SSH remote sessions in Claude Desktop on 3P.
Fügen Sie im Dialog New environment eine SSH-Verbindung hinzu und starten Sie dann eine Sitzung auf dieser Verbindung. Wenn eine neue Sitzung keine Umgebungsauswahl unter dem Eingabefeld hat, haben Sie das frühere Layout. Siehe Prüfen, welches Layout Sie haben.
1. Dialog New environment öffnen
Bevor Sie eine Sitzung starten, öffnen Sie die Umgebungsauswahl unter dem Eingabefeld und wählen Sie unten in ihrem Menü New environment aus.
2. Verbindung hinzufügen
Öffnen Sie auf dem Tab SSH des Dialogs New environment die Liste Host, wählen Sie Add SSH connection… aus und füllen Sie die Verbindungsdetails aus:
- Name: eine aussagekräftige Bezeichnung für diese Verbindung.
- SSH host:
user@hostnameoder ein in~/.ssh/configdefinierter Host. - SSH port: standardmäßig 22, wenn das Feld leer bleibt, oder der Port aus Ihrer SSH-Konfiguration.
- SSH key (optional): Pfad zu Ihrem privaten Schlüssel, etwa
~/.ssh/id_ed25519. Lassen Sie das Feld leer, um Ihre SSH-Konfiguration oder Ihren SSH-Agent zu verwenden. - Worktree folder: ein Ordner auf dem Remote-Rechner, etwa
~/worktrees, in dem neue Sitzungen ihre Worktrees erstellen. Lassen Sie das Feld leer, um den Standard des Remote-Rechners zu verwenden.
Wählen Sie dann Add SSH connection aus.
3. Sitzung auf der Verbindung starten
Wählen Sie einen Ordner auf dem Remote-Rechner aus und klicken Sie auf Create environment. Rechner und Ordner bleiben als gespeicherte Umgebung für spätere Sitzungen zusammen erhalten. Desktop wählt sie für die neue Sitzung aus. Geben Sie also Ihre Aufgabe ein und drücken Sie Enter.
Auf dem Remote-Computer kann Linux, macOS oder Windows laufen. Desktop installiert Claude Code auf dem Remote-Computer automatisch beim ersten Verbindungsaufbau. Nach der Verbindung unterstützen SSH-Sitzungen Berechtigungsmodi, Konnektoren, Plugins und MCP-Server.
Anforderungen an den Remote-Computer für SSH-Sitzungen
Ein Linux- oder macOS-Remote-Computer benötigt einen unterstützten Prozessor, einen SSH-Server mit SFTP, einen Installationsordner, der nicht mit noexec eingehängt ist, eine funktionierende Shell und Netzwerkzugriff. Prüfen Sie jede Anforderung, bevor Sie sich verbinden oder wenn eine Verbindung nach der Anmeldung fehlschlägt:
- System: ein x86_64- oder arm64-Prozessor. Der Computer muss außerdem die Systemanforderungen von Claude Code erfüllen. Unter Linux benötigt Claude Code glibc 2.17 oder höher oder musl. Um festzustellen, welches davon der Computer hat, führen Sie dort
ldd --versionaus. Installieren Sie auf einer musl-basierten Distribution wie Alpine Linux außerdem die Pakete, die Claude Code benötigt. - SFTP: Der SSH-Server muss das SFTP-Subsystem anbieten, das durch eine Zeile
Subsystem sftpin seinersshd_configaktiviert wird. Verbinden Sie sich zur Überprüfung in einem Terminal auf Ihrem Computer mitsftpmit demselben Host und Port. Ein funktionierender Server zeigt die Eingabeaufforderungsftp>an. MaxSessions 1auf dem Server: Um sich mit einem Server zu verbinden, dessensshd_configMaxSessions 1setzt, tun Sie eines der Folgenden:- Ihr Computer läuft unter macOS oder Linux: Aktualisieren Sie auf Claude Desktop v3.1623.0 oder neuer
- Ihr Computer läuft unter Windows: Stellen Sie sicher, dass Desktop sich über den OpenSSH-Client verbindet, da sich der integrierte SSH-Client von Desktop nicht mit diesem Server verbinden kann
- Sie können den Server ändern: Erhöhen Sie
MaxSessions, zum Beispiel auf den OpenSSH-Standardwert 10
- Anmeldungen mit
MaxSessions 1: Verwenden Sie eine Anmeldung, die ohne Abfrage funktioniert, etwa einen Schlüssel, den Ihr SSH-Agent hält. Desktop meldet sich bei jedem Verbinden oder erneuten Verbinden mindestens zweimal an. Rechnen Sie mit mindestens einer weiteren Anmeldung für jeden Terminal-Tab und für jede Desktop-Sitzung, in der Sie Befehle ausführen, die mit!beginnen. Für Befehle, die Claude ausführt, fällt keine an. - Einmalcodes mit
MaxSessions 1: Wenn jede Anmeldung Sie abfragt, wie bei Einmalcodes, schlagen!-Befehle fehl. Führen Sie diese Befehle stattdessen in einem Terminal-Tab aus, der in seinem eigenen Bereich abfragt. - Installationsordner: Desktop installiert ein Hilfsprogramm und Claude Code unter
~/.claude/remote/in Ihrem Home-Verzeichnis. Es führt sie von dort aus, daher darf dieser Ordner nicht auf einem mitnoexeceingehängten Dateisystem liegen. Planen Sie etwa 1 GB Speicherplatz im Home-Verzeichnis jedes Benutzers ein, der sich verbindet. Was dieser Ordner enthält, erfahren Sie unter Dateien und Prozesse auf dem Remote-Computer. - Shell: Die für Ihr Konto auf dem Remote-Computer festgelegte Shell muss über SSH gesendete Befehle ausführen, wie es Bash, Zsh und
shtun - Netzwerk: Claude Code läuft auf dem Remote-Computer und stellt seine Netzwerkanfragen von dort aus, daher benötigt der Computer den Netzwerkzugriff, den Claude Code erfordert. Wenn der Computer Claude Code nicht herunterladen kann, lädt Desktop es auf Ihren Computer herunter und überträgt es hoch. Die übrigen Anfragen von Claude Code gehen weiterhin vom Remote-Computer aus. Wenn diese Anfragen auf einem Linux-Remote-Computer einen Proxy benötigen, legen Sie ihn für SSH-Sitzungen fest.
Den Host-Schlüssel eines Remote-Rechners prüfen
Ein Host-Schlüssel ist der Schlüssel, den ein Remote-Rechner vorlegt, um nachzuweisen, welcher Rechner er ist, und ein Fingerabdruck ist eine Kurzform dieses Schlüssels. Wenn Sie einem Schlüssel vertrauen, speichert Ihr Computer ihn und verbindet sich mit allem, was ihn vorlegt, ohne erneut zu fragen. Prüfen Sie einen Schlüssel, bevor Sie ihm vertrauen, denn möglicherweise fängt etwas die Verbindung ab.
Stellen Sie zunächst anhand der Stelle, an der Sie den Fingerabdruck sehen, fest, zu welchem Rechner der Schlüssel gehört:
- Desktop fragt
Connect to <host> for the first time?, oder Sie haben Review new key gewählt: der Rechner, den Desktop nennt,<host> - Desktop fragt
Connect through <jump host> for the first time?: der Jump-Host, also der Rechner, über den Ihre Verbindung läuft, nicht der Rechner, den Sie erreichen möchten sshfragt oder warnt in einem Terminal: der Rechner, den die Meldung nennt, der möglicherweise nicht der ist, den Sie eingegeben haben
Besorgen Sie sich den eigenen Fingerabdruck dieses Rechners vom Rechner selbst, nicht über die Verbindung, die Sie prüfen:
- Jemand anderes verwaltet den Rechner: Fragen Sie diese Person nach dem Fingerabdruck seines Host-Schlüssels
- Sie verwalten ihn, und er läuft unter Linux oder macOS: Führen Sie
ssh-keygen -lf /etc/ssh/ssh_host_<type>_key.pubdarauf aus, an seiner Konsole oder über eine Verbindung, der Sie bereits vertrauen. Verwenden Sie für<type>den Schlüsseltyp, den Desktop odersshneben dem Fingerabdruck anzeigt, in Kleinbuchstaben:ed25519fürED25519oderssh-ed25519.
Vergleichen Sie dann den eigenen Fingerabdruck des Rechners mit dem, der Ihnen angezeigt wurde:
- Sie stimmen überein: Vertrauen Sie dem Schlüssel. Wählen Sie in Desktop Trust and connect oder Trust new key, oder antworten Sie im Terminal mit
yes. - Sie unterscheiden sich, oder Sie können nicht prüfen: Verbinden Sie sich nicht. Wählen Sie in Desktop Cancel, oder antworten Sie im Terminal mit
no. Wenn jemand anderes den Rechner verwaltet, teilen Sie dieser Person mit, welcher Fingerabdruck Ihnen angezeigt wurde.
Wenn ein Schritt zur Fehlerbehebung Sie hierher geführt hat, kehren Sie nach beiden Ergebnissen zu diesem Schritt zurück.
Einen Proxy oder ein CA-Zertifikat für SSH-Sitzungen festlegen
Wenn ein Linux-Remote-Computer das Internet über einen Proxy erreicht oder ein CA-Zertifikat benötigt, fügen Sie die Proxy- und CA-Variablen dort unter env in ~/.claude/settings.json hinzu. Fügen Sie sie auch dann hinzu, wenn Sie sie auf diesem Computer bereits in ~/.profile, ~/.bash_profile, ~/.zprofile oder ~/.zshrc exportieren.
In einer SSH-Sitzung erhält Claude Code die Variablen aus diesen Dateien nicht, auch wenn claude in einem Terminal auf diesem Rechner sie erhält. Die Sitzung kann dann hängen oder The connection from … to the API failed oder Authentication failed anzeigen, und eine erneute Anmeldung hilft nicht.
1. Variablen hinzufügen
Verwenden Sie für die CA-Datei NODE_EXTRA_CA_CERTS, da Claude Code einer CA aus SSL_CERT_FILE in ~/.claude/settings.json nicht vertraut. Dieses Beispiel legt einen Proxy und eine CA-Datei fest:
{
"env": {
"HTTPS_PROXY": "http://proxy.example.com:8080",
"NODE_EXTRA_CA_CERTS": "/etc/ssl/certs/example-ca.pem"
}
}
2. Nachricht erneut senden
Senden Sie Ihre Nachricht erneut, da eine Variable, die Sie in dieser Datei hinzufügen oder ändern, innerhalb von Sekunden wirksam wird. Starten Sie eine neue Sitzung, wenn es weiterhin fehlschlägt.
Eine an anderer Stelle auf dem Remote-Computer gesetzte Proxy- oder CA-Variable finden
Prüfen Sie, ob der Linux-Remote-Computer die Proxy- oder CA-Variable an anderer Stelle setzt, da Sitzungen diesen Wert verwenden und den Wert in jeder Einstellungsdatei ignorieren:
1. Die Variablen auflisten, die der Remote-Computer setzt
Führen Sie in einem Terminal auf Ihrem Computer ssh devbox env mit Ihrem eigenen Host aus.
2. Die Variable dort ändern, wo sie gesetzt wird
Wenn die Liste die Variable enthält, ändern Sie sie in der Datei, die sie setzt, z. B. ~/.zshenv, /etc/environment oder ~/.bashrc auf dem Remote-Computer.
3. Sitzungen den neuen Wert übergeben
Starten Sie den Remote-Computer neu, oder beenden Sie Desktop und die Prozesse des Hilfsprogramms, wie in den ersten beiden Schritten zum Entfernen des Hilfsprogramms. Tun Sie dies, wenn keine Aufgabe läuft, da beides die Arbeit von Claude unterbricht.
Ihre SSH-Konfiguration verwenden
Sie können Ihre SSH-Konfiguration unter macOS, Linux und Windows verwenden, wenn Desktop sich über den OpenSSH-Client auf Ihrem Computer verbindet:
-
macOS und Linux: Desktop verbindet sich, indem es den OpenSSH-Client auf Ihrem Computer ausführt, und verwendet daher Ihre
~/.ssh/config. Das Verbinden über den OpenSSH-Client erfordert Claude Desktop v1.37937.0 oder neuer. -
Windows: Wenn Desktop sich über den OpenSSH-Client verbindet, verwendet es Ihre
%USERPROFILE%\.ssh\config. Wenn Sie ein Claude-Konto statt eines Drittanbieters verwenden, erfordert das Verbinden über den OpenSSH-Client alles Folgende:- Claude Desktop v2.2553.0 oder neuer. Um Ihre Version zu ermitteln, siehe Ihre Version prüfen.
- OpenSSH 9.4 oder neuer von Microsoft
- Desktop, installiert über die Download-Schaltflächen oben auf dieser Seite, da Desktop aus dem Microsoft Store sich nicht über den OpenSSH-Client verbindet
Wenn Sie diese Anforderungen nicht erfüllen können oder einen Drittanbieter verwenden, siehe Unter Windows ohne den OpenSSH-Client verbinden.
Geben Sie mit dem OpenSSH-Client einen Host-Namen aus Ihrer Konfigurationsdatei in das Feld SSH host ein. Desktop verwendet dann Einstellungen aus diesem Host-Eintrag, etwa HostName, User, IdentityFile, CertificateFile, ProxyJump und ProxyCommand.
Bevor Sie die Verbindung hinzufügen, prüfen Sie den Client und den Eintrag in einem Terminal auf Ihrem Computer:
- Client-Version unter macOS und Linux: Führen Sie
ssh -Vaus. Der Client muss OpenSSH 7.6 oder neuer sein. - Client-Version unter Windows: Desktop versucht zuerst das
sshin IhremPATH, führen Sie alsossh -Vaus. Der Client besteht die Prüfung, wenn die AusgabeOpenSSH_for_Windows_und 9.4 oder neuer zeigt. Wenn nicht, prüfen Sie die beiden Ordner, die Desktop als Nächstes versucht: Führen Sie.\ssh.exe -VinC:\Windows\System32\OpenSSHund dann inC:\Program Files\OpenSSHaus. - Kein Client besteht unter Windows: Fügen Sie in Windows das optionale Feature OpenSSH Client hinzu und installieren Sie ausstehende Windows-Updates oder installieren Sie Microsofts neueren Build. Beenden Sie Desktop dann und öffnen Sie es erneut. Um zu sehen, ob Desktop einen verwendbaren OpenSSH-Client gefunden hat, suchen Sie in
ssh.lognachWindows OpenSSH client:und einer Version oder nachno usable Windows OpenSSH client. - Eintrag: Verwenden Sie unter Windows den Client, der die Versionsprüfung bestanden hat. Führen Sie
sshmit demHost-Namen aus, etwassh devbox. Wenn das fehlschlägt, korrigieren Sie zuerst den Eintrag.
Sie können die Felder SSH port und SSH key (optional) leer lassen. Wenn Sie eines ausfüllen, verwendet Desktop es zusammen mit dem Eintrag:
- SSH port: Ein Wert hier überschreibt den
Portdes Eintrags - SSH key (optional): Mit dem OpenSSH-Client bietet Desktop die Schlüsseldatei, die Sie auswählen, zusätzlich zur
IdentityFiledes Eintrags und den Schlüsseln in Ihrem SSH-Agent an. Wählen Sie unter Windows einen Schlüssel im OpenSSH-Format, dasshkeine PuTTY-.ppk-Datei liest.
Unter Windows ohne den OpenSSH-Client verbinden
Unter Windows verbinden Sie sich über den integrierten SSH-Client von Desktop, wenn Ihr Computer die Anforderungen für den OpenSSH-Client nicht erfüllt. Mit einem Drittanbieter verbinden Sie sich standardmäßig über den integrierten Client, und Ihr Administrator kann das ändern. Zur Einstellung siehe SSH remote sessions in Claude Desktop on 3P.
Mit dem integrierten Client können Sie weiterhin einen Host-Namen aus Ihrer SSH-Konfiguration in das Feld SSH host eingeben, wenn Ihr PATH einen ssh-Befehl enthält, mit diesen Einschränkungen:
- Einstellungen aus dem Eintrag: Desktop übernimmt
HostName,User,PortundIdentityFile. Es übernimmt auchProxyCommand, wenn einesh-Shell in IhremPATHliegt. - SSH key (optional): Lassen Sie dieses Feld leer, um die
IdentityFiledes Eintrags beizubehalten, da eine Schlüsseldatei, die Sie hier auswählen, dieIdentityFileersetzt CertificateFileundProxyJump: Desktop ignoriertCertificateFile, und die Verbindung schlägt fehl, wenn der EintragProxyJumpsetzt. Um eine dieser Einstellungen zu verwenden, verbinden Sie sich über den OpenSSH-Client.
Einen Computer hinter einem Jump-Host erreichen
Um einen Computer hinter einem Jump-Host, auch Bastion genannt, zu erreichen, setzen Sie ProxyJump oder ProxyCommand im Eintrag. Der folgende Eintrag erreicht devbox.internal.example.com über bastion.example.com:
Host devbox
HostName devbox.internal.example.com
User alice
ProxyJump bastion.example.com
Geben Sie devbox im Feld SSH host ein.
Wenn Ihr Administrator SSH-Hosts einschränkt, muss auch der Jump-Host auf der Liste stehen. Führen Sie ssh -G bastion.example.com in einem Terminal auf Ihrem Computer aus und bitten Sie ihn, den ausgegebenen hostname zuzulassen.
Einen Container auf einem Remote-Computer erreichen
Um eine Sitzung in einem Container auszuführen, der keinen SSH-Port veröffentlicht, erreichen Sie ihn mit einem ProxyCommand, da Desktop den RemoteCommand des Eintrags, mit dem Sie sich verbinden, nicht ausführt. Wenn Ihr Eintrag RemoteCommand verwendet, um in den Container zu wechseln, läuft die Sitzung auf dem Computer, bei dem sich der Eintrag anmeldet, nicht im Container.
1. Eintrag hinzufügen
Fügen Sie den folgenden Eintrag am Ende Ihrer ~/.ssh/config hinzu oder direkt über Ihrem ersten Host *-Eintrag, falls Sie einen haben. Ersetzen Sie den Docker-Container devbox, seinen Benutzer dev und den Computer build.example.com durch Ihre eigenen. Der Befehl des Eintrags startet für jede Verbindung einen SSH-Server im Container:
Host devbox-container
User dev
ProxyCommand ssh build.example.com docker exec -i devbox /usr/sbin/sshd -i
2. Container vorbereiten
- Installieren Sie den OpenSSH-Server mit einem Host-Schlüssel, der gleich bleibt, wenn Sie das Image neu bauen oder den Container neu erstellen
- Geben Sie dem in
Usergenannten Konto eine Möglichkeit zur Anmeldung, z. B. eineauthorized_keys-Datei - Prüfen Sie, ob der Container die Anforderungen an den Remote-Computer erfüllt
3. Allowlist prüfen
Wenn Ihr Administrator SSH-Hosts einschränkt, führen Sie ssh -G devbox-container in einem Terminal auf Ihrem Computer aus. Bitten Sie ihn, den ausgegebenen hostname, hier devbox-container, in sshHostAllowlist zu erlauben. Wenn er diesen Namen erlaubt, erlaubt er alles, womit sich der ProxyCommand Ihres Eintrags verbindet.
4. Eintrag testen, dann verbinden
Führen Sie ssh devbox-container in einem Terminal auf Ihrem Computer aus. Beheben Sie, was gemeldet wird, und führen Sie den Befehl erneut aus, bis er eine Shell im Container öffnet, ohne Sie nach etwas zu fragen:
- Wenn
sshnach einem Passwort, einer Passphrase oder einem Code fragt: Wechseln Sie zu einer Anmeldung, die ohne Abfrage funktioniert, z. B. einem Schlüssel, den Ihr SSH-Agent hält - Wenn
sshCannot execute command-line and remote command.oderBad packet lengthmeldet: Entfernen SieRemoteCommandundRequestTTYaus Ihrem Eintrag fürbuild.example.com. Danach öffnetssh build.example.comin einem Terminal auf Ihrem Computer eine Shell auf diesem Computer, nicht im Container. - Wenn
sshConnection closed by UNKNOWN port 65535meldet: Führen Siessh build.example.com docker exec devbox /usr/sbin/sshd -tim selben Terminal aus.- Wenn es
Missing privilege separation directory: /run/sshdausgibt, erstellen Sie diesen Ordner im Container. - Wenn es
no hostkeys availableausgibt und der Container Host-Schlüssel hat, fügen Sie-u rootnachexecin diesem Befehl und im Eintrag hinzu.
- Wenn es
Geben Sie dann devbox-container im Feld SSH host ein.
Variablen aus Ihrer Shell in einem ProxyCommand verwenden
Um unter macOS und Linux eine eigene Umgebungsvariable in einem ProxyCommand- oder Match exec-Befehl zu verwenden, exportieren Sie sie in einer Shell-Startdatei wie ~/.zshrc. Beenden Sie Desktop dann und öffnen Sie es erneut. Beim Start liest Desktop, was Ihre Login-Shell exportiert, und behält diese Werte, bis Sie es beenden.
Dies erfordert Claude Desktop v2.37337.0 oder höher sowie einen env-Befehl, der -0 akzeptiert. Das können Sie prüfen, indem Sie env -0 in einem Terminal auf Ihrem Computer ausführen.
[!NOTE]
Wenn Ihre Shell temporäre AWS-Anmeldedaten setzt, geben Sie der AWS CLI ein Profil, anstatt
AWS_*-Variablen zu exportieren.
AWS-Anmeldedaten in einem ProxyCommand unter macOS und Linux verwenden
Wenn Sie temporäre AWS-Anmeldedaten in einer Shell-Startdatei setzen, kann ein ProxyCommand, der die AWS CLI ausführt, in einem Terminal eine Verbindung herstellen und in Desktop fehlschlagen. Wenn Ihre Shell AWS_SESSION_TOKEN, AWS_SECURITY_TOKEN oder AWS_CREDENTIAL_EXPIRATION exportiert, erhalten ssh und Ihr ProxyCommand in Desktop weder die AWS-Anmeldedaten der Shell noch AWS_REGION oder AWS_PROFILE.
Wenn die AWS CLI keine andere Quelle für eine Region oder Anmeldedaten hat, schlägt sie mit You must specify a region oder Unable to locate credentials fehl. Um sich von Desktop aus zu verbinden, geben Sie der AWS CLI ein Profil, das sie aus ~/.aws/config liest:
1. Ein Profil mit einer Region und einer Quelle für Anmeldedaten hinzufügen
Dieses Beispiel fügt ein Profil namens corp hinzu, das seine Anmeldedaten von einem Hilfsprogramm bezieht:
[profile corp]
region = us-east-1
credential_process = /full/path/to/your-credential-helper
region: Geben Sie die AWS-Region der Computer an, mit denen Sie sich verbindencredential_process: Geben Sie den vollständigen Pfad eines Programms an, das Anmeldedaten in der von AWS dokumentierten JSON-Form ausgibt. Wählen Sie ein Programm, das keine Eingabe von Ihnen benötigt, da die AWS CLI es bei jeder Verbindung ausführt, auch bei erneuten Verbindungen während Ihrer Abwesenheit.- IAM Identity Center: Fügen Sie anstelle von
credential_processdie IAM Identity Center-Einstellungen des Profils hinzu. Führen Sieaws sso login --profile corpin einem Terminal aus, bevor Sie sich verbinden, und erneut, wenn diese Anmeldung abläuft.
2. Das Profil im ProxyCommand angeben
Dieses Beispiel fügt --profile zum von AWS für Session Manager dokumentierten Befehl hinzu:
Host i-*
ProxyCommand sh -c "aws ssm start-session --profile corp --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
3. Erneut verbinden
Führen Sie ssh mit dem Host in einem Terminal aus, um zu bestätigen, dass der Eintrag dort weiterhin eine Verbindung herstellt, und verbinden Sie sich dann von Desktop aus.
Den SSH-Verbindungs-Timeout erhöhen
Wenn Ihre SSH-Konfiguration keinen ConnectTimeout für den Host festlegt, gibt Desktop ssh 30 Sekunden für den Verbindungsaufbau. Bei einem Jump-Host oder einem ProxyCommand umfasst diese Zeit die Zeit, die die Route für den Verbindungsaufbau benötigt. Wenn Ihre Route länger braucht, fügen Sie dem Eintrag einen höheren Wert hinzu:
Host devbox
HostName devbox.internal.example.com
User alice
ProxyJump bastion.example.com
ConnectTimeout 120
ssh verwendet den ersten Wert, den es für einen Host findet, daher platzieren Sie den Eintrag oberhalb jedes Host *-Eintrags, der ConnectTimeout festlegt. Führen Sie zur Bestätigung ssh -G devbox in einem Terminal auf Ihrem Computer aus. Die Ausgabe enthält connecttimeout 120. Nachdem Sie den Wert geändert haben, beenden Sie Desktop und öffnen Sie es erneut.
Wenn der Remote-Computer selbst auf eine Genehmigung auf Ihrem Telefon wartet, genehmigen Sie innerhalb von 45 Sekunden, unabhängig davon, welchen ConnectTimeout Sie festlegen. Sie können diese Grenze nicht erhöhen, da Desktop ServerAliveInterval und ServerAliveCountMax selbst setzt und ssh dann eine Anmeldung schließt, bei der der Remote-Computer so lange nichts sendet. Wenn stattdessen ein Jump-Host oder ein ProxyCommand auf Sie wartet, erhöhen Sie ConnectTimeout im Eintrag des Remote-Computers, um diese Zeit abzudecken.
Einen Match host-Block korrigieren, den nur Desktop anwendet
Wenn Desktop eine Einstellung verwendet, die ssh devbox in einem Terminal nicht verwendet, suchen Sie nach einem Match host-Block oberhalb der HostName-Zeile des Eintrags. In einem Terminal liest ssh einen Block an dieser Stelle vor der HostName-Zeile und vergleicht den Block daher mit devbox. Desktop übergibt ssh den HostName-Wert in der Befehlszeile, sodass ssh den Block mit diesem Wert vergleicht.
Führen Sie zur Überprüfung ssh -G in einem Terminal auf Ihrem Computer mit den Werten HostName und User des Eintrags in der Befehlszeile aus, wie Desktop es tut:
ssh -G -o HostName=devbox.internal.example.com -l alice devbox
Vergleichen Sie die Ausgabe mit der von ssh -G devbox. Wenn die Einstellungen des Blocks, z. B. proxycommand, nur in der ersten Ausgabe erscheinen, wirkt der Block nur in Desktop. Damit Desktop ihn ebenfalls überspringt, fügen Sie seiner Match-Zeile !originalhost devbox hinzu:
Match host *.internal.example.com !originalhost devbox
Führen Sie zur Bestätigung den ersten Befehl erneut aus. Die Einstellungen des Blocks erscheinen nicht mehr in seiner Ausgabe.
Weiterleitungseinstellungen, die Desktop ausgeschaltet lässt
Bei seiner Verbindung zum Remote-Computer lässt Desktop ForwardAgent, ForwardX11, LocalForward, RemoteForward, DynamicForward und Tunnel ausgeschaltet, auch wenn Ihre SSH-Konfiguration sie einschaltet. Im Terminal oder bei einem !-Befehl sollten Sie damit rechnen, dass Ihre Weiterleitungseinstellungen nur manchmal gelten, da Desktop dort ein separates ssh starten kann, das sie befolgt.
- Um einen Port auf dem Remote-Computer zu erreichen: Leiten Sie ihn selbst weiter
- Um Ihre eigenen Schlüssel vom Remote-Computer aus zu verwenden: Richten Sie Anmeldedaten auf dem Remote-Computer selbst ein, z. B. für
git push
Um zu verhindern, dass Desktop Ihren SSH-Agenten oder einen Port weiterleitet, führen Sie ssh -G devbox in einem Terminal auf Ihrem Computer aus. Führen Sie es dann erneut so aus, wie Desktop es ausführen kann, mit den ausgegebenen Werten für hostname und user, etwa ssh -G -o HostName=devbox.internal.example.com -l alice devbox. Die zweite Ausgabe kann Einstellungen aus einem Match-Block zeigen, die die erste überspringt.
Suchen Sie in beiden Ausgaben nach einer forwardagent-Zeile mit einem anderen Wert als no und nach Zeilen, die mit localforward, remoteforward oder dynamicforward beginnen. Wenn Sie eine finden, entfernen Sie diese Einstellung aus Ihrer SSH-Konfiguration. Gehen Sie bei einem Host, den Ihr ProxyCommand mit ssh erreicht, genauso vor.
Einen Port auf dem Remote-Computer erreichen
Um einen Server zu öffnen, der auf dem Remote-Computer läuft, z. B. einen Dev-Server auf Port 3000, leiten Sie den Port selbst weiter. Führen Sie in einem Terminal auf Ihrem Computer ssh mit -L und dem Host aus, mit dem Sie sich verbinden, z. B. devbox:
ssh -N -L 3000:localhost:3000 devbox
Wenn Sie bei der Verbindung SSH port oder SSH key (optional) ausgefüllt haben, fügen Sie -p bzw. -i mit demselben Wert hinzu. Lassen Sie diesen Befehl laufen und öffnen Sie http://localhost:3000 in einem Browser auf Ihrem Computer, um Port 3000 des Remote-Computers zu erreichen. Wenn ssh die Meldung open failed: administratively prohibited ausgibt, bitten Sie den Administrator des Computers, TCP-Weiterleitung zu erlauben, die über AllowTcpForwarding in der sshd_config des SSH-Servers gesteuert wird.
Windows-Remote-Computer
Ein Windows-Remote-Computer erfordert Claude Desktop v2.31226.0 oder höher.
Verwenden Sie den OpenSSH Server von Microsoft. Der Computer kann x64 oder ARM64 sein. Die Shell, die der SSH-Server startet, kann cmd.exe, Windows PowerShell 5.1 oder Git Bash sein.
Windows-Remote-Computer werden weniger getestet als Linux-Computer. Probieren Sie Ihre eigene Arbeit dort aus, bevor Sie sich darauf verlassen.
Rechnen Sie auf einem Windows-Remote-Computer unter anderem mit diesen Einschränkungen:
- Terminal: Das Terminal öffnet sich nicht in einer Sitzung, deren Ordner ein Windows-Pfad ist, z. B.
C:/projects/app - Sandbox: Claude Code läuft dort unter nativem Windows, wo es Befehle ohne Sandbox ausführt. Siehe wo die Sandbox läuft.
- Plugins: Desktop kopiert kein Plugin, das einen Datei- oder Ordnernamen enthält, den Windows nicht speichern kann, z. B. einen Namen mit
:. Die Sitzung listet die Plugins auf, die Desktop ausgelassen hat. - MCP-Server: Auf einigen Windows-Remote-Computern laufen die Aufrufe von Claude an MCP-Server aus
claude_desktop_config.jsonüber Desktop, sodass Claude deren Tools nicht aufrufen kann, während Desktop nicht verbunden ist. Vor Claude Desktop v2.37337.0 gilt dies für jeden Windows-Remote-Computer. - Worktrees: Worktrees werden in
<project-root>/.claude/worktrees/abgelegt. Wenn Sie einen anderen Ordner wählen, ignoriert Desktop ihn. - Frühere Nachrichten: Wenn die Shell des SSH-Servers
cmd.exeoder Windows PowerShell ist, müssen Sie sich möglicherweise verbinden, bevor Sie die früheren Nachrichten einer Sitzung sehen - Forks: Wenn die Shell des SSH-Servers
cmd.exeoder Windows PowerShell ist, können Sie eine Sitzung nur bei ihrer ersten Nachricht forken - Ausführung ohne Verbindung: Eine Aufgabe läuft nur dann weiter, während Desktop nicht verbunden ist, wenn der SSH-Server einem Programm erlaubt, die Verbindung zu überdauern, die es gestartet hat. Um das herauszufinden, testen Sie den Remote-Computer.
- Verbliebene Prozesse: Prüfen Sie nach dem Ende einer Sitzung den Computer auf Programme, die Claude Code gestartet hat, da sie weiterlaufen können. Das Hintergrund-Hilfsprogramm, das Desktop installiert, beendet sich dort nicht von selbst.
Eine Aufgabe weiterlaufen lassen, während Desktop nicht verbunden ist
Wenn Ihr Computer in den Ruhezustand wechselt, Sie die Netzwerkverbindung verlieren oder Sie Desktop beenden, läuft die Aufgabe weiter, bis sie abgeschlossen ist, Sie benötigt oder eine der Grenzen erreicht. Das Schließen des Deckels zählt als Ruhezustand. Ein Neustart von Desktop oder Ihres Computers, auch für ein Update, zählt als Beenden.
Claude Code läuft als Prozess auf dem Remote-Computer unter einem Hintergrund-Hilfsprogramm, das Desktop dort installiert, und benötigt daher Ihre SSH-Verbindung nicht, um weiterzulaufen. Das Verhalten in diesem Abschnitt erfordert Claude Desktop v2.31226.0 oder höher.
[!WARNING]
Wenn Sie sich mit einem Claude-Konto bei Desktop anmelden, verlassen Sie sich nicht darauf, dass eine Aufgabe über Nacht läuft. Desktop erneuert diese Anmeldung für die Aufgabe nur, solange Desktop läuft und verbunden ist. Daher kann die Anmeldung der Aufgabe ablaufen, nachdem Sie die Verbindung getrennt haben, und die Aufgabe stoppt dann. Wie viel Zeit beim Trennen noch verbleibt, variiert, und es können nur wenige Minuten sein.
Die bisher erledigte Arbeit bleibt auf dem Remote-Computer, und Sie können nach Ihrer Rückkehr mit einer Nachricht fortfahren.
Wenn die Aufgabe die Nacht hindurch laufen muss:
- Halten Sie Ihren Computer wach und online, mit geöffnetem Deckel und laufendem Desktop
- Verwenden Sie für den Remote-Computer und für jeden Jump-Host auf dem Weg eine Anmeldung, die ohne Abfrage funktioniert, z. B. einen Schlüssel, den Ihr SSH-Agent hält. Desktop kann sich dann nach einem Verbindungsabbruch selbstständig wieder verbinden.
Für eine Aufgabe, die laufen muss, während Ihr Computer im Ruhezustand oder ausgeschaltet ist, starten Sie stattdessen eine Cloud-Sitzung.
- Nach Ruhezustand oder Netzwerkverlust: Sie erhalten die laufende Aufgabe zurück, wenn der Prozess noch läuft und Desktop sich ohne Abfrage anmelden kann. Wenn nicht, senden Sie eine Nachricht.
- Nach dem Beenden: Die Aufgabe läuft weiter, aber Sie verlieren sie, wenn die Sitzung erneut geöffnet wird, es sei denn, Desktop kann sich wieder mit ihrem Prozess verbinden. Prüfen Sie vor dem Beenden, wann Desktop sich wieder verbinden kann. Wenn Sie die Aufgabe verloren haben, senden Sie eine Nachricht, um fortzufahren.
Wenn Sie zurückkommen und die Aufgabe nicht erledigt ist, prüfen Sie, ob gemeldet wird, dass Desktop sich nicht wieder verbinden kann, ob ein Authentifizierungsfehler vorliegt oder ob eine Anfrage wartet:
- Desktop kann sich nicht wieder verbinden: Die Sitzung nennt den Grund, und möglicherweise auch eine Benachrichtigung. Eventuell müssen Sie sich anmelden.
- Authentifizierungsfehler: Das Anmelde-Token oder die Anmeldedaten sind möglicherweise abgelaufen. Mit einem Claude-Konto senden Sie eine Nachricht, um fortzufahren. Mit einem Drittanbieter siehe SSH remote sessions in Claude Desktop on 3P.
- Wartende Anfrage: Beantworten Sie sie
- Nichts davon: Senden Sie eine Nachricht, um fortzufahren
Eine lange Aufgabe vorbereiten
- Zuerst aktualisieren: Aktualisieren Sie Desktop, bevor Sie eine lange Aufgabe starten. Unter macOS und Windows kann Desktop von selbst neu starten, um ein heruntergeladenes Update zu installieren. Dieser Neustart wartet, während Claude an einer SSH-Aufgabe arbeitet. Standardmäßig kann der Neustart während der Aufgabe erfolgen, sobald das Update 72 Stunden gewartet hat, wenn Desktop sich danach wieder mit der Aufgabe verbinden kann.
- Vor dem Beenden prüfen: Sie erhalten die laufende Aufgabe nach einem Beenden oder Neustart nicht immer zurück, zum Beispiel nach manchen Desktop-Updates. Die Fälle finden Sie unter Eine Sitzung nach dem Beenden von Desktop erneut öffnen.
- Bei einer älteren Version Desktop offen lassen: Unter Windows mit Claude Desktop vor v3.1623.0 erhalten Sie die laufende Aufgabe nicht zurück, nachdem Desktop beendet oder neu gestartet wurde. Dasselbe gilt mit einem Drittanbieter unter macOS oder Linux vor v2.42304.0. Lassen Sie Desktop in beiden Fällen während der Aufgabe geöffnet. Um Ihre Version zu ermitteln, siehe Ihre Version prüfen.
- Anfragen reduzieren: Wählen Sie einen Berechtigungsmodus, Regeln oder Hooks, die die Aufgabe seltener auf Sie warten lassen
- Jump-Host prüfen: Wenn Ihr Jump-Host eine Anmeldung verlangt, z. B. über eine Push-Benachrichtigung auf ein Telefon, wechseln Sie zu einer Anmeldung, die ohne Abfrage funktioniert. Andernfalls kann Desktop bei jedem Versuch, sich wieder zu verbinden, eine weitere Push-Benachrichtigung auslösen.
- Remote-Computer testen: Starten Sie eine kurze Aufgabe, beenden Sie Desktop, während die Aufgabe noch läuft, und öffnen Sie die Sitzung erst deutlich nach dem Zeitpunkt erneut, zu dem die Aufgabe fertig sein sollte. Wenn die Aufgabe nicht abgeschlossen ist und die Sitzung keinen Authentifizierungsfehler zeigt, prüfen Sie den Remote-Computer darauf, was eine Aufgabe beenden kann.
- Befehle aus dem Terminal von Desktop heraushalten: Wenn der Remote-Computer inaktive Terminals abmeldet, führen Sie Ihre eigenen Befehle über eine SSH-Anmeldung außerhalb von Desktop aus
Grenzen, während Desktop nicht verbunden ist
Eine Aufgabe, die Sie laufen lassen, kann enden, wenn ihre Anmeldung abläuft, wenn der Remote-Computer sie beendet oder wenn das Hilfsprogramm stoppt oder ersetzt wird:
- Anmelde-Token oder Anmeldedaten: Mit einem Claude-Konto stoppt die Aufgabe mit einem Authentifizierungsfehler, wenn das Token abläuft. Mit einem Drittanbieter gilt dasselbe für Anmeldedaten, die ablaufen, z. B. solche aus Single Sign-On oder einem Credential Helper. Siehe SSH remote sessions in Claude Desktop on 3P. Mit einem Claude-Konto lassen Sie Desktop laufen und verbunden, damit es die Anmeldung erneuern kann.
- Der Remote-Computer: Wenn der Remote-Computer neu startet oder Ihre Prozesse beendet, sobald Ihre SSH-Verbindung geschlossen wird, endet die laufende Aufgabe. Nichts startet sie erneut, während Desktop nicht verbunden ist. Linux-Computer, auf denen
KillUserProcessesvon systemd-logind aufyessteht und für Ihren Benutzer gilt, beenden Ihre Prozesse auf diese Weise. Um dort eine Aufgabe weiterlaufen zu lassen, bitten Sie den Administrator, Ihren Benutzer auszunehmen, z. B. mitKillExcludeUsers. - Inaktive Terminals: Einige Linux-Remote-Computer melden ein Terminal ab, in dem für eine festgelegte Zeit niemand tippt (
StopIdleSessionSecvon systemd-logind). Mit Desktop unter macOS oder Linux teilen sich das Terminal einer Sitzung und!-Befehle standardmäßig die SSH-Verbindung von Desktop. Diese Abmeldung beendet dann die Verbindung, während Desktop verbunden ist, und die laufende Aufgabe kann damit enden. Das Schließen des Terminalbereichs verhindert das nicht, daher halten Sie Befehle aus diesem Terminal heraus. - Desktop-Updates: Wenn ein Update ein neues Hilfsprogramm mitbringt, ersetzt Desktop das Hilfsprogramm auf dem Remote-Computer bei einer späteren Verbindung, was eine noch laufende Aufgabe beenden kann
- Lange Abwesenheiten: Wenn Desktop sich 30 Tage lang nicht mit einem Linux- oder macOS-Remote-Computer verbindet, stoppt das Hilfsprogramm dort und beendet jeden Claude Code-Prozess, der darunter läuft. Verbinden Sie sich vorher.
Dateibearbeitungen und einige Tools können fehlschlagen, während Desktop nicht verbunden ist. Wenn die Aufgabe sie benötigt, halten Sie Desktop verbunden:
- Worktrees: In einer Sitzung, die einen Worktree verwendet, prüft Desktop jede Dateibearbeitung, bevor Claude sie vornimmt. Während Desktop getrennt ist, wartet jede Bearbeitung etwa 30 Sekunden und schlägt dann fehl. Shell-Befehle laufen weiterhin. Auf einem Linux- oder macOS-Remote-Rechner können Bearbeitungen weiter funktionieren. Wenn Sie unsicher sind, starten Sie die Sitzung ohne Worktree.
- Ordnerbeschränkungen: Wenn Ihre Organisation einschränkt, welche Ordner Sitzungen verwenden dürfen, prüft Desktop jedes Lesen, jede Suche und jede Bearbeitung von Dateien, mit oder ohne Worktree. Während Desktop nicht verbunden ist, wartet jeder dieser Vorgänge bis zu 10 Minuten und schlägt dann fehl.
- Konnektoren: Konnektoren und andere Tools, die Desktop bereitstellt, laufen über Desktop, daher schlägt jeder Aufruf nach etwa 30 Sekunden fehl, während es nicht verbunden ist
- Workflows: Desktop prüft jeden neuen Workflow, bevor er startet, daher wartet ein neuer Workflow, während Desktop nicht verbunden ist, bis zu 10 Minuten und schlägt dann fehl
- MCP-Server: MCP-Server, die Claude Code auf dem Remote-Computer startet, laufen nicht über Desktop, sodass Claude ihre Tools weiterhin aufrufen kann. Server aus
claude_desktop_config.jsongehören nur dann dazu, wenn Desktop nicht seinen integrierten SSH-Client verwendet. Andernfalls, und auf einigen Windows-Remote-Computern, kann Claude ihre Tools nicht aufrufen, während Desktop nicht verbunden ist.
Wann Bearbeitungen in einem Worktree weiterhin funktionieren
Auf einem Linux- oder macOS-Remote-Computer läuft die Prüfung nicht über Desktop, sodass Bearbeitungen innerhalb des Worktrees weiterhin funktionieren, während Desktop nicht verbunden ist. Vor Claude Desktop v2.37337.0 gilt dies nur für einen Linux-Remote-Computer.
Bearbeitungen schlagen in einigen Fällen dennoch fehl, darunter diese:
- Integrierter SSH-Client: Desktop verwendet ihn, z. B. bei einer Installation aus dem Microsoft Store, auf einem Windows-Computer ohne Microsofts OpenSSH 9.4 oder höher oder standardmäßig unter Windows mit einem Drittanbieter
- Speicherort des Repositorys: Das Repository ist Ihr Home-Verzeichnis, ein darüberliegender Ordner oder
~/.claude- macOS-Pfade: Auf einem macOS-Remote-Computer liegt das Repository unter
/Volumes, oder ein Ordnername im Pfad des Repositorys oder des Worktrees enthält ein~oder ein Nicht-ASCII-Zeichen- Ordnerbeschränkungen: Ihre Organisation schränkt ein, welche Ordner Sitzungen verwenden dürfen
- Unternehmens-Launcher: Vor Claude Desktop v2.37337.0: Sie melden sich mit einem Claude-Konto an, und Ihre Organisation startet Claude Code auf dem Remote-Computer über einen Unternehmens-Launcher
Eine Sitzung ohne Worktree hat keine solche Prüfung, es sei denn, Ihre Organisation schränkt ein, welche Ordner Sitzungen verwenden dürfen.
Anfragen bearbeiten, die während Ihrer Abwesenheit eingehen
Wenn Claude Ihre Genehmigung benötigt oder Ihnen eine Frage stellt, während Desktop nicht verbunden ist, wartet Claude auf dem Remote-Computer. Das Warten hat keine eigene Zeitbegrenzung. Wenn Desktop sich wieder mit dem Prozess verbindet, zeigt es Ihnen die Anfrage. Wenn Desktop stattdessen einen neuen Prozess startet, verlieren Sie die Anfrage.
Wenn eine Anfrage, die auf Sie gewartet hat, bei Ihrer Rückkehr verschwunden ist, kann eine Ursache sein, dass Desktop von selbst neu gestartet ist, etwa um ein Update zu installieren. Sie behalten eine Anfrage über einen Neustart hinweg nur, wenn Desktop sich wieder mit dem Prozess verbinden kann. Prüfen Sie daher, wann Desktop sich wieder verbinden kann, bevor Sie eine Aufgabe laufen lassen.
Wenn Sie eine Anfrage verlieren, senden Sie eine Nachricht, um fortzufahren.
Um zu reduzieren, wie oft eine Aufgabe anhält, um auf Sie zu warten, und um während Ihrer Abwesenheit von ihr zu hören, richten Sie vorher eine der folgenden Möglichkeiten ein:
- Auto-Modus: Wählen Sie den Auto-Modus, wenn er Ihnen zur Verfügung steht. Nach wiederholten Blockierungen werden Sie erneut gefragt.
- allow-Regeln: Fügen Sie in Ihrer Benutzereinstellungsdatei auf dem Remote-Computer,
~/.claude/settings.json, allow-Regeln für die Befehle hinzu, die die Aufgabe benötigt. Wenn Ihre Organisation Berechtigungsregeln nur aus verwalteten Einstellungen akzeptiert, bitten Sie Ihren Administrator, sie den verwalteten Einstellungen hinzuzufügen, die den Remote-Computer erreichen. Zu allow-Regeln in der.claude/settings.jsoneines Projekts siehe allow-Regeln für Projekte und Workspace-Vertrauen. - Ein Hook, der antwortet: Konfigurieren Sie einen
PermissionRequest-Hook in~/.claude/settings.jsonauf dem Remote-Computer, um Anfragen an Ihrer Stelle zu erlauben oder abzulehnen - Ein Hook, der Sie benachrichtigt: Konfigurieren Sie einen
Notification-Hook mit dem Matcherpermission_promptin derselben Datei, um sich eine Nachricht zu senden, wenn eine Anfrage wartet - Ein Hook, der Ihnen mitteilt, wann Claude fertig ist: Konfigurieren Sie einen
Stop-Hook in derselben Datei, um sich eine Nachricht zu senden, wenn Claude seine Antwort abgeschlossen hat. Er läuft nicht, wenn ein API-Fehler den Turn beendet. Für diesen Fall konfigurieren Sie einenStopFailure-Hook.
Wenn Ihre Organisation nur verwaltete Hooks ausführt, bitten Sie Ihren Administrator, den Hook den verwalteten Einstellungen hinzuzufügen, die den Remote-Computer erreichen.
Claude Code genehmigt einige Aktionen in keinem Berechtigungsmodus automatisch, auch nicht in Bypass permissions. Je nach Berechtigungsmodus lehnt Claude Code eine solche Aktion ab oder fragt Sie, und die Aufgabe wartet dann auf Ihre Antwort.
Nach Ruhezustand oder Netzwerkverlust wieder verbinden
Wenn Desktop sich bei Ihrer Rückkehr nicht wieder verbunden hat, senden Sie eine Nachricht in der Sitzung. Desktop verbindet sich nur dann selbstständig wieder, wenn es sich ohne Abfrage anmelden kann, z. B. mit einem Schlüssel, den Ihr SSH-Agent hält.
- Gespeichertes Passwort: Ein Passwort, das Sie von Desktop speichern lassen, funktioniert ebenfalls ohne Abfrage, für eine lange Abwesenheit ist jedoch ein Schlüssel in Ihrem SSH-Agenten vorzuziehen. Wenn Anmeldungen mit diesem Passwort abbrechen oder hängen bleiben, kann Desktop aufhören, sich wieder zu verbinden, und auf Sie warten.
- Jede andere Abfrage: Wenn der Remote-Computer etwas anderes abfragt, z. B. einen Einmalcode, können Sie eine Benachrichtigung auf Ihrem Computer erhalten. Klicken Sie auf die Benachrichtigung oder senden Sie eine Nachricht in der Sitzung, und Desktop zeigt die Abfrage an.
Wenn ein Jump-Host eine Anmeldung verlangt, der Ausfall lange dauert, Ausgabe fehlt oder der Prozess nicht mehr existiert
- Jump-Host, Push-Benachrichtigungen hören während Ihrer Abwesenheit auf: Das kann mit Desktop unter macOS oder Linux passieren, wenn niemand auf die Anmeldung eines Jump-Hosts antwortet, z. B. eine Push-Benachrichtigung auf ein Telefon. Desktop hört dann auf, sich wieder zu verbinden, solange niemand an Ihrem Computer ist. Wenn Sie den Computer entsperren oder verwenden, können Sie eine weitere Push-Benachrichtigung erhalten, da Desktop es erneut versuchen kann. Nach drei unbeantworteten Versuchen wartet es, bis Sie es erneut versuchen oder eine Nachricht senden.
- Jump-Host, Push-Benachrichtigungen kommen weiterhin: Wo Desktop nicht erkennen kann, dass niemand antwortet, wie bei Desktop unter Windows, versucht es weiter, solange es einen Prozess hat, mit dem es sich wieder verbinden kann, unabhängig davon, ob dieser Prozess noch läuft. Sie können bei jedem Versuch eine weitere Push-Benachrichtigung erhalten. Um die Versuche zu beenden, beenden Sie Desktop, was Sie die laufende Aufgabe kosten kann.
- Langer Ausfall: Desktop verlangsamt auf etwa einen Versuch alle fünf Minuten. Um sich früher wieder zu verbinden, versuchen Sie es in der Sitzung erneut oder senden Sie eine Nachricht, die Desktop zustellt, sobald es verbunden ist.
- Fehlende Ausgabe: Während Desktop nicht verbunden ist, behält das Hilfsprogramm die neueste Claude Code-Ausgabe jeder Sitzung in einem 16-MiB-Puffer und verwirft ältere Ausgabe. Nachdem Desktop sich wieder verbunden hat, kann die Sitzung
Loading recent output from <host>…anzeigen. Wenn Desktop nicht die gesamte Ausgabe laden kann, sehen Sie die ZeileSome output produced while you were disconnected may be missing here.Die Zeile bedeutet nicht, dass die Aufgabe gestoppt wurde.- Prozess verschwunden: Der Prozess endete, während Desktop getrennt war, etwa weil der Remote-Rechner neu gestartet ist. Desktop kann dann aus dem gespeicherten Verlauf der Konversation einen neuen starten und Claude anweisen, die Aufgabe fortzusetzen. Wenn die Aufgabe angehalten bleibt, senden Sie eine Nachricht. Aktualisieren Sie mit einem Drittanbieter auf Claude Desktop v2.42304.0 oder neuer, da frühere Versionen die Aufgabe nie selbstständig fortsetzen.
Eine Sitzung nach dem Beenden von Desktop erneut öffnen
Nachdem Sie Desktop beendet haben, läuft die Aufgabe auf dem Remote-Rechner weiter, hält aber an, wenn die Sitzung erneut geöffnet wird, es sei denn, Desktop kann sich wieder mit ihrem Prozess verbinden. Während Desktop geschlossen ist, läuft die Aufgabe, bis sie fertig ist, Sie benötigt oder eines der Limits erreicht.
- Desktop unter Windows, Aufgabe in einer Version vor v3.1623.0 gestartet: Sie erhalten die Aufgabe nicht zurück, auch wenn Desktop seitdem aktualisiert wurde. Starten Sie Desktop erst wieder, wenn Sie erwarten, dass die Aufgabe fertig ist, da sich die Sitzung beim Start von Desktop öffnen kann und die Aufgabe anhält, wenn sich die Sitzung öffnet. Wenn Sie nicht wissen, in welcher Version Sie die Aufgabe gestartet haben, warten Sie ebenfalls, bis Sie erwarten, dass sie fertig ist.
- Drittanbieter unter macOS oder Linux, Aufgabe in einer Version vor v2.42304.0 gestartet: Sie erhalten die Aufgabe nicht zurück. Starten Sie Desktop erst wieder, wenn Sie erwarten, dass die Aufgabe fertig ist.
- Jede andere Aufgabe: Starten Sie Desktop und öffnen Sie die Sitzung, und die Aufgabe läuft weiter, wenn Desktop sich wieder verbindet. Es kann sich nicht immer wieder verbinden, zum Beispiel nach manchen Desktop-Updates, daher sollten Sie vor einer langen Aufgabe aktualisieren.
Wenn die Aufgabe anhält, kann die Sitzung Restarting Claude Code on <host>… anzeigen, während Desktop einen neuen Prozess startet. Sie verlieren außerdem jede Genehmigung oder Frage, die auf Sie gewartet hat. Wenn Claude nicht von selbst fortfährt, senden Sie eine Nachricht, und Claude fährt ab dem gespeicherten Verlauf der Konversation fort.
Für Bereitstellungen mit Drittanbietern siehe SSH remote sessions in Claude Desktop on 3P.
[!WARNING]
Solange der Claude Code-Prozess einer Konversation noch läuft, führen Sie
claude --resumedafür nicht auf dem Remote-Computer aus. Claude Code hält Sie nicht davon ab, und beide Prozesse schreiben dann in dieselbe Konversation. Wenn Sie unsicher sind, fügen Sie--fork-sessionhinzu, womit in einer Kopie der Konversation fortgefahren wird; beide Prozesse arbeiten jedoch weiterhin an denselben Dateien.
Festlegen, wo Worktrees von SSH-Sitzungen abgelegt werden
Sofern Ihre Organisation nicht einschränkt, welche Ordner Sitzungen verwenden dürfen, erstellen neue SSH-Sitzungen ihre Worktrees am ersten dieser Orte, der gesetzt ist:
- Worktree folder in der SSH-Verbindung
worktree.locationin~/.claude/settings.jsonauf dem Remote-Computer<project-root>/.claude/worktrees/, der Standard
Jedes Projekt erhält einen eigenen Unterordner in dem von Ihnen festgelegten Ordner, sodass der Pfad eines Worktrees bei ~/worktrees ~/worktrees/<project>-<id>/<worktree-name> lautet. Wenn der festgelegte Ordner innerhalb des Projekts liegt, ignoriert Desktop ihn für dieses Projekt und verwendet den Standard. Auf einem Windows-Remote-Computer verwendet Desktop immer den Standard.
Den Worktree-Ordner für eine bestehende Verbindung festlegen
Setzen Sie Worktree folder in den Einstellungen einer Verbindung, die Sie früher hinzugefügt haben oder die Ihre Organisation verwaltet. Das Feld erfordert Claude Desktop v1.44121.0 oder höher. Wenn Ihre Organisation einschränkt, welche Ordner Sitzungen verwenden dürfen, blendet Desktop das Feld aus und behält Worktrees innerhalb des Projekts.
1. Verbindung finden
Öffnen Sie die Umgebungsauswahl und suchen Sie die Verbindung unter SSH.
2. Einstellungen der Verbindung öffnen
Bewegen Sie den Mauszeiger über die Verbindung und klicken Sie auf das Zahnradsymbol. Wenn der geöffnete Dialog neben Host Edit connection… zeigt, wählen Sie Edit connection… aus.
3. Ordner festlegen
Geben Sie in Worktree folder einen Ordner auf dem Remote-Rechner ein, etwa ~/worktrees, und wählen Sie Save changes aus.
Dateien und Prozesse auf dem Remote-Computer
Desktop installiert ein Hilfsprogramm und Claude Code unter ~/.claude/remote/ im Home-Verzeichnis jedes Benutzers, der sich mit einem Linux- oder macOS-Remote-Computer verbindet. Das Hilfsprogramm lauscht an keinem Netzwerkport, Claude Code und die Programme, die es startet, wie MCP-Server und Entwicklungsserver, können das jedoch.
| Ordner | Inhalt |
|---|---|
~/.claude/remote/srv/ |
Das Hilfsprogramm, in einem Ordner pro Version |
~/.claude/remote/ccd-cli/ |
Claude Code, in einer Datei pro Version |
~/.claude/remote/run/ |
Die Laufzeitdateien des Hilfsprogramms, z. B. sein Socket und sein Log, in einem Ordner pro Computer, der sich verbindet |
~/.claude/remote/plugins/ |
Plugins, die Desktop vom Computer des Benutzers kopiert |
~/.claude/uploads/ |
Dateien, die der Benutzer an Nachrichten anhängt, in einem Ordner pro Sitzung |
Um die Prozesse eines Benutzers aufzulisten, führen Sie pgrep -fl "$HOME/.claude/remote/" auf dem Remote-Computer als dieser Benutzer aus oder mit dem Home-Verzeichnis des Benutzers anstelle von $HOME:
- Hilfsprogramm: ein oder mehrere
server-Prozesse für jeden Computer, der sich verbindet - Claude Code: die Prozesse, die das Hilfsprogramm für die Sitzungen des Benutzers startet, jeweils aus einer nach ihrer Version benannten Datei, z. B.
2.1.295-…
Desktop erreicht das Hilfsprogramm über die SSH-Verbindung des Benutzers, über den Unix-Socket rpc.sock im Ordner des Hilfsprogramms unter ~/.claude/remote/run/. Außer root können sich andere Benutzer auf dem Computer nicht mit diesem Socket verbinden, da er den Modus 600 und sein Ordner den Modus 700 hat.
Wann das Hilfsprogramm von selbst stoppt, erfahren Sie unter Grenzen, während Desktop nicht verbunden ist.
Um das Hilfsprogramm und Claude Code für einen Benutzer zu entfernen:
1. Desktop beenden
Beenden Sie Desktop auf jedem Computer, von dem aus sich der Benutzer verbindet. Desktop installiert beide Programme bei der nächsten Verbindung erneut und kann sich selbstständig wieder verbinden.
2. Prozesse beenden
Führen Sie, als dieser Benutzer auf dem Remote-Computer angemeldet, kill mit der ID jedes Claude Code-Prozesses aus, den pgrep auflistet. Sobald diese aus der Liste verschwunden sind, führen Sie kill mit der ID jedes server-Prozesses aus. Wenn Sie zuerst einen server-Prozess beenden, kann ein Befehl, den Claude Code gerade ausführt, weiterlaufen.
Listen Sie dann die verbleibenden Prozesse des Benutzers auf, z. B. mit ps -u "$(id -un)" -f, und beenden Sie alle, die Sie als von Claude Code gestartet erkennen. Programme, die es im Hintergrund zurückgelassen hat, können nach seinem Ende weiterlaufen, ohne in der pgrep-Liste zu erscheinen.
3. Ordner löschen
Löschen Sie ~/.claude/remote/. Um die eigenen Dateien von Claude Code in ~/.claude/ und ~/.claude.json zu entfernen, siehe Konfigurationsdateien entfernen.
Den Prozess einer Sitzung beenden
Um den Claude-Code-Prozess einer Sitzung zu beenden, archivieren Sie die Sitzung in Desktop, während Desktop mit dem Remote-Rechner verbunden ist. Der Prozess läuft weiter, nachdem seine Aufgabe erledigt ist und nachdem Sie Desktop beendet haben.
Bevor Sie eine Sitzung archivieren, deren Worktree nicht committete Änderungen enthält, siehe Nicht committete Änderungen beim Archivieren einer Sitzung behalten.
Sehen, unter welchem Benutzer die Prozesse laufen
Das Hilfsprogramm und Claude Code laufen als der Benutzer, als der sich Desktop über SSH anmeldet. Für ihre Installation und ihren Start ist kein sudo erforderlich. Um den Benutzer zu prüfen, führen Sie ps -o user= -p auf dem Remote-Computer mit einer Prozess-ID aus, die pgrep auflistet.
Programme, die Claude Code startet, z. B. Shell-Befehle und MCP-Server, starten ebenfalls als dieser Benutzer. Überprüfen Sie die Rechte dieses Benutzers auf dem Remote-Computer, einschließlich seiner sudo-Regeln, wie Sie es für eine Person tun würden, die dort Befehle ausführt.
Sehen, wer sich mit dem Remote-Computer verbunden hat
Um herauszufinden, wer sich mit einem Remote-Computer verbunden hat, lesen Sie das Log des SSH-Servers auf diesem Computer, in dem eine Anmeldung von Desktop wie eine Anmeldung aus einem Terminal aussieht. Mit Desktop unter macOS oder Linux ist mit einem Eintrag pro Verbindungsaufbau von Desktop zu rechnen, nicht mit einem pro Sitzung.
Wenn der Server MaxSessions 1 festlegt, sind bei jeder Verbindung oder erneuten Verbindung von Desktop mindestens zwei Einträge zu erwarten. Rechnen Sie mit mindestens einem weiteren für jeden Terminal-Tab und für jede Desktop-Sitzung, in der Sie Befehle ausführen, die mit ! beginnen.
Die SSH-Verbindungen von Desktop finden Sie nicht in den Metriken und Ereignissen von Claude Code. Um daraus zu ermitteln, auf welchem Remote-Rechner eine SSH-Sitzung lief, siehe Telemetrie Desktop-SSH-Sitzungen zuordnen. Für die eigene Aufzeichnung von Desktop über seine Verbindungen siehe Desktop-Logs für ein SSH-Problem abrufen.
Verbindungen, die vor der Anmeldung geschlossen werden
Wenn das Log des SSH-Servers Verbindungen zeigt, die vor jeder Anmeldung geschlossen werden, kann es sich um Tests des SSH-Ports durch Desktop handeln. Desktop testet, ob ein Rechner antwortet, zum Beispiel nachdem eine Verbindung zu ihm fehlgeschlagen ist. Es öffnet eine Verbindung zum Port und schließt sie sofort, ohne etwas zu senden. Rechnen Sie mit einem Test oder mehreren hintereinander, zum Beispiel acht in etwa zwei Minuten.
Wenn nichts Adressen für solche Verbindungen sperrt oder ablehnt, müssen Sie wegen der Tests von Desktop nichts unternehmen. Wenn eine Adresse, von der aus Desktop sich verbindet, abgelehnt oder gesperrt wird, prüfen Sie, ob der SSH-Server selbst die Adresse ablehnt und ob fail2ban die Tests von Desktop zählt.
Einen Test im Log des SSH-Servers erkennen
Vergleichen Sie die Zeilen in Ihrem Log mit denen, die ein OpenSSH-Server unter Linux für einen Test beim Standard-LogLevel schreibt, in der Zeile für die Version Ihres Servers. Sie sehen möglicherweise stattdessen die Zeilen in der letzten Spalte, wenn die Begrüßung des Servers eintrifft, bevor Desktop die Verbindung schließt:
| OpenSSH-Version | Zeilen für einen Test | Zeilen, wenn die Begrüßung zuerst eintrifft |
|---|---|---|
| 6.6 bis 7.9 | Eine Zeile mit Did not receive identification string from 203.0.113.7 |
Dieselbe Zeile |
| 8.0 bis 8.2 | error: kex_exchange_identification: Connection closed by remote host |
error: kex_exchange_identification: read: Connection reset by peer |
| 8.3 bis 9.4 | error: kex_exchange_identification: Connection closed by remote host, dann Connection closed by 203.0.113.7 port 51234 |
error: kex_exchange_identification: read: Connection reset by peer, dann Connection reset by 203.0.113.7 port 51234 |
| 9.5 bis 10.2 | Connection closed by 203.0.113.7 port 51234 |
error: kex_exchange_identification: read: Connection reset by peer, dann Connection reset by 203.0.113.7 port 51234 |
| 10.3 bis 10.5 | Connection closed by 203.0.113.7 port 51234 [preauth] |
error: kex_exchange_identification: read: Connection reset by peer [preauth], dann Connection reset by 203.0.113.7 port 51234 [preauth] |
Andere Programme, die den Port öffnen und schließen, können dieselben Zeilen hinterlassen. Wo eine Zeile eine Adresse enthält, prüfen Sie, ob es eine ist, von der aus sich ein Computer mit Desktop verbindet.
Die Zeilen von 8.0 bis 8.2 enthalten keine Adresse. Um eine zu erhalten, setzen Sie LogLevel VERBOSE in sshd_config und führen Sie sshd -T | grep -i loglevel als root aus. Wenn es loglevel VERBOSE ausgibt, laden Sie den SSH-Server neu. Suchen Sie dann vor der Zeile des Tests nach einer Zeile mit Connection from 203.0.113.7 port 51234.
Prüfen, ob der SSH-Server selbst die Adresse ablehnt
Wenn Verbindungen von einer Adresse abgelehnt werden, die sich viele Computer mit Desktop teilen, suchen Sie im Log des SSH-Servers nach einer Zeile, die wie diese endet:
drop connection #0 from [203.0.113.7]:51234 on [192.0.2.10]:22 penalty: connections without attempting authentication
Mit dem Standard-LogLevel können OpenSSH 9.8 und höher eine solche Zeile schreiben, wenn sie eine Adresse wegen Verbindungen ablehnen, die ohne Anmeldeversuch geschlossen wurden, wie es bei den Tests von Desktop der Fall ist. Mit den Standardeinstellungen sehen Sie eine solche Zeile nicht nach nur wenigen Tests.
Um die Ablehnung zu verhindern, setzen Sie PerSourcePenaltyExemptList in sshd_config auf die Adressen, von denen aus sich Personen verbinden, zum Beispiel PerSourcePenaltyExemptList 203.0.113.7. Der Server wendet dann keine seiner Strafen auf diese Adressen an, auch nicht die für fehlgeschlagene Anmeldungen. Um die Datei zu prüfen, führen Sie sshd -T | grep -i persourcepenalt als root aus. Wenn es Ihre Liste ausgibt, laden Sie den SSH-Server neu.
Prüfen, ob fail2ban die Tests von Desktop zählt
Wenn fail2ban 0.10.5 oder höher eine Adresse gesperrt hat, von der aus sich Desktop verbindet, ermitteln Sie den Modus Ihres Jails in jail.conf, jail.local oder unter jail.d/:
- Eine
filter-Zeile, die einen Modus in Klammern nennt, etwafilter = sshd[mode=aggressive]: verwenden Sie diesen Modus. - Nur die Standard-
filter-Zeile, mit[mode=%(mode)s]: verwenden Sie diemode-Zeile odernormal, wenn es keine gibt.
Wenn der Modus normal ist, zählt fail2ban die Zeilen der Tests von Desktop nicht, suchen Sie also nach einer anderen Ursache für die Sperre.
Bei einem anderen Modus kopieren Sie die Zeilen aus Ihrem eigenen Log in eine Datei auf dem Remote-Rechner. Kopieren Sie jede Zeile vollständig, von ihrem Datum bis zu ihrem Ende, und beide Zeilen, wo ein Test zwei hinterlässt. Führen Sie dort fail2ban-regex mit der Datei und dem Modus Ihres Jails aus, zum Beispiel aggressive:
fail2ban-regex -o ip lines.log "sshd[mode=aggressive]"
Für jeden Fehlschlag, den fail2ban zählt, gibt der Befehl die Adresse in einer eigenen Zeile aus, etwa 203.0.113.7. In diesem Fall verhindern Sie eine Sperre. Wenn er nichts ausgibt, zählt fail2ban in diesem Modus keine dieser Zeilen, suchen Sie also nach einer anderen Ursache für die Sperre.
Eine Sperre durch fail2ban verhindern
Damit fail2ban eine Adresse nicht wegen der Tests von Desktop sperrt, ändern Sie eine von zwei Einstellungen des Jails, jeweils mit einem Nachteil:
mode: setzen Sie ihn aufnormal, wo immer Ihr Jail ihn setzt, in einermode-Zeile oder in den Klammern einer Zeile wiefilter = sshd[mode=aggressive]. Sie verzichten damit auf jede Zählung, die nur die anderen Modi vornehmen, zum Beispiel von Clients, die sich verbinden und ohne Anmeldeversuch wieder trennen.ignoreip: setzen Sie sie auf die Adressen, von denen aus sich Personen verbinden, zum Beispielignoreip = 203.0.113.7. fail2ban zählt dann nichts von diesen Adressen, auch keine fehlgeschlagenen Anmeldungen.
Auf dem Remote-Computer eingerichtete MCP-Server verwenden
Um einen MCP-Server aus ~/.claude.json oder der .mcp.json eines Projekts in einer SSH-Sitzung zu verwenden, richten Sie ihn in diesen Dateien auf dem Remote-Computer ein. Claude Code startet deren stdio-Server dort, installieren Sie daher die Befehle, die diese Server ausführen, auf dem Remote-Computer. Zu Servern aus claude_desktop_config.json siehe Grenzen, während Desktop nicht verbunden ist.
SSH-Sitzung über einen Link öffnen
Ein claude://code/new-Link öffnet die Seite für neue Sitzungen in Desktop und kann eine SSH-Verbindung angeben. Fügen Sie einen solchen Link in ein Runbook, ein Dashboard oder eine Wiki-Seite ein, um Desktop direkt für den richtigen Computer und Ordner eingerichtet zu öffnen. Für Plattformen, die solche Links entfernen, siehe Der Link wird als reiner Text statt anklickbar dargestellt.
SSH-Links erfordern Claude Desktop v2.110.0 oder höher.
Der folgende Link gibt den Benutzer dev auf build.example.com, Port 2222, und den Ordner /srv/payments an und füllt einen Prompt aus:
claude://code/new?ssh_host=dev%40build.example.com&ssh_port=2222&ssh_folder=/srv/payments&q=Investigate%20the%20failed%20deploy
Ein SSH-Link akzeptiert diese Parameter, wobei nur ssh_host erforderlich ist:
| Parameter | Wert |
|---|---|
ssh_host |
host oder user@host, geschrieben wie im Feld SSH host. Der Wert darf nicht mit - beginnen, und der Host-Teil akzeptiert nur Buchstaben, Ziffern, ., _, : und - |
ssh_port |
Eine Portnummer von 1 bis 65535 |
ssh_folder |
Ein Ordner auf dem Remote-Computer. Beginnen Sie ihn mit / oder ~/, oder verwenden Sie ~ |
q |
URL-kodierter Text für das Eingabefeld |
Ein Alias aus ~/.ssh/config funktioniert als ssh_host nur für Personen, die diesen Eintrag haben. Damit der Link zu einer Verbindung passt, die andere bereits haben, geben Sie im Link denselben Benutzer, Host und Port wie bei dieser Verbindung an.
Wenn Sie den Link öffnen, bittet Desktop Sie um Bestätigung, bevor die Verbindung ausgewählt wird:
- Eine Verbindung, die Sie bereits haben: Wenn Host, Benutzer und Port mit einer Ihrer Verbindungen übereinstimmen, fragt Desktop, ob diese verwendet werden soll, und zeigt Ihnen Name und Host der Verbindung sowie den Ordner an, falls der Link einen angibt.
- Eine neue Verbindung: Andernfalls öffnet Desktop den Dialog zum Hinzufügen einer SSH-Verbindung. Wenn Sie die Verbindung hinzufügen, fragt Desktop, ob eine Verbindung hergestellt werden soll, bevor etwas gespeichert wird, und zeigt Ihnen den Host aus dem Link sowie Port und Ordner an, falls der Link diese angibt.
Bis Sie bestätigen, speichert Desktop weder Host, Port noch Ordner aus dem Link und wählt keine Verbindung mit diesen Angaben aus oder öffnet sie. Wenn bereits eine SSH-Verbindung ausgewählt ist, kann die Seite für neue Sitzungen weiterhin selbstständig eine Verbindung damit herstellen, wie auch ohne Link, selbst wenn der Link denselben Host angibt. Ein Link kann keine Schlüsseldatei, kein Passwort und keinen Befehl enthalten.
Jeder kann einen Link erstellen, prüfen Sie also, was er ausgefüllt hat:
- Bevor Sie bestätigen: Prüfen Sie Host und Ordner.
- Bevor Sie senden: Prüfen Sie den Prompt und die ausgewählte Umgebung.
Desktop füllt den Prompt beim Öffnen des Links aus, anstelle von noch nicht gesendetem Text, und sendet ihn niemals für Sie. Der Prompt wird als reiner Text behandelt, sodass ein führendes / oder ! und eine @-Dateierwähnung nicht als Befehl oder Erwähnung wirken. Wenn Sie abbrechen, bleibt der Prompt im Eingabefeld, und die zuvor ausgewählte Umgebung ändert sich nicht.
Ein Link umgeht sshHostAllowlist nicht. Desktop prüft die Allowlist beim Verbindungsaufbau.
Wenn der Link Desktop ohne einen Dialog zur Verbindung öffnet, prüfen Sie folgende mögliche Ursachen:
- Sie sind abgemeldet: Melden Sie sich an und öffnen Sie den Link erneut.
- Ein anderer Dialog ist geöffnet: Schließen Sie ihn und öffnen Sie den Link erneut.
- Der Link ist ungültig: Desktop zeigt eine Meldung an, die angibt, was zu korrigieren ist, und füllt den Prompt nicht aus.
- Desktop ist älter als v2.110.0: Frühere Versionen ignorieren die SSH-Parameter und öffnen die Seite für neue Sitzungen nur mit dem Prompt.
- SSH-Sitzungen sind deaktiviert: Wenn Ihr Administrator die Allowlist auf ein leeres Array setzt, lehnt Desktop SSH-Links ab.
Eine SSH-Verbindung über einen Befehl erstellen
Wenn ein Befehlszeilen-Tool Ihre Remote-Rechner bei Bedarf erstellt, fügen Sie dessen Befehl zu sshHostCommands in ~/.claude/settings.json hinzu. Die Umgebungsauswahl listet dann ein Element, das nach Ihrem Eintrag benannt ist, etwa Create Dev box. Wenn Sie es auswählen, führt Desktop den Befehl auf Ihrem Computer aus, speichert den Host, den der Befehl ausgibt, als SSH-Verbindung und stellt die Verbindung her.
[!NOTE]
Verbindungen über einen Befehl erfordern Claude Desktop v3.6556.0 oder höher unter macOS oder Linux, angemeldet mit einem Claude-Konto. Administratoren können Befehle an ein Team verteilen.
Jeder Eintrag ist eine Verbindung mit jeweils einem Host. Desktop führt den Befehl nur aus, wenn Sie die Verbindung erstellen oder ihren Host ersetzen, nicht bei jedem Verbindungsaufbau. Um zwei Rechner gleichzeitig zu behalten, fügen Sie einen zweiten Eintrag hinzu.
[!WARNING]
Desktop stoppt oder löscht keine Rechner. Jeder der folgenden läuft weiter und kann weiterhin Kosten verursachen, bis Sie ihn mit Ihrem Tool löschen:
- Ein Host, den Sie ersetzt haben
- Der Host eines Eintrags, den Sie aus der Datei entfernt oder dessen
idSie geändert haben- Ein Rechner, den Ihr Befehl erstellt hat, ohne dass Desktop seinen Host gespeichert hat, zum Beispiel in diesen Fällen:
- Der Befehl schlägt fehl oder überschreitet das Zeitlimit
- Desktop kann den ausgegebenen Host nicht verwenden, eine andere Verbindung verwendet ihn bereits, oder Ihre Organisation erlaubt ihn nicht
- Während der Befehl läuft, brechen Sie ihn ab, entfernen seinen Eintrag, ändern seinen
commandoder seineidoder beenden Desktop
Das folgende Beispiel fügt eine Verbindung namens Dev box hinzu. Wenn die Datei nicht existiert, erstellen Sie sie. Wenn sie bereits Einstellungen enthält, fügen Sie den Schlüssel daneben hinzu. Der Befehl acme-dev create steht für Ihr eigenes Tool, und ~/project ist der Ordner, den Desktop auf jedem Rechner auswählt, den Ihr Befehl erstellt:
{
"sshHostCommands": [
{
"id": "devbox",
"name": "Dev box",
"command": "acme-dev create",
"startDirectory": "~/project"
}
]
}
Jeder Eintrag akzeptiert diese Felder, wobei id, name und command erforderlich sind:
| Feld | Wert |
|---|---|
id |
Bis zu 64 ASCII-Buchstaben, Ziffern, ., _ und -, beginnend mit einem Buchstaben oder einer Ziffer. Verwenden Sie eine id, die kein anderer Eintrag in sshHostCommands oder sshConfigs hat. Desktop speichert den Host der Verbindung darunter. Wenn Sie sie ändern, beginnt die Verbindung also ohne Host neu, und der alte Rechner läuft weiter. |
name |
Der Name der Verbindung in der Umgebungsauswahl, bis zu 200 Zeichen in einer Zeile |
command |
Ein Programm und seine Argumente, wie unter Den Befehl schreiben beschrieben |
sshIdentityFile |
Pfad zu Ihrem privaten Schlüssel, etwa ~/.ssh/id_ed25519. Lassen Sie es weg, um Ihre SSH-Konfiguration oder Ihren SSH-Agenten zu verwenden. |
startDirectory |
Der Standardordner auf dem Remote-Rechner. Beginnen Sie ihn mit / oder ~/, oder verwenden Sie ~. |
Um die Verbindung zu ändern oder zu entfernen, bearbeiten Sie ihren Eintrag in der Datei, da sich der SSH-Verbindungsdialog der App für sie nicht öffnet. Sie müssen Desktop nach dem Bearbeiten der Datei nicht neu starten. Wenn der Eintrag nicht angezeigt wird oder Sie ihn nicht auswählen können, lesen Sie Wenn ein Befehl fehlt oder ausgegraut ist.
Den Befehl schreiben
Desktop startet das Programm direkt, ohne Shell und ohne Terminal:
- Programm: Schreiben Sie seinen Namen oder seinen vollständigen Pfad ab
/, ohne Leerzeichen. Desktop sucht einen reinen Namen imPATH, den Ihre Login-Shell exportiert. Relative Pfade wie./acme-dev, Pfade, die mit~beginnen, sowie Shell-Aliase und -Funktionen funktionieren nicht. - Argumente: Trennen Sie einfache Argumente durch Leerzeichen. Der Befehl darf nur Leerzeichen, ASCII-Buchstaben, Ziffern und die Zeichen
+,-./:=@_~enthalten, und kein Wort darf mit~beginnen. - Skripte: Wenn der Befehl etwas anderes benötigt, etwa Anführungszeichen, Pipes, Variablen oder eine URL mit
?oder&, legen Sie ihn in ein Skript. Machen Sie das Skript ausführbar, beginnen Sie es mit einer#!-Zeile und setzen Siecommandauf seinen vollständigen Pfad, etwa/Users/you/bin/make-devbox. Legen Sie das Skript unter macOS nicht in die Ordner Dokumente, Schreibtisch und Downloads, wo macOS es blockieren kann. - Eingabe: Das Programm erhält keine Eingabe und kein Terminal, es kann Sie dort also nicht zu einer Eingabe auffordern. Wenn Ihr Tool Sie über einen Browser oder eine Abfrage anmeldet, melden Sie sich zuerst in einem Terminal an, und erneut, sobald diese Anmeldung abläuft.
- Umgebung: Das Programm läuft in Ihrem Home-Verzeichnis mit den Variablen, die Ihre Login-Shell exportiert. Desktop liest sie beim Start, wie bei einem
ProxyCommand. Beenden Sie Desktop also und öffnen Sie es erneut, nachdem Sie sie geändert haben. - Zeitlimit: Desktop stoppt ein Programm, das nach 10 Minuten noch läuft. Die Fortschrittsmeldung von Desktop zeigt die Ausgabe des Programms nicht an. Um das Programm früher zu stoppen, wählen Sie Cancel neben dieser Meldung.
Das Programm muss mit Code 0 beendet werden und auf der Standardausgabe nur den Host ausgeben, in einer von zwei Formen:
- Eine Zeile:
hostoderuser@host, geschrieben wie fürssh_hostin einem SSH-Link. Um einen Port anzugeben, verwenden Sie die JSON-Form. - Ein JSON-Objekt:
sshHostund optional ein numerischersshPortsowie einstartDirectory, das das des Eintrags ersetzt, etwa{"sshHost": "dev@devbox-1234.example.com", "sshPort": 2222}
Um die Ausgabe zu sehen, die Desktop liest, führen Sie den Befehl in einem Terminal ohne Eingabe und mit der Standardausgabe in einer Datei aus:
acme-dev create < /dev/null > host.txt
Die Datei darf nur den Host enthalten. Wenn Sie diesen Test ausführen, erstellt Ihr Tool ebenfalls einen Rechner. Löschen Sie ihn anschließend mit Ihrem Tool.
Wenn Ihr Tool vor dem Host weitere Zeilen ausgibt, etwa Fortschrittsmeldungen, umschließen Sie es mit einem Skript, das nur den Host ausgibt. Das folgende Skript gibt die letzte Zeile der Ausgabe Ihres Tools aus. Wenn Ihr Tool fehlschlägt, wird das Skript mit demselben Code beendet, sodass Desktop den Fehler meldet:
#!/bin/bash
out=$(mktemp) || exit
trap 'rm -f "$out"' EXIT
acme-dev create > "$out" || exit
tail -n 1 "$out"
Wenn der Befehl fehlschlägt, zeigt View details in der Meldung von Desktop die letzte Zeile, die der Befehl auf die Standardfehlerausgabe geschrieben hat, falls vorhanden.
Eine Verbindung zu einem neuen Host herstellen
Beantworten Sie zwei Fragen, wenn Sie zum ersten Mal eine Verbindung zu einem neuen Host herstellen:
- Host-Schlüssel: Prüfen Sie bei der standardmäßigen Host-Schlüsselprüfung von OpenSSH den Fingerabdruck des Schlüssels und wählen Sie dann, ob eine Verbindung hergestellt werden soll. Um die Frage zu überspringen, lassen Sie Ihren Befehl den Schlüssel zu
~/.ssh/known_hostshinzufügen, bevor er den Host ausgibt, und zwar mit einem Schlüssel, den Ihr Tool beim Erstellen des Rechners erfahren hat. Für einen anderen Port als 22 beginnt diese Zeile mit[host]:port. Wenn Ihr Tool Hostnamen wiederverwendet, entfernen Sie auch die Zeile des alten Schlüssels. - Ordner: Wählen Sie, ob Sie dem Ordner vertrauen, den Sie dort öffnen
Lassen Sie die Host-Schlüsselprüfung für diese Hosts eingeschaltet und führen Sie für sie eine known_hosts-Datei. Wenn StrictHostKeyChecking auf no oder accept-new steht und UserKnownHostsFile zusätzlich /dev/null oder none ist, zeichnet nichts den Schlüssel auf. Wenn Ihr Tool dann einen Namen wiederverwendet, können Sie ohne Warnung eine Verbindung zu einem anderen Rechner herstellen.
Den Host ersetzen
Sobald Dev box einen Host hat, listet die Auswahl Dev box unter Ihren SSH-Verbindungen, und aus Create Dev box wird Replace Dev box's host. Wenn dieses Element nicht in der Liste steht, sehen Sie unter More nach.
Wählen Sie es aus, wenn der Rechner nicht mehr existiert oder Sie einen neuen möchten. Auf der Seite für neue Sitzungen bietet es auch die Meldung an, die besagt, dass Desktop den Host nicht erreichen kann. Desktop führt den Befehl erneut aus, und neue Sitzungen verwenden den neuen Host.
- Ein neuer Host: Das Element ist für 10 Minuten nach dem Speichern eines Hosts durch Desktop ausgegraut, da ein neuer Rechner eine Weile zum Starten brauchen kann. Solange ein neuer Host nicht antwortet, versucht die Seite für neue Sitzungen während dieser 10 Minuten weiterhin, eine Verbindung herzustellen.
- Sitzungen auf dem alten Host: Sie bleiben auf ihm, und Desktop stellt keine Verbindung zu diesem Host her, es sei denn, Sie fügen ihn wieder hinzu. Um eine davon fortzusetzen, öffnen Sie die Sitzung und wählen Sie Add SSH connection. Desktop füllt den alten Host aus. Speichern Sie ihn als eigene Verbindung.
Befehle an Ihr Team verteilen
Um Ihrem Team eine Verbindung bereitzustellen, setzen Sie sshHostCommands in der Datei für verwaltete Einstellungen von Claude Code oder in der MDM-Richtlinie auf jedem Computer, nicht in der eigenen Geräteverwaltungsrichtlinie der Desktop-App. Benutzer sehen Ihre Einträge neben ihren eigenen, und die App bietet keine Möglichkeit, einen Eintrag zu bearbeiten oder zu entfernen, weder ihren noch Ihren.
Die folgende Datei für verwaltete Einstellungen stellt Benutzern eine Verbindung namens Dev box bereit und schaltet ihre eigenen Einträge aus, zusammen mit Claude-Code-Hooks aus Benutzer-, Projekt- und lokalen Einstellungen:
{
"sshHostCommands": [
{
"id": "acme-devbox",
"name": "Dev box",
"command": "/usr/local/bin/acme-dev create"
}
],
"strictPluginOnlyCustomization": ["hooks"]
}
Klären Sie vor dem Bereitstellen des Schlüssels jeden dieser Punkte:
- Wo der Schlüssel hingehört: Wenn Ihre MDM-Richtlinie für Claude Code bereits einen Richtlinienschlüssel setzt, legen Sie ihn dort ab. Andernfalls legen Sie ihn in der Datei für verwaltete Einstellungen ab. Standardmäßig hat eine solche Richtlinie Vorrang vor der Datei, und Desktop ignoriert dann Einträge in der Datei. Setzen Sie ihn auf dem Computer, auch wenn serververwaltete Einstellungen gelten: Desktop ignoriert den Schlüssel dort sowie in Projekt- und lokalen Einstellungen.
- Die
id: Wenn dersshHostCommands-Eintrag eines Benutzers Ihreidhat, funktioniert nur Ihrer. Wenn eine andere SSH-Verbindung sie hat, etwa eine in densshConfigseines Benutzers, ist Ihr Eintrag ausgegraut. Wählen Sie eineid, die Benutzer wahrscheinlich nicht wählen. - Das Programm: Geben Sie seinen vollständigen Pfad an, da Desktop einen reinen Namen im eigenen
PATHjedes Benutzers sucht. Das Programm läuft als der Benutzer, mit den Variablen, die dessen Login-Shell exportiert. - Eigene Einträge der Benutzer: Desktop behandelt den Eintrag eines Benutzers wie einen Hook, da beide ein Programm auf dem Computer ausführen. Um nur Ihre Einträge zuzulassen, setzen Sie
strictPluginOnlyCustomizationauf["hooks"]oder fügen Sie"hooks"zu dessen Liste hinzu. Damit stoppen Sie auch Claude-Code-Hooks aus Benutzer-, Projekt- und lokalen Einstellungen, ohne Möglichkeit, sie beizubehalten. Wenn Sie stattdessen diesen Schlüssel oderallowManagedHooksOnlyauftruesetzen, blockieren Sie mehr, wie der Eintrag jedes Schlüssels auflistet. - Jeder Eintrag: Um auch Ihre Einträge auszuschalten, setzen Sie
disableAllHooksin den verwalteten Einstellungen. Wenn SiedisableDesktopLocalSessionssetzen oder einesshHostAllowlist, die keinen Host zulässt, listet die Auswahl keine Create- oder Replace-Elemente. - Wo die Sperren gelten: Für diese Einträge liest Desktop
allowManagedHooksOnly,strictPluginOnlyCustomizationunddisableAllHooksaus den serververwalteten Einstellungen sowie aus der eigenen Datei oder Richtlinie des Computers und wendet das strengere Ergebnis an. Jeder Eintrag bleibt ausgegraut, bis Desktop claude.ai auf serververwaltete Einstellungen geprüft hat, selbst wenn Ihre Organisation keine hat. - Zulässige Hosts: Wenn Sie
sshHostAllowlistsetzen, stellen Sie sicher, dass ein Muster auf jeden Hostnamen passt, den Ihr Tool ausgibt, und lassen Sieuser@im Muster weg. Desktop prüft den ausgegebenen Namen erst, nachdem der Befehl ausgeführt wurde. Ein Rechner, den die Liste ablehnt, existiert also bereits, und der Benutzer muss ihn mit Ihrem Tool löschen. Bei jedem Verbindungsaufbau muss auch der aufgelösteHostNamepassen.
Starten Sie Desktop nach dem Bereitstellen des Schlüssels auf einem Testcomputer neu. Sehen Sie in der Umgebungsauswahl des Code-Tabs unter SSH oder in der einzelnen SSH-Zeile nach. Ihr Eintrag wird als Create-Element angezeigt oder als ausgegrautes Element, das beim Darüberfahren mit der Maus den Grund angibt. Wenn er fehlt, prüfen Sie, wo Sie den Schlüssel abgelegt haben, und dann die Fälle unter Wenn ein Befehl fehlt oder ausgegraut ist.
Wenn ein Befehl fehlt oder ausgegraut ist
Die Umgebungsauswahl listet in diesen Fällen kein Create- oder Replace-Element:
- Die Datei:
~/.claude/settings.jsonenthält ungültiges JSON oder einen Wert, den das Schema ablehnt, Sie haben den Schlüssel falsch geschrieben, oder Sie haben ihn in die Einstellungen eines Projekts eingetragen. Korrigieren Sie die Datei. - Plattform und Konto: Sie verwenden Windows oder einen Drittanbieter statt eines Claude-Kontos. Fügen Sie jeden Host selbst als SSH-Verbindung hinzu.
- Die Einstellungen Ihrer Organisation: Ihr Administrator hat lokale Sitzungen oder SSH-Sitzungen ausgeschaltet. Fragen Sie ihn, ob Sie Befehle verwenden können.
- Kein
ssh-Programm: Desktop konnte den OpenSSH-Client auf Ihrem Computer nicht starten. Installieren Sie ihn oder bitten Sie Ihren Administrator, ihn zuzulassen, und starten Sie Desktop dann neu.
Ein Eintrag, den Sie nicht auswählen können, ist ausgegraut. Fahren Sie mit der Maus darüber, um den Grund zu sehen:
- Ein Fehler im Eintrag: Korrigieren Sie das Feld oder den Befehl, den die Meldung nennt. Wenn die
idbereits verwendet wird, geben Sie dem Eintrag eine andere. - Eine fehlerhafte Einstellungsdatei: Solange Ihre eigene Einstellungsdatei fehlerhaft ist, können die Einträge Ihres Administrators ausgegraut sein, mit einer Meldung, die die Datei nennt. Korrigieren Sie die Datei.
- Ein neuer Host: Sie können einen Host ersetzen, sobald er 10 Minuten alt ist.
- Hooks sind ausgeschaltet oder eingeschränkt: Ihre eigenen Einträge funktionieren nur dort, wo Ihre eigenen Hooks ausgeführt werden können. Entfernen Sie
disableAllHooksaus Ihren Einstellungen oder fragen Sie Ihren Administrator. - Einstellungen werden noch geladen: Jeder Eintrag ist ausgegraut, bis Desktop die serververwalteten Einstellungen Ihrer Organisation geladen hat, normalerweise wenige Sekunden nach dem Start. Wenn die Einträge ausgegraut bleiben, prüfen Sie Ihre Verbindung zu claude.ai.
SSH-Verbindungen für Ihr Team vorkonfigurieren
Administratoren können SSH-Verbindungen an Teammitglieder verteilen, indem sie sshConfigs in den verwalteten Einstellungen festlegen.
- Was Benutzer sehen: Auf diese Weise definierte Verbindungen erscheinen automatisch in der Umgebungsauswahl jedes Benutzers.
- Was Benutzer ändern können: Benutzer können eine verwaltete Verbindung auswählen und ihren eigenen Worktree folder dafür festlegen. Die übrigen Felder können sie in der App nicht bearbeiten, und sie können die Verbindung nicht löschen.
Das folgende Beispiel konfiguriert eine einzelne Verbindung vor:
{
"sshConfigs": [
{
"id": "shared-dev-vm",
"name": "Shared Dev VM",
"sshHost": "user@dev.example.com",
"sshPort": 22,
"sshIdentityFile": "~/.ssh/id_ed25519"
}
]
}
Jeder Eintrag erfordert id, name und sshHost. Die Felder sshPort und sshIdentityFile sind optional. Benutzer können auch sshConfigs zu ihrer eigenen ~/.claude/settings.json hinzufügen.
Wenn Sie user@ in sshHost weglassen, verbindet sich Desktop als der User, den die ~/.ssh/config des jeweiligen Entwicklers für den Host festlegt, oder andernfalls mit dessen Benutzernamen auf seinem eigenen Computer.
SSH-Hosts einschränken, mit denen Benutzer sich verbinden können
Administratoren können Desktop-SSH-Sitzungen auf einen genehmigten Satz von Hosts beschränken, indem sie sshHostAllowlist in den verwalteten Einstellungen setzen. Wenn diese festgelegt ist, können Benutzer sich nur mit Hosts verbinden, deren aufgelöster Hostname einem der Muster entspricht. Setzen Sie es auf ein leeres Array, um SSH-Sitzungen zu deaktivieren. Der Referenzeintrag zu sshHostAllowlist beschreibt, wie ein leeres Array mit Listen aus anderen verwalteten Quellen kombiniert wird.
Das folgende Beispiel erlaubt Verbindungen zu jedem Host unter devboxes.example.com und zu einem einzelnen benannten Bastion-Host:
{
"sshHostAllowlist": ["*.devboxes.example.com", "bastion.example.com"]
}
[!WARNING]
Wenn Ihre Organisation serververwaltete Einstellungen bereitstellt, setzen Sie
sshHostAllowlistdort. Standardmäßig liest Desktop den Schlüssel nur aus der ranghöchsten verwalteten Quelle, die einen Richtlinienschlüssel bereitstellt. Wenn diese Quelle den Schlüssel nicht setzt, ignoriert Desktop eine Liste in einer niedriger eingestuften MDM-Richtlinie oder verwalteten Einstellungsdatei und behandelt den Schlüssel als nicht gesetzt. Desktop zeigt keine Warnung an.Hinterlegen Sie dieselbe Liste außerdem auf dem Computer jedes Benutzers, in der dort ranghöchsten MDM-Richtlinie oder verwalteten Einstellungsdatei. Desktop ruft serververwaltete Einstellungen beim Start ab und behält keine zwischengespeicherte Kopie, daher gilt bis zu einem erfolgreichen Abruf die Liste auf dem Computer.
Bei Mustern wird die Groß-/Kleinschreibung nicht beachtet. * passt auf jeden Host, und *.example.com passt auf example.com und jede Subdomain. Alles andere ist eine exakte Übereinstimmung. Die Prüfung erfolgt anhand des Hostnamens nach der Auflösung von ~/.ssh/config über ssh -G, sodass ein Host-Alias zulässig ist, solange sein aufgelöster HostName übereinstimmt. Auch die Jump-Hosts einer Sitzung müssen übereinstimmen.
sshHostAllowlist wird nur aus verwalteten Einstellungen gelesen; Werte in Benutzer- oder Projekteinstellungen werden ignoriert. Nur die Claude Desktop-App berücksichtigt diese Einstellung; die Claude Code CLI und IDE-Erweiterungen lesen sie nicht, und sie beschränkt keine ssh-Befehle, die über das Bash-Tool ausgeführt werden. Sie regelt, mit welchen Hosts sich die Desktop-App verbindet, nicht den Netzwerk-Egress, daher kombinieren Sie sie mit den Netzwerk- oder Zero-Trust-Kontrollen Ihrer Organisation, wenn Sie eine harte Grenze benötigen.
Jump-Hosts zulassen
Fügen Sie jeden Jump-Host, den Desktop prüft, mit seinem eigenen aufgelösten HostName zu sshHostAllowlist hinzu. Fügen Sie die Jump-Hosts hinzu, bevor Benutzer auf Claude Desktop v3.1623.0 oder höher aktualisieren, sonst können sie sich nicht über diese verbinden.
[!WARNING]
Die Liste kennt nur eine Art von Eintrag, daher können Benutzer auch auf jedem Host, den Sie auflisten, eine Sitzung starten. Listen Sie nur Jump-Hosts auf, auf denen Sie Benutzern auch das Ausführen von Sitzungen erlauben würden.
Desktop prüft Jump-Hosts im ProxyJump, den die ~/.ssh/config des Benutzers für den Host der Sitzung festlegt, oder in einem ProxyCommand, der als ssh -W %h:%p <host> geschrieben ist. Wenn ein geprüfter Jump-Host nicht auf der Liste steht, während Desktop eine Sitzung verbindet oder erneut verbindet, schlägt die Verbindung fehl. Wenn ein Benutzer eine Sitzung startet oder eine Nachricht sendet, enthalten die Details des Fehlers den HostName dieses Jump-Hosts, also den Namen, den Sie hinzufügen müssen:
SSH host "bastion.example.com" is not allowed by your organization's managed settings. It is a jump host on the way to "devbox".
Wenn die Meldung managed settings on this computer lautet, fügen Sie den Namen zur Liste auf dem Computer des Benutzers hinzu. Wenn mehr als ein Jump-Host fehlt, nennt der Fehler jeweils einen nach dem anderen. Um alle Namen zu finden, bevor Benutzer aktualisieren, verwenden Sie ein Terminal auf dem Computer eines Benutzers:
1. Die Route ermitteln
Führen Sie ssh -G mit einem Host aus, mit dem sich Benutzer verbinden, etwa ssh -G devbox. Suchen Sie nach einer proxyjump-Zeile oder einer proxycommand-Zeile, die als ssh -W %h:%p <host> geschrieben ist. Der Befehl zählt auch mit einer der Optionen -l, -p, -J, -q, -v, -N, -T, -x oder -a, und die Hosts nach -J sind ebenfalls Jump-Hosts. Wenn eine proxycommand-Zeile ein anderes Programm als ssh ausführt, fügen Sie dafür nichts hinzu.
2. Jeden Jump-Host nachschlagen
Führen Sie ssh -G mit jedem Jump-Host aus dieser Zeile aus, ohne :port, und notieren Sie den hostname, den der Befehl ausgibt. Wenn die Ausgabe für den ersten Jump-Host in dieser Zeile eine Zeile einer der beiden Arten enthält, wiederholen Sie diesen Schritt damit. Ignorieren Sie eine solche Zeile in der Ausgabe eines späteren Jump-Hosts.
3. Die Namen hinzufügen
Fügen Sie jeden Hostnamen oder einen Platzhalter, der ihn abdeckt, zu sshHostAllowlist in jeder verwalteten Quelle hinzu, in der Sie eine Liste festlegen. Lassen Sie die Benutzer Desktop anschließend beenden und erneut öffnen, da es serververwaltete Einstellungen beim Start abruft.
Lokale Sitzungen ausschalten und SSH-Verbindungen verteilen
Um lokale Sitzungen auszuschalten und SSH-Sitzungen auf von Ihnen gewählte Hosts zu beschränken, stellen Sie disableDesktopLocalSessions, sshConfigs und sshHostAllowlist gemeinsam bereit.
[!NOTE]
Diese Konfiguration gilt für Benutzer, die sich mit einem Claude-Konto anmelden. Bei einem Drittanbieter sind SSH-Sitzungen standardmäßig ausgeschaltet, und das Setzen von
sshHostAllowlistkann sie einschalten. Lesen Sie SSH remote sessions in Claude Desktop on 3P, bevor Sie diese Schlüssel bereitstellen.
Das folgende Beispiel schaltet lokale Sitzungen aus, fügt eine Verbindung hinzu und beschränkt SSH-Sitzungen auf den Host dieser Verbindung:
{
"disableDesktopLocalSessions": true,
"sshConfigs": [
{
"id": "shared-dev-vm",
"name": "Shared Dev VM",
"sshHost": "dev.example.com"
}
],
"sshHostAllowlist": ["dev.example.com"]
}
Die Schlüssel gelten für die Desktop-App. Andere Möglichkeiten, Claude Code auszuführen, bleiben davon unberührt, etwa die CLI, Cowork und Cloud-Sitzungen:
- Die CLI: Keiner der Schlüssel hindert einen Entwickler daran, die Claude Code CLI auf seinem eigenen Computer auszuführen
- Cowork: Keiner der Schlüssel gilt für Cowork-Sitzungen oder geplante Aufgaben in Cowork
- Cloud-Sitzungen: Keiner der Schlüssel ändert, ob Cloud-Sitzungen verfügbar sind. Um sie auszuschalten, verwenden Sie die Einstellung Cloud sessions unter Admin console controls.
Wenn Sie das Beispiel anpassen, prüfen Sie die Hostnamen, die Desktop-Version und die Dateiberechtigungen:
- Hostnamen: Stellen Sie sicher, dass ein Muster in
sshHostAllowlistdem Hostnamen jedessshConfigs-Eintrags ohneuser@entspricht, sonst können sich Entwickler nicht damit verbinden. Fügen Sie außerdem ein Muster hinzu, das jedem Jump-Host entspricht, den Desktop auf dem Weg dorthin prüft. Wie Desktop einen Hostnamen abgleicht, erfahren Sie unter Einschränken, mit welchen SSH-Hosts sich Benutzer verbinden können. - Version:
disableDesktopLocalSessionserfordert Claude Desktop v1.37937.0 oder höher - Dateiberechtigungen: Stellen Sie sicher, dass das Konto jedes Entwicklers auf dem Computer die verwaltete Einstellungsdatei lesen kann. Desktop wendet die Schlüssel in einer Datei, die das Konto nicht lesen kann, nicht an, und Claude Code startet ebenfalls ohne sie.
Legen Sie die drei Schlüssel in einer einzigen verwalteten Quelle ab, und zwar in der ranghöchsten, die Sie bereitstellen. Wenn Sie serververwaltete Einstellungen bereitstellen, hinterlegen Sie außerdem eine Kopie der drei Schlüssel in der ranghöchsten MDM-Richtlinie oder verwalteten Einstellungsdatei auf jedem Computer. Desktop ruft serververwaltete Einstellungen beim Start ab, und bis zu einem erfolgreichen Abruf gilt die Kopie auf dem Computer.
Um zu bestätigen, dass die Einstellungen greifen, prüfen Sie den Computer eines Entwicklers:
1. Die Umgebungsauswahl prüfen
Beenden Sie Desktop, öffnen Sie es erneut und öffnen Sie dann die Umgebungsauswahl. Die Einstellungen gelten, wenn dort Folgendes angezeigt wird:
- Der Eintrag für diesen Computer, ausgegraut
- Shared Dev VM unter SSH. Wenn der Eintrag dort nicht aufgeführt ist, klicken Sie auf die einzelne Zeile SSH oder auf More am Ende der Gruppe.
Wenn der Eintrag für den Computer weiterhin verfügbar ist, prüfen Sie diese Ursachen:
- Desktop-Version: Aktualisieren Sie Desktop, wenn die Version älter als v1.37937.0 ist.
- Datei mit verwalteten Einstellungen: Stellen Sie sicher, dass die Datei gültiges JSON enthält.
- Verwaltete Quelle: Stellen Sie sicher, dass der Computer die verwaltete Quelle liest, die die Schlüssel enthält.
2. Einen Host hinzufügen, der nicht auf der Allowlist steht
Fügen Sie eine SSH-Verbindung hinzu mit einem Hostnamen, der nicht auf der Allowlist steht, etwa other.example.com. Desktop speichert die Verbindung, verweigert aber den Verbindungsaufbau und meldet, dass die Einstellungen Ihrer Organisation die Verbindung nicht zulassen.
Unternehmenskonfiguration
Organisationen in Team- oder Enterprise-Plänen können das Verhalten der Desktop-App durch Admin-Konsolen-Steuerelemente, verwaltete Einstellungsdateien und Geräteverwaltungsrichtlinien verwalten.
Admin-Konsolen-Steuerelemente
Diese Einstellungen werden über die Admin-Einstellungskonsole konfiguriert:
- Desktop: Kontrollieren Sie, ob Benutzer in Ihrer Organisation auf Claude Code in der Desktop-App zugreifen können
- Cloud-Sitzungen: Aktivieren oder deaktivieren Sie Cloud-Sitzungen für Ihre Organisation
- Remote Control: Aktivieren oder deaktivieren Sie Remote Control für Ihre Organisation
In Enterprise-Organisationen mit aktiviertem HIPAA ist der Schalter Desktop standardmäßig ausgeschaltet, und ein Owner kann ihn einschalten. Das Anwenden der HIPAA-Konfiguration schaltet ihn aus, auch wenn er eingeschaltet war, sodass ein Owner ihn danach wieder einschalten muss. Cloud-Sitzungen und Remote Control sind ebenfalls standardmäßig ausgeschaltet, und ein Owner kann sie nicht einschalten, sobald die HIPAA-Konfiguration auf die Organisation angewendet wurde.
[!NOTE]
Das OpenTelemetry-Formular für Cowork unter Überwachung in den Daten- und Datenschutzeinstellungen der Admin-Konsole gilt nur für Cowork-Sitzungen. In einer Cowork-Sitzung auf diesem Computer übergibt die Desktop-App diesen Collector an Claude Code als
OTEL_*-Umgebungsvariablen, sodass das Formular wirksam wird, obwohl Claude Code in dieser Sitzung niemals Admin-Konsolen-Einstellungen abruft.Um Telemetrie aus Code-Tab-Sitzungen zu exportieren, setzen Sie
CLAUDE_CODE_ENABLE_TELEMETRYund dieOTEL_*-Variablen imenv-Block Ihrer verwalteten Claude-Code-Einstellungen, wie in Administrator-Konfiguration für Überwachung gezeigt. Lokale, Cloud- und SSH-Sitzungen lesen verwaltete Einstellungen aus verschiedenen Quellen. Für die Hosts, die eine Cloud-Sitzung erreichen kann, siehe Netzwerkzugriff. Für denservice.name, den Code-Tab-Sitzungen melden, siehe Service-Informationen.Um herauszufinden, auf welchem Remote-Computer eine SSH-Sitzung ausgeführt wurde, siehe Telemetrie Desktop-SSH-Sitzungen zuordnen.
Verwaltete Einstellungen
Verwaltete Einstellungen überschreiben Projekt- und Benutzereinstellungen und gelten für Claude-Code-Sitzungen in Desktop. Sie können diese Schlüssel in der verwalteten Einstellungsdatei Ihrer Organisation oder remote über die Admin-Konsole festlegen, sofern in der Zeile eines Schlüssels nichts anderes angegeben ist.
| Schlüssel | Beschreibung |
|---|---|
permissions.disableBypassPermissionsMode |
auf "disable" setzen, um Benutzer daran zu hindern, den Bypass-Berechtigungsmodus zu aktivieren. |
disableAutoMode |
auf "disable" setzen, um Auto-Modus aus dem Moduswahlschalter zu entfernen. Auch unter permissions akzeptiert. |
autoMode |
passen Sie an, was der Auto-Modus-Klassifikator über Ihre Organisation vertraut und blockiert. Siehe Auto-Modus konfigurieren. |
browserExternalPageTools |
auf "disabled" setzen, um zu verhindern, dass Claude Tools verwendet, um externe Seiten im Browser-Bereich zu lesen oder zu bearbeiten. Benutzer können externe Websites weiterhin selbst navigieren, und lokale Dev-Server-Vorschauen sind nicht betroffen. |
disableMobileSimulatorTools |
auf true setzen, um Claudes Tools zum Steuern und Erfassen von Geräten im iOS-Simulator-Bereich zu blockieren. Der Bereich bleibt für die eigenen Taps des Benutzers nutzbar; nur Claudes Zugriff wird entfernt. Der Wert muss der JSON-Boolean true sein; der String "true" wird ignoriert. |
disableBrowserExternalNavigation |
auf true setzen, um externe Browsing im Browser-Bereich vollständig auszuschalten. Weder Benutzer noch Claude können zu externen Websites navigieren, und localhost Dev-Server-Vorschauen sind nicht betroffen. Der Wert muss der JSON-Boolean true sein; der String "true" wird ignoriert. |
sshConfigs |
vorkonfigurieren Sie SSH-Verbindungen, die in der Umgebungsauswahl angezeigt werden. Benutzer können verwaltete Verbindungen nicht löschen und daran nichts außer ihrem eigenen Worktree-Ordner bearbeiten. |
sshHostCommands |
stellen Sie Benutzern zusätzlich zu ihren eigenen SSH-Verbindungen bereit, deren Host aus einem Befehl stammt. Desktop liest diesen Schlüssel aus der verwalteten Einstellungsdatei oder der MDM-Richtlinie auf dem Computer und ignoriert ihn in Server-verwalteten Einstellungen. Erfordert Claude Desktop v3.6556.0 oder später unter macOS oder Linux, angemeldet mit einem Claude-Konto. |
sshHostAllowlist |
beschränken Sie SSH-Sitzungen auf Hosts, deren aufgelöster Hostname einem dieser Muster entspricht. Wird nur aus verwalteten Einstellungen gelesen. |
disableDesktopLocalSessions |
auf true setzen, um Code-Sitzungen, die auf dem Gerät ausgeführt werden, auszuschalten und SSH-Sitzungen zu anderen Hosts sowie Cloud-Sitzungen verfügbar zu lassen. Der Wert muss der JSON-Boolean true sein. Wird nur aus verwalteten Einstellungen gelesen. Erfordert Claude Desktop v1.37937.0 oder später. |
disableSshSavedPasswords |
auf true setzen, damit Desktop nicht mehr anbietet, SSH-Passwörter zu speichern, und die zuvor gespeicherten weder verwendet noch anzeigt. Das Einschalten löscht diese nicht. Wird nur aus verwalteten Einstellungen gelesen. Erfordert Claude Desktop v1.49585.0 oder später. |
managedMcpServers |
übertragen Sie MCP-Serverkonfigurationen an alle Benutzer. Nur in Drittanbieter-Desktop-Bereitstellungen (3P) verfügbar. Geben Sie in jedem Eintrag einen Transport von "http", "sse" oder "stdio", Verbindungsdetails und optional eine toolPolicy-Zuordnung an, um einzuschränken, welche Tools dieses Servers Benutzer aufrufen können. Stellen Sie diesen Schlüssel über die verwaltete Einstellungsdatei, MDM oder eine Claude-Apps-Gateway-Richtlinie desktop-Block bereit, da Drittanbieter-Bereitstellungen keine Admin-Konsolen-Einstellungen erhalten. Um diesen Schlüssel über das Gateway bereitzustellen, benötigen Sie Claude Code v2.1.232 oder später auf dem Gateway-Server. Dies ist der eigene Schlüssel der Desktop-App; Claude Code liest eine eigene gleichnamige verwaltete Einstellung mit einer anderen Eintragsform. |
Welche verwalteten Einstellungen eine Desktop-Sitzung erreichen, hängt davon ab, wo diese Sitzung ausgeführt wird. Modellbeschränkungen wie availableModels werden in Desktop-Claude-Code-Sitzungen auf die gleiche Weise durchgesetzt wie in der Terminal-CLI; siehe Oberflächenabdeckung.
- Lokale Sitzungen auf diesem Computer: Eine verwaltete Einstellungsdatei, die auf der Festplatte bereitgestellt wird, gilt. Verwaltete Einstellungen, die remote über die Admin-Konsole hochgeladen werden, erreichen diese Sitzungen auch auf Anthropics API, wenn sich die Sitzung mit einer berechtigten Anmeldung authentifiziert, und folgen dabei der gleichen Rangfolge der Einstellungen wie die Terminal-CLI.
- Cloud-Sitzungen: erhalten Server-verwaltete Einstellungen; Gerätedateien erreichen diese nicht, da sie auf von Anthropic verwalteten VMs ausgeführt werden. Sitzungen, die zu einer selbstgehosteten Umgebung weitergeleitet werden, lesen auch die verwaltete Einstellungsdatei im Runner-Image. Wie Claude Code verwaltete Quellen kombiniert gibt an, wann diese Datei gilt.
- SSH-Sitzungen: Die Sitzung liest die verwaltete Einstellungsdatei vom Remote-Host. Desktop selbst liest
sshConfigs,sshHostAllowlist,disableSshSavedPasswordsunddisableDesktopLocalSessionsauf dem lokalen Computer. Wenn Sie mehr als eine verwaltete Quelle bereitstellen, liest Desktop sie standardmäßig aus einer. - Cowork-Sitzungen: In einer Cowork-Sitzung auf diesem Computer ruft Claude Code niemals Admin-Konsolen-Einstellungen ab, auch wenn sich der Benutzer mit einem Team- oder Enterprise-Konto anmeldet, und liest Richtlinien, die auf dem Computer bereitgestellt werden, es sei denn, Ihre Claude-Desktop-Konfiguration setzt
requireCoworkFullVmSandbox. Remote-Cowork-Sitzungen erhalten keine. Siehe wo und wann eine Richtlinie gilt, um zu erfahren, welche Gerätedateien Cowork erreichen, und MCP-Berechtigungsregeln, um zu erfahren, wieBash- undWebFetch-Regeln auf Coworks Tools angewendet werden.
In lokalen und SSH-Sitzungen stellt die Desktop-App die verbundenen claude.ai-Konnektoren jedes Benutzers direkt an Claude Code. Keine MCP-Einstellung oder managed-mcp.json erreicht diese Konnektoren, unabhängig davon, welche Einstellungsquelle oder Dateispeicherort Sie verwenden. Um die Tools eines Konnektors in diesen Sitzungen zu blockieren, verwenden Sie die Konnektoren-Tool-Steuerelemente Ihrer Organisation. Wie Konnektoren Claude Code erreichen zeigt, welche Einstellungen Konnektoren in jeder Art von Sitzung steuern.
permissions.disableBypassPermissionsMode und disableAutoMode funktionieren auch in Benutzer- und Projekteinstellungen, aber das Platzieren in verwalteten Einstellungen verhindert, dass Benutzer sie überschreiben.
Für die Berechtigungs-, Plugin- und Bereitstellungsschlüssel, die nur eine verwaltete Quelle setzen kann, siehe Schlüssel, die nur verwaltete Einstellungen setzen können.
Geräteverwaltungsrichtlinien
IT-Teams können die Desktop-App über MDM auf macOS, Gruppenrichtlinie unter Windows oder eine Richtliniendatei unter Linux verwalten. Verfügbare Richtlinien umfassen das Aktivieren oder Deaktivieren der Claude-Code-Funktion, das Steuern von Auto-Updates unter macOS und Windows und das Festlegen einer benutzerdefinierten Bereitstellungs-URL.
- macOS: Konfigurieren Sie über die Präferenzdomäne
com.anthropic.claudefordesktopmit Tools wie Jamf oder Kandji - Windows: Konfigurieren Sie über die Registrierung unter
SOFTWARE\Policies\Claude - Linux: Konfigurieren Sie über eine Datei im Besitz von root unter
/etc/claude-desktop/managed-settings.json, die die Richtlinienschlüssel als JSON-Objekt enthält. Desktop lehnt die Datei ab, wenn außer root jemand in die Datei oder ihren Ordner schreiben kann. Es handelt sich um eine andere Datei als die verwaltete Einstellungsdatei von Claude Code.
Netzwerkzugriffsanforderungen
Desktop lädt seinen Anwendungscode und Benutzerinhalte von Anthropic-CDN-Hosts.
anthropic.com
*.anthropic.com
claude.ai
*.claude.ai
claude.com
*.claude.com
claude.app
*.claude.app
*.claudeusercontent.com
*.claudemcpcontent.com
Der Datenverkehr erfolgt über HTTPS auf Port 443, es sei denn, Sie konfigurieren einen benutzerdefinierten Port für OTLP, ein LLM-Gateway oder einen MCP-Server.
Für Proxy-Server, benutzerdefinierte Zertifizierungsstellen, mTLS und die Domänen, die die eigenständige CLI benötigt, siehe Netzwerkkonfiguration.
Um die Anzahl der Firewall-Wildcards zu reduzieren, erlauben Sie stattdessen diese Anthropic-Hosts. Bestimmte Subdomänen werden dynamisch generiert und müssen Wildcards bleiben.
anthropic.com
api.anthropic.com
a-api.anthropic.com
a-cdn.anthropic.com
s-cdn.anthropic.com
assets-proxy.anthropic.com
claude.ai
a.claude.ai
assets.claude.ai
downloads.claude.ai
*.livepreview.claude.ai
claude.com
platform.claude.com
sso.claude.com
*.livepreview.claude.app
*.claudeusercontent.com
*.claudemcpcontent.com
Wenn Ihre Organisation IP-Allowlisting für Claude aktiviert hat, leiten Sie bridge.claudeusercontent.com durch denselben Proxy-Ausgang wie claude.ai und api.anthropic.com. Wenn Sie dies nicht auf diese Weise leiten können, fügen Sie die Ausgangsadresse, die Ihr Proxy für diesen Host verwendet, zur IP-Allowlist Ihrer Organisation hinzu, aber nur, wenn diese Adresse Ihrer Organisation gewidmet ist: Ein gemeinsamer Proxy-Ausgangsbereich lässt auch andere Kunden des Proxy-Anbieters zu.
Anthropic überprüft Verbindungen zu diesem Host anhand der IP-Allowlist Ihrer Organisation unter Verwendung der Adresse, von der sie ankommen. Wenn Ihr Proxy Datenverkehr dafür über eine Adresse sendet, die nicht auf dieser Allowlist steht, funktionieren Claude in Chrome und andere Funktionen, die sich über die Bridge verbinden, nicht mehr, während der Rest der App weiterhin funktioniert.
Ein Artefakt, das eine Schriftart von Google Fonts lädt, fordert auch fonts.googleapis.com und fonts.gstatic.com an. Beide Hosts sind optional. Wenn Sie diese blockieren, werden Artefakte in Fallback-Schriftarten gerendert. Blockieren Sie mit einer schnellen Ablehnung statt eines stillen Verwerfens, damit die Schriftartanfrage sofort fehlschlägt, anstatt das erste Rendering der Seite zu verzögern.
Artefakte können auch JavaScript-Bibliotheken wie React oder ein Charting-Paket von cdnjs.cloudflare.com, cdn.jsdelivr.net, cdn.tailwindcss.com, code.jquery.com und unpkg.com laden und von keinem anderen externen Host. Wenn Sie diese Hosts blockieren, funktionieren die Teile eines Artefakts, die von einer Bibliothek abhängen, nicht, und im Gegensatz zu einer blockierten Schriftart hat eine blockierte Bibliothek keinen Fallback. Blockieren Sie auch hier mit einer schnellen Ablehnung, damit eine blockierte Bibliotheksanfrage sofort fehlschlägt, anstatt zu hängen, bis sie abläuft.
Authentifizierung und SSO
Team- und Enterprise-Organisationen können SSO für alle Benutzer verlangen. Siehe Authentifizierung für Plan-Level-Details und Einrichten von SSO für SAML-Konfiguration; OIDC-Setup wird im Claude Enterprise Administrator Guide behandelt.
Datenbehandlung
Claude Code verarbeitet Ihren Code lokal in lokalen Sitzungen oder in Cloud-Sitzungen auf von Anthropic verwalteter Infrastruktur, es sei denn, Ihre Organisation leitet diese zu einer selbstgehosteten Umgebung weiter. Cloud-Sitzungen, einschließlich in einer selbstgehosteten Umgebung, senden Konversationen und Code-Kontext an Anthropics API zur Verarbeitung; lokale und SSH-Sitzungen senden diese an den Modell-Provider, den Ihre Bereitstellung konfiguriert, standardmäßig Anthropics API. Siehe Datenbehandlung für Details zu Datenspeicherung, Datenschutz und Compliance.
Bereitstellung
Desktop kann über Enterprise-Bereitstellungstools verteilt werden:
- macOS: Verteilen Sie über MDM wie Jamf oder Kandji mit dem
.dmg-Installer - Windows: Stellen Sie über das MSIX-Paket bereit. Siehe Claude Desktop für Windows bereitstellen für Enterprise-Bereitstellungsoptionen einschließlich stiller Installation
Für die Domänen, die Sie in Ihrer Firewall auf die Allowlist setzen müssen, siehe Netzwerkzugriffsanforderungen oben. Für Proxy-Einstellungen, benutzerdefinierte Zertifizierungsstellen und LLM-Gateways siehe Netzwerkkonfiguration.
Für die vollständige Enterprise-Konfigurationsreferenz siehe das Enterprise-Konfigurationshandbuch.
Kommen Sie von der CLI?
Wenn Sie bereits die Claude Code CLI verwenden, führt Desktop dieselbe zugrunde liegende Engine mit einer grafischen Benutzeroberfläche aus. Sie können beide gleichzeitig auf demselben Computer ausführen, sogar auf demselben Projekt. Jede behält ihre eigene Sitzungsliste, und Sie können eine CLI-Sitzung in Desktop bringen. Sie teilen Konfiguration und Projektgedächtnis über CLAUDE.md-Dateien.
Um eine CLI-Sitzung in Desktop zu verschieben, führen Sie /desktop im Terminal aus. Claude speichert Ihre Sitzung und öffnet sie in der Desktop-App, dann beendet die CLI. Dieser Befehl ist auf macOS und x64 Windows verfügbar, wenn Sie mit einem Claude-Abonnement angemeldet sind. Er ist nicht mit API-Schlüssel-Authentifizierung oder auf Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry verfügbar.
Aus Ihrer Shell öffnet claude --desktop Desktop direkt, ohne eine Terminal-Sitzung zu starten. Es erfordert Claude Code v2.1.285 oder später und hat die gleichen Plattform- und Anmeldeanforderungen wie /desktop. Ohne weitere Argumente öffnet es Desktop im aktuellen Verzeichnis. Um eine vorhandene CLI-Sitzung in Desktop zu öffnen, fügen Sie --continue für die neueste Konversation in diesem Verzeichnis hinzu, oder --resume mit der Sitzungs-ID, die /status anzeigt:
claude --desktop --resume <session-id>
Claude Code gibt Opening session <session-id> in Claude Desktop aus, die Sitzung öffnet sich in der App, und der Befehl wird beendet. Ein Sitzungsname funktioniert nicht anstelle der ID. Claude Code verschiebt keine Sitzung, die in einem anderen Terminal offen ist oder noch im Hintergrund läuft. Wenn Claude Desktop nicht installiert ist, gibt der Befehl einen Download-Link aus und wird beendet.
Sie können auch eine CLI-Sitzung von innen in Desktop aufgreifen mit /resume. Der Befehl ist in lokalen Sitzungen verfügbar, nicht in SSH-, WSL- oder Cloud-Sitzungen.
Um eine Terminal-Sitzung in Desktop fortzusetzen:
- Schließen Sie die Sitzung im Terminal.
- Geben Sie im Desktop-Eingabefeld
/resumeein. Desktop listet die Sitzungen auf, die Sie von der CLI auf diesem Computer gestartet haben. Suchen Sie nach Titel, Ordner oder Branch und sehen Sie eine Vorschau, wo jede endete. - Wählen Sie die Sitzung aus. Sie wird in der App mit ihrer vollständigen Konversation und ihrem Kontext fortgesetzt.
Desktop setzt dieselbe Sitzung fort, nicht eine Kopie, daher findet claude --resume im Terminal sie danach immer noch.
[!TIP]
Wann Desktop vs CLI verwendet werden: Verwenden Sie Desktop, wenn Sie parallele Sitzungen in einem Fenster verwalten, Panes nebeneinander anordnen oder Änderungen visuell überprüfen möchten. Verwenden Sie die CLI, wenn Sie Scripting, Automatisierung oder einen Terminal-Workflow bevorzugen.
CLI-Flag-Äquivalente
Diese Tabelle zeigt das Desktop-App-Äquivalent für häufige CLI-Flags. Flags, die nicht aufgelistet sind, haben kein Desktop-Äquivalent, da sie für Scripting oder Automatisierung konzipiert sind.
| CLI | Desktop-Äquivalent |
|---|---|
--model sonnet |
Modellauswahl in der Zeile unter dem Eingabefeld |
--resume, --continue |
Klicken Sie auf eine Sitzung in der Seitenleiste, oder geben Sie /resume in das Eingabefeld ein, um eine Sitzung aufzugreifen, die Sie von der CLI gestartet haben |
--permission-mode |
Moduswahlschalter in der Zeile unter dem Eingabefeld |
--dangerously-skip-permissions |
Bypass-Berechtigungsmodus. Aktivieren Sie auf Pro- und Max-Plänen „Bypass-Berechtigungsmodus zulassen“ in Einstellungen > Code oder Einstellungen > Claude Code; auf Team- und Enterprise-Plänen wird es durch die Organisationsrichtlinie gesteuert |
--add-dir |
Ordner zu einer Sitzung hinzufügen in lokalen und SSH-Sitzungen, oder wählen Sie in einer Cloud-Sitzung mehrere Repositorys aus |
--allowedTools, --disallowedTools |
Kein Pro-Sitzungs-Äquivalent. Berechtigungsregeln in Einstellungsdateien gelten weiterhin. |
--verbose |
Ausführlicher Ansichtsmodus |
--print, --output-format |
Nicht verfügbar. Desktop ist nur interaktiv. |
ANTHROPIC_MODEL Umgebungsvariable |
Modellauswahl in der Zeile unter dem Eingabefeld |
MAX_THINKING_TOKENS Umgebungsvariable |
Siehe Extended Thinking ausschalten |
Gemeinsame Konfiguration
Desktop und CLI lesen dieselben Konfigurationsdateien, daher wird Ihr Setup übertragen:
- CLAUDE.md und
CLAUDE.local.md-Dateien in Ihrem Projekt werden von beiden verwendet - MCP-Server, die in
~/.claude.jsonoder.mcp.jsonkonfiguriert sind, funktionieren in beiden - Hooks und Skills, die in Einstellungen definiert sind, gelten für beide
- Einstellungen in
~/.claude.jsonund~/.claude/settings.jsonwerden geteilt. Berechtigungsregeln, erlaubte Tools und andere Einstellungen insettings.jsongelten für Desktop-Sitzungen. - Modelle: die gleichen Modelle sind in beiden verfügbar. In Desktop wählen Sie das Modell über die Modellauswahl in der Zeile unter dem Eingabefeld. Sie können das Modell während der Sitzung über dieselbe Auswahl ändern.
MCP-Server aus der Claude Desktop Chat-App
Die Desktop-App lädt MCP-Server aus claude_desktop_config.json in lokale Code-Tab-Sitzungen, zusammen mit Servern aus ~/.claude.json und .mcp.json. Ein Server, der in claude_desktop_config.json definiert ist, ist sowohl auf der Desktop-Chat-Oberfläche als auch auf lokalen Code-Tab-Sitzungen verfügbar.
Wenn Sie denselben Servernamen in claude_desktop_config.json und in ~/.claude.json oder .mcp.json definieren, verbindet sich die Code-Registerkarte in lokalen Sitzungen einmal und verwendet die claude_desktop_config.json-Definition.
Die App liefert auch stdio-Server aus ~/.claude.json an die eingebettete CLI in lokalen Sitzungen erneut. Wenn die oberste Ebene von ~/.claude.json (Benutzerbereich) und .mcp.json denselben stdio-Servernamen definieren, verwendet die Code-Registerkarte die ~/.claude.json-Definition und weicht von der CLI Bereichshierarchie ab.
[!NOTE]
Die eigenständige CLI liest
claude_desktop_config.jsonnicht. Führen Sie auf macOS und WSLclaude mcp add-from-claude-desktopaus, um diese Server in~/.claude.jsonzu kopieren. Siehe MCP-Server aus Claude Desktop importieren für den Importablauf und Bereichsoptionen.
Funktionsvergleich
Diese Tabelle vergleicht Kernfunktionen zwischen CLI und Desktop. Für eine vollständige Liste der CLI-Flags siehe die CLI-Referenz.
| Funktion | CLI | Desktop |
|---|---|---|
| Berechtigungsmodi | Alle Modi einschließlich dontAsk |
Manuell, Bearbeitungen akzeptieren, Plan und Auto. Bypass-Berechtigungen erscheinen im Moduswahlschalter, sobald aktiviert: über den Einstellungsschalter auf Pro- und Max-Plänen oder über die Organisationsrichtlinie auf Team- und Enterprise-Plänen |
| Drittanbieter-Provider | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | Anthropic's API standardmäßig. Für Gateway-Routing siehe Desktop-App mit einem Gateway verbinden. Um die Code-Registerkarte auf Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry oder einem selbstgehosteten LLM-Gateway auszuführen, siehe Claude Desktop on 3P. |
| MCP-Server | In Einstellungsdateien konfigurieren | Konnektoren-UI für lokale und SSH-Sitzungen oder Einstellungsdateien |
| Plugins | /plugin-Befehl |
Plugin-Manager-UI |
| @mention-Dateien | Textbasiert | Mit Autovervollständigung, außer bei der ersten Nachricht einer Cloud-Sitzung |
| Dateianhänge | Nicht verfügbar | Bilder, PDFs |
| Sitzungsisolation | --worktree-Flag |
Eine Sitzung in einem eigenen Worktree ausführen |
| Mehrere Sitzungen | Separate Terminals | Seitenleisten-Tabs |
| Wiederkehrende Aufgaben | Cron-Jobs, CI-Pipelines | Geplante Aufgaben |
| Computernutzung | Aktivieren über /mcp auf macOS |
App- und Bildschirmsteuerung auf macOS und Windows |
| iOS-Simulator | Steuern Sie den Simulator über Computernutzung | iOS-Simulator-Bereich öffnet sich automatisch |
| Dispatch-Integration | Nicht verfügbar | Dispatch-Sitzungen in der Seitenleiste |
| Scripting und Automatisierung | --print, Agent SDK |
Nicht verfügbar |
Was ist nicht in Desktop verfügbar
Die folgenden Funktionen sind nicht in Desktop verfügbar, außer wo anders angegeben:
- Drittanbieter-Provider: Desktop verbindet sich mit Anthropic's API standardmäßig. Um Desktop durch ein Gateway zu leiten oder die Code-Registerkarte auf Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry oder einem selbstgehosteten LLM-Gateway auszuführen, folgen Sie den Links in der Drittanbieter-Provider-Zeile.
- Linux (Beta): Computernutzung ist noch nicht in der Linux-Desktop-App verfügbar. Siehe Claude Desktop auf Linux.
- Inline-Code-Vorschläge: Desktop bietet keine Codevervollständigungen im Stil einer Autovervollständigung. Es funktioniert über Prompts in der Konversation und explizite Code-Änderungen und kann Ihren nächsten Prompt vorschlagen, nachdem Claude geantwortet hat.
- Agent-Teams: Koordinierte Teams, bei denen Claude als Teamleiter Aufgaben an Teamkollegen aus einer gemeinsamen Aufgabenliste zuweist, sind in der CLI verfügbar, nicht in Desktop. Für Multi-Agent-Arbeit innerhalb einer Sitzung verwenden Sie dynamische Workflows, die in Desktop ausgeführt werden; Claude kann auch Nachrichten senden und Ihre anderen Sitzungen verwalten direkt.
- Terminal-Dialog-Befehle: Integrierte Befehle, die ein interaktives Panel im Terminal öffnen, verhalten sich in der Code-Registerkarte anders. Bearbeiten Sie Einstellungsdateien direkt, um Berechtigungsregeln und Konfiguration zu verwalten, oder führen Sie die Befehle aus der eigenständigen CLI aus.
- Befehle ohne Argumentform, wie
/permissions, antworten mitisn't available in this environment. /configöffnet Einstellungen > Code oder Einstellungen > Claude Code.
- Befehle ohne Argumentform, wie
Fehlerbehebung
Die folgenden Abschnitte behandeln Probleme, die spezifisch für die Desktop-App sind. Für Runtime-API-Fehler, die im Chat angezeigt werden, wie API Error: 500, 529 Overloaded, 429 oder Prompt is too long, siehe die Fehlerreferenz.
Überprüfen Sie Ihre Version
Um zu sehen, welche Version der Desktop-App Sie ausführen:
- macOS: Klicken Sie auf Claude in der Menüleiste und dann auf Über Claude
- Windows: Klicken Sie auf Hilfe und dann auf Über Claude
Klicken Sie auf die Versionsnummer, um sie in Ihre Zwischenablage zu kopieren.
Claude Code-Version auf der Registerkarte „Code“
Um zu sehen, welche Version von Claude Code eine Sitzung ausführt, geben Sie /status in einer lokalen Sitzung auf der Registerkarte Code ein und lesen Sie die Zeile Claude Code, die eine Version wie 2.1.286 anzeigt.
Um eine neuere Version für lokale Sitzungen zu erhalten, öffnen Sie unter macOS Claude → Nach Updates suchen bzw. unter Windows Hilfe → Nach Updates suchen und starten Sie dann eine neue Sitzung.
In einer lokalen Sitzung führt die Registerkarte Code ihre eigene Kopie von Claude Code aus, die eine eigene Versionsnummer hat. Die Desktop-App lädt diese Kopie herunter und aktualisiert sie. Daher kann sie sich vom Befehl claude in Ihrem Terminal unterscheiden, und das Aktualisieren der einen aktualisiert nicht die andere.
Überprüfen Sie, welches Layout Sie haben
Wenn eine neue Sitzung keine Umgebungsauswahl unter dem Eingabefeld hat, verwenden Sie das frühere Layout:
- Desktop älter als v2.37337.0: Aktualisieren Sie die App, um das aktuelle Layout zu erhalten. Wählen Sie unter macOS Claude → Nach Updates suchen bzw. unter Windows Hilfe → Nach Updates suchen.
- Drittanbieter mit Sitzungen auf Ihrem Computer: Das aktuelle Layout erfordert Claude Desktop v3.1623.0 oder höher, überprüfen Sie also Ihre Version. Zum Aktualisieren wählen Sie unter macOS Claude → Nach Updates suchen bzw. unter Windows Hilfe → Nach Updates suchen. Wenn Ihre Organisation automatische Updates deaktiviert, ist Nach Updates suchen ausgeblendet. Bitten Sie in diesem Fall Ihren Administrator um v3.1623.0 oder höher.
- Drittanbieter mit Sitzungen auf der Infrastruktur Ihrer Organisation: Wenn Ihre Organisation Sitzungen auf ihrer eigenen Infrastruktur statt auf Ihrem Computer ausführt, behält Desktop das frühere Layout bei, und ein Update ändert das Layout nicht. Wenn Sie nicht wissen, wo Ihre Sitzungen ausgeführt werden, fragen Sie Ihren Administrator.
Im früheren Layout wählen Sie die Umgebung und den Projektordner oberhalb des Eingabefelds sowie den Berechtigungsmodus und das Modell in der Zeile darunter. Dem früheren Layout fehlen der Bereich mit Sitzungsdetails und die gespeicherten lokalen und SSH-Umgebungen.
403 oder Authentifizierungsfehler auf der Registerkarte „Code“
Wenn Sie Error 403: Forbidden oder andere Authentifizierungsfehler bei der Verwendung der Registerkarte „Code“ sehen:
- Melden Sie sich aus dem App-Menü ab und wieder an. Dies ist die häufigste Lösung.
- Überprüfen Sie, ob Sie ein aktives bezahltes Abonnement haben: Pro, Max, Team oder Enterprise.
- Wenn die CLI funktioniert, aber Desktop nicht, beenden Sie die Desktop-App vollständig, nicht nur das Fenster schließen, und öffnen Sie sie dann erneut und melden Sie sich an.
- Überprüfen Sie Ihre Internetverbindung und Proxy-Einstellungen.
Leerer oder hängender Bildschirm beim Start
Wenn die App öffnet, aber einen leeren oder nicht reagierenden Bildschirm anzeigt:
- Starten Sie die App neu.
- Überprüfen Sie auf ausstehende Updates. Auf macOS und Windows wird die App beim Start automatisch aktualisiert; unter Linux aktualisieren Sie über apt wie in Claude Desktop unter Linux beschrieben.
- Überprüfen Sie auf einem verwalteten Netzwerk, dass Ihre Firewall die CDN-Hosts in Netzwerkzugriffsanforderungen zulässt.
- Überprüfen Sie unter Windows den Event Viewer auf Absturzprotokolle unter Windows Logs → Application.
„Fehler beim Laden der Sitzung“
Wenn Sie Failed to load session sehen, existiert der ausgewählte Ordner möglicherweise nicht mehr, ein Git-Repository benötigt möglicherweise Git LFS, das nicht installiert ist, oder Dateiberechtigungen verhindern möglicherweise den Zugriff. Versuchen Sie, einen anderen Ordner auszuwählen oder die App neu zu starten.
Sitzung findet installierte Tools nicht
Wenn Claude Tools wie npm, node oder andere CLI-Befehle nicht finden kann, überprüfen Sie, dass die Tools in Ihrem regulären Terminal funktionieren, überprüfen Sie, dass Ihr Shell-Profil PATH richtig einrichtet, und starten Sie die Desktop-App neu, um Umgebungsvariablen neu zu laden.
Git- und Git LFS-Fehler
Sitzungen, die in ihrem eigenen Worktree ausgeführt werden, benötigen Git. Wenn Sie „Git is required“ sehen, installieren Sie Git oder Git for Windows unter Windows und versuchen Sie es erneut. Unter Windows fragten Claude Desktop-Versionen vor 1.49585.0 nach Git, bevor eine lokale Sitzung gestartet wurde; wenn Sie diese Aufforderung sehen und keine Worktrees verwenden, aktualisieren Sie die App.
Wenn Sie „Git LFS is required by this repository but is not installed“ sehen, installieren Sie Git LFS von git-lfs.com, führen Sie git lfs install aus und starten Sie die App neu.
MCP-Server funktionieren nicht unter Windows
Wenn MCP-Server-Umschalter nicht reagieren oder Server unter Windows keine Verbindung herstellen, überprüfen Sie, dass der Server in Ihren Einstellungen richtig konfiguriert ist, starten Sie die App neu, überprüfen Sie, dass der Server-Prozess im Task Manager läuft, und überprüfen Sie Server-Protokolle auf Verbindungsfehler.
SSH host key verification failed
Jede dieser Meldungen bedeutet, dass Desktop einen Host-Schlüssel abgelehnt hat:
SSH host key verification failedoderHost denied (verification failed)unter View details auf einer KarteCouldn't connect to <host>Connection failed: Host key changed or not trustedbeim Eingabefeld oder nach Test connection<host>'s host key is not trustedoder<host>'s host key has changedbei einer getrennten Sitzung
Desktop lehnt einen Schlüssel meist ab, weil er sich von dem auf Ihrem Computer gespeicherten Schlüssel unterscheidet oder weil für diesen Computer kein Schlüssel gespeichert ist. Ein Computer, der neu aufgesetzt oder neu installiert wurde, präsentiert meist einen neuen Schlüssel, ebenso etwas, das die Verbindung abfängt. Überprüfen Sie den Schlüssel, bevor Sie sich erneut verbinden, ausgehend davon, was Desktop zusammen mit der Meldung anzeigt:
- Sie verwenden Windows, und Desktop meldet
Connection failed: Host key changed or not trusted: Schließen Sie zuerst einen fehlenden OpenSSH-Client aus - Desktop fordert Sie auf,
UserKnownHostsFilezu setzen: Setzen Sie es in~/.ssh/configauf~/.ssh/known_hostsund überprüfen Sie dann den Schlüssel in einem Terminal - Sie sehen eine Schaltfläche „Review new key“: Wählen Sie sie aus und vergleichen Sie den Fingerabdruck, den Desktop anzeigt, mit dem des Computers selbst. Wenn sie übereinstimmen, wählen Sie Trust new key, um den gespeicherten Schlüssel zu ersetzen. Andernfalls wählen Sie Cancel.
- Sie sehen keine Schaltfläche „Review new key“, Desktop zeigt
Couldn't show the new keyan, oder Desktop lehnt den Schlüssel nach „Trust new key“ erneut ab: Überprüfen Sie den Schlüssel in einem Terminal
Host-Schlüssel in einem Terminal überprüfen
Führen Sie ssh <SSH host> auf Ihrem Computer aus, mit dem Wert SSH host Ihrer SSH-Verbindung in Desktop. Fügen Sie -p <SSH port> hinzu, wenn die Verbindung einen Wert für SSH port hat. Verwenden Sie unter Windows PowerShell, da Desktop sich nicht mit dem ssh aus Git Bash oder WSL verbindet. Wenn PowerShell kein ssh findet, installieren Sie den OpenSSH-Client von Microsoft.
Achten Sie darauf, welchen Computer ssh in seiner Meldung nennt; das kann ein Jump-Host sein und nicht <SSH host>. Folgen Sie dann dem passenden Fall:
sshfragt, ob die Verbindung fortgesetzt werden soll: Vergleichen Sie den angezeigten Fingerabdruck mit dem des betreffenden Computers selbst. Antworten Sie nur dann mityes, wenn sie übereinstimmen.sshwarnt, dass sich der Host-Schlüssel geändert hat: Vergleichen Sie den Fingerabdruck aus der Warnung mit dem des betreffenden Computers selbst. Nur wenn sie übereinstimmen, löschen Sie die Zeile, dieOffending <type> key in <file>:<line>nennt, und führen Siessherneut aus. Wennssherneut wegen einer anderen Zeile warnt, vergleichen, löschen und wiederholen Sie wie zuvor.sshlehnt einen unbekannten Schlüssel ab, ohne nachzufragen: Besorgen Sie sich dieknown_hosts-Zeile dieses Computers von der Person, die ihn verwaltet, und zwar nicht über die Verbindung, die Sie gerade überprüfen. Fügen Sie die Zeile zu Ihrerknown_hosts-Datei hinzu, mit dem Namen aus der Meldung vonsshals Hostname, und führen Siessherneut aus.sshfährt mit der Anmeldung fort, ohne Sie nach dem Host-Schlüssel zu fragen: Geben Sie noch kein Passwort ein. Überprüfen Sie die Schlüssel, denensshbereits vertraut.
Sobald ssh einen Schlüssel akzeptiert, den Sie überprüft oder hinzugefügt haben, versuchen Sie es in Desktop erneut. Wenn Desktop den Schlüssel erneut ablehnt, siehe Desktop-Logs für ein SSH-Problem abrufen.
Schlüssel überprüfen, denen ssh bereits vertraut
Führen Sie denselben ssh-Befehl mit dem Zusatz -v -S none erneut aus. In der Ausgabe zeigt eine Zeile Server host key: einen Fingerabdruck, und die folgende Zeile Host '<name>' is known nennt den Computer, zu dem er gehört. Vergleichen Sie jeden gefundenen Fingerabdruck mit dem des betreffenden Computers selbst.
- Für einen Jump-Host gibt es keine Zeile
Server host key:: Führen Sie auchssh -v -S none <jump host>aus und vergleichen Sie diesen Fingerabdruck auf dieselbe Weise. - Ein Fingerabdruck stimmt nicht überein, oder Sie können ihn nicht überprüfen: Verbinden Sie sich nicht erneut. Entfernen Sie den gespeicherten Schlüssel: Unter
Host '<name>' is knownnennt die ZeileFound key in <file>:<line>die Datei, die ihn enthält. Führen Siessh-keygen -R "<name>" -f <file>aus. Wenn Sie Host-Schlüssel in mehr als einer Datei speichern, entfernen Sie den Schlüssel aus jeder Datei. Wenn Sie eine Datei nicht ändern können, wenden Sie sich an die Person, die Ihren Computer verwaltet. - Alle Fingerabdrücke stimmen überein: Versuchen Sie es in Desktop erneut. Wenn Desktop den Schlüssel erneut ablehnt, siehe Desktop-Logs für ein SSH-Problem abrufen.
SSH-Host-Schlüssel wird unter Windows ohne OpenSSH-Client abgelehnt
Unter Windows ohne OpenSSH-Client lehnt Desktop selbst einen korrekten Host-Schlüssel mit Connection failed: Host key changed or not trusted ab. Desktop benötigt den Client, um gespeicherte Schlüssel nachzuschlagen. Um zu prüfen, ob Sie einen haben, führen Sie ssh in PowerShell aus. Wenn PowerShell ssh nicht erkennt, installieren Sie den OpenSSH-Client von Microsoft und starten Sie Desktop neu.
Verbinden Sie sich dann erneut. Wenn Desktop fragt, ob Sie sich zum ersten Mal verbinden möchten, überprüfen Sie den Host-Schlüssel des Computers, bevor Sie ihm vertrauen. Wenn Desktop den Schlüssel weiterhin ablehnt, folgen Sie den anderen Fällen unter SSH host key verification failed.
SSH-Verbindung schlägt nach der Anmeldung fehl
Suchen Sie in dieser Tabelle den Titel der Karte oder den Code am Ende der Fehlermeldung und gehen Sie dann so vor, wie in der letzten Spalte angegeben. Um die Meldung zu sehen, wählen Sie auf der Fehlerkarte View details aus.
| Titel auf der Karte | Code | Vorgehensweise |
|---|---|---|
<host>'s SSH server has SFTP turned off |
[SFTP_UNAVAILABLE] |
Aktivieren Sie SFTP in der sshd_config des Servers, wie unter Anforderungen an den Remote-Computer beschrieben |
SFTP doesn't start on <host> |
[SFTP_NOT_STARTED] |
Stellen Sie in einem Terminal auf Ihrem Computer mit sftp eine Verbindung zum selben Host her, um zu sehen, was den Start verhindert, und überprüfen Sie dann die Einstellungen und Dateien, die in der Meldung von Desktop genannt werden |
<host> allows too few SSH sessions per connection |
[SESSION_LIMIT] |
Aktualisieren Sie auf Claude Desktop v3.1623.0 oder höher, oder erhöhen Sie MaxSessions in der sshd_config des Servers, zum Beispiel auf den OpenSSH-Standardwert 10 |
<host> is out of disk space |
[ENOSPC] oder [EDQUOT] |
Geben Sie auf dem Remote-Computer Speicherplatz oder Kontingent frei, in Ihrem Home-Verzeichnis oder in /tmp |
Free up disk space on this computer |
[ENOSPC] oder [EDQUOT], in einer Meldung, die mit Couldn't prepare the deploy locally beginnt |
Geben Sie Speicherplatz auf Ihrem Computer frei |
Claude Code won't start on <host> |
[CLI_UNRESPONSIVE] |
Warten Sie eine Minute und versuchen Sie es dann erneut. Wenn es weiterhin fehlschlägt, führen Sie den in der Meldung genannten Befehl auf dem Remote-Computer aus, um zu sehen, ob Claude Code dort antwortet. |
Bei allen anderen Meldungen überprüfen Sie die Anforderungen an den Remote-Computer.
Desktop-Logs für ein SSH-Problem abrufen
Sie erhalten ssh.log, die Aufzeichnung von Desktop über seine SSH-Verbindungen, in einer ZIP-Datei mit den Logs von Desktop, die Sie über das Menü Hilfe speichern. Um sie zu speichern, öffnen Sie Hilfe > Fehlerbehebung und wählen Sie den Eintrag für Ihr System aus:
- macOS: Logs im Finder anzeigen
- Windows: Logs im Datei-Explorer anzeigen
- Linux: Logs im Dateimanager anzeigen
Sehen Sie die Dateien durch, bevor Sie sie senden, da sie Namen und andere Details aus Ihrer Umgebung enthalten können. <host> und <user> stehen für Namen, die Desktop ersetzt hat. Desktop ersetzt nicht jeden Namen, und ein SSH-Host- oder Benutzername kann weiterhin im Klartext erscheinen. Wenn Sie die ZIP-Datei an jemanden senden, teilen Sie mit, welcher Host wann fehlgeschlagen ist, da die Logs ihn möglicherweise nicht nennen.
Die ZIP-Datei enthält nicht das Log des Hilfsprogramms, das Desktop auf dem Remote-Computer installiert. Um auch dieses Log zu erhalten, kopieren Sie remote-server.log aus dem Ordner des Hilfsprogramms unter ~/.claude/remote/run/ im Home-Verzeichnis des Benutzers, der die Verbindung hergestellt hat. Sehen Sie auch diese Datei durch, bevor Sie sie senden.
App wird nicht beendet
- macOS: drücken Sie Cmd+Q. Wenn die App nicht reagiert, verwenden Sie Force Quit mit Cmd+Option+Esc, wählen Sie Claude und klicken Sie auf Force Quit.
- Windows: verwenden Sie Task Manager mit Strg+Umschalt+Esc, um den Claude-Prozess zu beenden.
Windows-spezifische Probleme
- PATH nicht aktualisiert nach Installation: Öffnen Sie ein neues Terminal-Fenster. PATH-Updates gelten nur für neue Terminal-Sitzungen.
- Fehler bei gleichzeitiger Installation: Wenn Sie einen Fehler über eine andere Installation sehen, die läuft, aber es gibt keine, versuchen Sie, das Installationsprogramm als Administrator auszuführen.
„Branch existiert noch nicht“ beim Öffnen in CLI
Cloud-Sitzungen können Branches erstellen, die auf Ihrem lokalen Computer nicht existieren. Klicken Sie in der Sitzung auf den Branch-Namen und wählen Sie Copy branch name, und rufen Sie ihn dann lokal ab:
git fetch origin <branch-name>
git checkout <branch-name>
Immer noch stecken?
- Öffnen Sie Hilfe → Support erhalten in der Desktop-App, oder besuchen Sie das Claude Support Center direkt
- Für Probleme, die auch in der eigenständigen
claudeCLI reproduzierbar sind, suchen Sie oder melden Sie einen Fehler auf GitHub Issues
Wenn Sie einen Fehler melden, geben Sie Ihre Desktop-App-Version, Ihr Betriebssystem, die genaue Fehlermeldung und relevante Protokolle an. Überprüfen Sie auf macOS Console.app. Überprüfen Sie unter Windows Event Viewer → Windows Logs → Application. Überprüfen Sie Protokollauszüge, bevor Sie sie in einem öffentlichen Issue posten; sie können Dateipfade und andere Details aus Ihrer Umgebung enthalten.