← Alle Beitrage

Claude Code Mac Desktop + Remote Control: Ein Leitfaden für CLI-Nutzer

From the guide: Claude Code Comprehensive Guide

Die Claude Code Mac-Desktop-App und der Befehl claude remote-control lösen dasselbe Problem aus entgegengesetzten Richtungen. Die Desktop-App stellt Ihnen ein Fenster mit drei Tabs (Chat, Cowork, Code) und einen Workspace zur Verfügung, den Sie um Ihren Code herum anordnen können. Remote Control bietet Ihnen das genaue Gegenteil: gar kein Fenster auf Ihrer lokalen Maschine, nur einen Prozess, der Ihre lokale Sitzung an die Claude-App auf Ihrem Smartphone oder an claude.ai/code in einem beliebigen Browser ausliefert.1

Wenn Sie mit claude im Terminal aufgewachsen sind, wirken beide Oberflächen zunächst befremdlich. Warum sollte ich eine GUI wollen, wenn das TUI doch ausreicht? Warum sollte ich meinen Mac vom Smartphone aus steuern wollen, wenn der Mac doch direkt vor mir steht? Die Antwort auf beide Fragen ist dieselbe: Ihre lokale Umgebung ist der Teil, den Sie nicht verschieben können. Dateisystem, MCP-Server (Yurei, Cloudflare, GitHub), Xcode, Code-Signing-Identitäten, Ihr Yurei-Socket, Ihr ~/.claude/projects/-Verlauf. All das lebt auf der Maschine. Die Desktop-App und Remote Control sind zwei Wege, von woanders aus auf diese Umgebung zuzugreifen: ein anderes Fenster, ein anderes Gerät, vom Sofa, aus einem Meeting.

Dieser Aufsatz ist die Referenz, die ich gerne gehabt hätte, als ich umgestiegen bin. Er behandelt die drei Modi (lokales CLI, Cloud, lokal + Remote Control), wie Sie jeden einrichten, welche Slash-Befehle wo funktionieren, die Push-Benachrichtigungs-Story und die spezifischen Punkte, an denen die Desktop-App von claude im Terminal abweicht. Ehrlich, was die Einschränkungen angeht. Kein Füllmaterial.

TL;DR

  • Drei Modi, die von claude.ai/code aus ähnlich aussehen, aber sehr unterschiedlich laufen: Lokales CLI, Cloud-Sitzung (claude --remote vom Terminal, die Remote-Umgebung im Desktop oder das Starten einer neuen Sitzung auf claude.ai/code) und Lokal + Remote Control. Nur der erste und der dritte Modus haben Zugriff auf Ihr Dateisystem, Ihre MCP-Server und Xcode.12
  • Der Code-Tab der Mac-Desktop-App ist eine grafische Claude Code-Sitzung: dieselbe Engine wie das CLI, dieselbe ~/.claude.json-Konfiguration, dieselbe CLAUDE.md, dieselben MCP-Server. Allerdings hat er sein eigenes Bereichslayout, Side-Chats und eine Sitzungs-Seitenleiste.2
  • claude remote-control (Server-Modus) hält den Prozess lokal am Laufen und erlaubt Ihnen, sich von jedem Gerät aus zu verbinden. claude --remote-control ist eine interaktive Sitzung mit aktiviertem Remote Control. /remote-control ist dasselbe als Slash-Befehl aus einer bereits bestehenden Sitzung heraus.1
  • Push-Benachrichtigungen der iOS-App funktionieren über /config → „Push, wenn Claude entscheidet” (v2.1.110+). Claude schickt einen Push, wenn eine lange Aufgabe abgeschlossen ist oder eine Eingabe von Ihnen benötigt wird.13
  • Für native macOS- oder iOS-Builds ist Lokales CLI oder Lokal + Remote Control die einzige Umgebung, die tatsächlich funktioniert. Cloud-Sitzungen können kein Xcode ausführen, nicht signieren und Ihren lokalen Yurei-Socket nicht sehen.2

Die drei Modi, auf die es ankommt

Dieselbe claude.ai/code-URL, dasselbe iOS-App-Symbol, drei völlig unterschiedliche Laufzeitumgebungen dahinter.

1. Lokales CLI

Das ist claude im Terminal. Der Prozess läuft auf Ihrem Mac. Die Sitzung lebt unter ~/.claude/projects/<projektpfad>/<session-id>.jsonl auf der Festplatte, nicht in Ihrem Anthropic-Konto.4 Ihr iPhone kann sie nicht sehen. Es gibt keine Remote-Oberfläche.

Was Sie bekommen:

  • Vollständigen Dateisystemzugriff: ~/Projects, ~/.claude/, überall, wo der Benutzer Lese-/Schreibrechte hat
  • Alle Ihre MCP-Server: Yurei (/tmp/yurei.sock), Cloudflare, GitHub, Supabase, Playwright usw.
  • Xcode, Simulatoren (xcrun simctl), Code-Signing-Identitäten, App Store Connect
  • Lokal installierte Plugins, Skills und Hooks
  • Voice-Modus (/voice)
  • Jedes CLI-Flag (--worktree, --rc, --print, --output-format usw.)

Was Sie nicht bekommen: irgendeine Möglichkeit, die Sitzung von einem anderen Gerät aus zu sehen oder zu steuern.

Für einen Mac-App-Build (Return, Get Bananas, Water, die Apps in den Beiträgen App Intents und MCP-Server) funktioniert Lokales CLI einwandfrei. Genauso wie Lokal + Remote Control (im Abschnitt 3 unten behandelt): beide halten den Claude-Prozess auf Ihrem Mac, sodass beide Xcode, Simulatoren und Signing erreichen. Die Cloud-Sitzung ist das, was die Apple-Toolchain nicht ausführen kann.

2. Cloud-Sitzung

Das ist claude --remote "task" aus dem Terminal, das Auswählen von Remote beim Starten einer Desktop-App-Sitzung oder das Aufrufen von claude.ai/code im Web und das Starten einer neuen Sitzung dort. Der Claude Code-Prozess läuft auf der verwalteten Cloud-Infrastruktur von Anthropic, nicht auf Ihrer Maschine.2 (Ältere Dokumente und Shell-Gewohnheiten zeigen manchmal & task als Kurzform für dasselbe Ergebnis; betrachten Sie das explizite --remote-Flag als die kanonische Form.)

Was Sie bekommen:

  • Persistenz über Maschinen und Geräte hinweg: sichtbar von Ihrem iPhone, iPad, Browser
  • Läuft weiter, nachdem Sie die App geschlossen oder Ihren Laptop heruntergefahren haben
  • Eine von Anthropic verwaltete Umgebung, kein lokales Setup erforderlich
  • Multi-Repo-Unterstützung: Cloud-Sitzungen können mehrere GitHub-Repositorys in denselben Workspace klonen2

Was Sie nicht bekommen:

  • Keinen Dateisystemzugriff auf ~/Projects
  • Keine lokalen MCP-Server (Yurei-Socket, lokale Cloudflare-Cache-Skripte, benutzerdefinierte MCPs in .mcp.json sind nicht erreichbar)
  • Kein Xcode, keine Simulatoren, kein Signing
  • Kann Ihre ~/.claude/-Konfiguration oder Skills nicht sehen (nur das, was im .claude/ des geklonten Repos liegt)
  • Kann keine Dateien per @mention ansprechen (die @-Autovervollständigung greift auf das lokale Projekt zurück; Cloud-Sitzungen haben keines)2

Anwendungsfall: eine in sich geschlossene Coding-Aufgabe ohne Abhängigkeit von der Apple-Toolchain. Ein PR-Review öffnen, eine Test-Suite ausführen, eine Datei refaktorieren, ein Python-Skript schreiben. Alles, wofür Sie nur git + Standard-Linux + Python/Node benötigen.

3. Lokal + Remote Control

Das ist die dritte Option, diejenige, die die meisten CLI-Nutzer übersehen. Es gibt drei Wege, sie zu aktivieren: claude remote-control (Server-Modus), claude --remote-control (oder --rc, eine interaktive Sitzung mit eingeschaltetem Remote Control) oder /remote-control aus einer bereits bestehenden Sitzung. Der Claude Code-Prozess läuft weiter auf Ihrem Mac mit vollem lokalen Zugriff, registriert sich aber zusätzlich beim Anthropic API, sodass Sie ihn von Ihrem iPhone, iPad oder Browser aus steuern können.1

Was Sie bekommen: alles, was Lokales CLI hat, plus ein Smartphone, von dem aus Sie Prompts senden können. Die Konversation bleibt über alle verbundenen Geräte hinweg synchron. Sie können eine Nachricht vom Mac-Terminal senden, sie auf dem iPhone sehen, eine Folgenachricht auf dem iPhone tippen und sie wieder im Terminal sehen. Der lokale Prozess macht weiterhin die Arbeit; Ihr Smartphone ist nur ein Fenster.

Was Sie aufgeben: einen kleinen, spezifischen Satz von Slash-Befehlen. Die Dokumentation nennt explizit /mcp, /plugin und /resume als nur lokal verfügbar (sie öffnen jeweils einen interaktiven Picker, der ein Terminal benötigt). Die Dokumentation listet explizit die Befehle auf, die Textausgabe erzeugen und vom Mobilgerät und Web aus funktionieren: /compact, /clear, /context, /usage, /exit, /extra-usage, /recap, /reload-plugins.1

Das ist die Antwort für native macOS- oder iOS-App-Builds. Sie bekommen Xcode, Sie bekommen MCP, Sie bekommen den Yurei-Socket und Sie bekommen Smartphone-Sichtbarkeit.

Die Mac-Desktop-App einrichten

Die Desktop-App und das CLI sind keine Alternativen. Sie sind zwei Clients für dieselbe Engine. Sie können beide gleichzeitig auf derselben Maschine ausführen, sogar im selben Projekt. Jeder verfolgt seinen eigenen Sitzungsverlauf, aber sie teilen sich CLAUDE.md, ~/.claude.json, MCP-Server, Hooks und Skills.2

Laden Sie die App von claude.com/download herunter. Installieren Sie sie. Melden Sie sich mit Ihrem claude.ai-Konto an. Die App hat drei Tabs:2

  • Chat für reguläre Claude-Konversationen
  • Cowork für Dispatch (lang laufende Aufgaben, optional vom Smartphone aus angestoßen)
  • Code für Claude Code mit grafischer Benutzeroberfläche

Der Code-Tab ist das, was uns interessiert. Klicken Sie in der Seitenleiste auf + New session. Konfigurieren Sie vier Dinge im Eingabebereich:2

  1. Environment: Local (dieser Mac), Remote (Anthropic-Cloud) oder SSH (eine von Ihnen verwaltete Remote-Maschine)
  2. Project folder: das Verzeichnis, in dem Claude arbeitet
  3. Model: Sonnet 4.6, Opus 4.6, Opus 4.7 oder andere
  4. Permission mode: Ask, Auto-accept edits, Plan, Auto oder Bypass permissions

Tippen Sie Ihren Prompt, drücken Sie Enter. Ab hier fühlt es sich an wie eine Chat-App: Nachrichten stapeln sich, Tool-Aufrufe werden als ausklappbare Karten gerendert, und ein Diff-Statistik-Indikator (+12 -1) erscheint, wenn sich Dateien ändern. Klicken Sie auf den Indikator, um den Diff-Viewer mit Datei-für-Datei-Review und zeilenweisen Kommentaren zu öffnen.2

Bei lokalen Sitzungen vervollständigt die @-Taste im Eingabefeld Dateipfade aus Ihrem Projekt: genauso wie die @-Erwähnung im CLI. Bei Remote-Sitzungen ist @ deaktiviert, weil der Cloud-Prozess Ihre lokalen Dateien nicht sehen kann.2

Voraussetzungen, bevor Sie starten

Vier Voraussetzungen für jede Remote-Control-Sitzung:1

  • Claude Code v2.1.51 oder neuer (prüfen mit claude --version).
  • Abonnement: Pro, Max, Team oder Enterprise. API-Schlüssel werden nicht unterstützt. Bei Team und Enterprise muss ein Administrator zuerst den Remote Control-Schalter unter claude.ai/admin-settings/claude-code aktivieren.
  • Authentifizierung: führen Sie claude aus und nutzen Sie /login (claude.ai-Option), falls Sie es noch nicht getan haben. Inferenz-Tokens von claude setup-token oder die Umgebungsvariable CLAUDE_CODE_OAUTH_TOKEN funktionieren nicht.
  • Workspace-Vertrauen: führen Sie claude mindestens einmal in Ihrem Projektverzeichnis aus und akzeptieren Sie den Workspace-Trust-Dialog.

Vier Wege, eine Remote-Control-Sitzung zu starten

Die aktuelle Dokumentation listet vier Aufrufoberflächen auf (drei aus dem CLI plus einen VS-Code-Befehl). Die Mac-Desktop-App ist kein Remote-Control-Host; Remote Control wird vom claude (CLI) oder der VS-Code-Erweiterung gehostet.1

Server-Modus: claude remote-control

cd ~/Projects/blakecrosley.com
claude remote-control

Das Terminal wird zum Server. Keine interaktive Eingabeaufforderung. Es zeigt eine Sitzungs-URL an und (wenn Sie die Leertaste drücken) einen QR-Code. Verbinden Sie sich von einem anderen Gerät, indem Sie die URL öffnen oder den QR-Code scannen. Während die Sitzung aktiv ist, zeigt das Terminal den Verbindungsstatus und die Tool-Aktivität an.

Nützliche Flags:1

  • --name "My Project": benutzerdefinierter Sitzungstitel, sichtbar unter claude.ai/code
  • --remote-control-session-name-prefix <prefix>: überschreibt den automatischen Namen (Standard ist der Hostname Ihrer Maschine, was Namen wie myhost-graceful-unicorn erzeugt)
  • --spawn same-dir (Standard): alle Sitzungen teilen sich das aktuelle Arbeitsverzeichnis
  • --spawn worktree: jede Sitzung erhält ihren eigenen Git-Worktree (erfordert ein Git-Repo); drücken Sie zur Laufzeit w, um zwischen same-dir und worktree umzuschalten
  • --spawn session: Einzelsitzungsmodus, lehnt zusätzliche Verbindungen ab; nur beim Start setzbar
  • --capacity N: maximale Anzahl gleichzeitiger Sitzungen (Standard 32, nicht mit --spawn=session kombinierbar)
  • --sandbox / --no-sandbox: Dateisystem- und Netzwerkisolation umschalten (standardmäßig aus)

Der Server-Modus ist die richtige Wahl, wenn Sie die Sitzung starten und weggehen möchten. Das Terminal ist nun ein Daemon, kein Workspace mehr.

Interaktiv: claude --remote-control

claude --remote-control
# oder kürzer
claude --rc

Wie eine normale interaktive Sitzung, jedoch mit eingeschaltetem Remote Control. Sie können Nachrichten lokal und von claude.ai/code oder der iOS-App tippen. Die Konversation bleibt synchron. Optional: claude --rc "Project Name".

Verwenden Sie dies, wenn Sie weiter am Terminal arbeiten möchten, aber gleichzeitig Smartphone-Sichtbarkeit wünschen. Das ist der häufigste Fall.

Slash-Befehl: /remote-control

Sie sind bereits in einer Sitzung und möchten Remote Control speziell für diese Konversation aktivieren? Tippen Sie /remote-control (oder /rc). Der aktuelle Konversationsverlauf wird übernommen, und eine Sitzungs-URL + QR erscheinen. Übergeben Sie einen Namen: /remote-control My Project.

Die Flags --verbose, --sandbox und --no-sandbox funktionieren mit der Slash-Form nicht: nur mit claude remote-control (Server-Modus).

VS-Code-Erweiterung

Tippen Sie in der Claude Code-VS-Code-Erweiterung /remote-control (oder /rc) im Eingabefeld ein, oder öffnen Sie das Befehlsmenü mit / und wählen Sie es aus. Erfordert Claude Code v2.1.79 oder neuer.1 Über dem Eingabefeld erscheint ein Banner mit dem Verbindungsstatus. Klicken Sie auf Open in browser, um direkt zur Sitzung zu springen, oder finden Sie sie in der Sitzungsliste unter claude.ai/code. Trennen Sie die Verbindung, indem Sie auf das Schließen-Symbol im Banner klicken oder erneut /remote-control ausführen.

Der VS-Code-Befehl akzeptiert kein Namensargument und zeigt keinen QR-Code an. Der Sitzungstitel wird aus dem Konversationsverlauf oder dem ersten Prompt abgeleitet.

Immer aktiv: /config → „Enable Remote Control for all sessions”

Wenn Sie möchten, dass jede interaktive claude-Sitzung standardmäßig eine Remote-Sitzung registriert, führen Sie /config aus und stellen Sie Enable Remote Control for all sessions auf true.1 Jeder interaktive Prozess bekommt eine Remote-Sitzung. Mehrere Instanzen → mehrere Sitzungen. Für mehrere gleichzeitige Sitzungen aus einem einzigen Prozess heraus ist der Server-Modus weiterhin das richtige Werkzeug.

Die Push-Benachrichtigungs-Story

Push auf Ihr Smartphone, wenn etwas Interessantes passiert. Das Setup hat vier Schritte:13

  1. Installieren Sie die Claude-App für iOS oder Android. Innerhalb von Claude Code zeigt /mobile einen Download-QR-Code an, falls Sie die App noch nicht haben.
  2. Melden Sie sich mit demselben Claude-Konto an, das Sie für Claude Code im Terminal verwenden.
  3. Akzeptieren Sie die Benachrichtigungs-Berechtigungsabfrage des Betriebssystems.
  4. Führen Sie im Terminal /config aus und aktivieren Sie Push when Claude decides (v2.1.110+).

Danach entscheidet Claude, wann gepusht wird. Zwei Fälle lösen es aus: eine lang laufende Aufgabe, die fertig wird, oder Claude, das Ihre Eingabe zum Weitermachen benötigt. Sie können auch explizit eine Push-Anforderung in Ihrem Prompt stellen: notify me when the tests finish. Es gibt keine Konfiguration pro Ereignis: es ist an oder aus.

Wenn Sie die Einstellung aktivieren, aber keine Benachrichtigungen sehen, ist die häufigste Lösung: öffnen Sie die Claude-App auf Ihrem Smartphone, damit sie ihren Push-Token aktualisieren kann. Der /config-Bildschirm zeigt No mobile registered an, bis das geschieht. iOS-Fokus-Modi und die Akku-Optimierung von Android können die Zustellung ebenfalls verzögern oder unterdrücken; prüfen Sie unter Einstellungen → Mitteilungen → Claude unter iOS oder schließen Sie die Claude-App unter Android von der Akku-Optimierung aus.1

Als Hintergrund: ein separates push-notification-Tool (ebenfalls v2.1.110+) erlaubt es Claude selbst, während einer Sitzung Benachrichtigungen zu senden, nicht nur am Aufgabenende. Es nutzt dieselbe Remote-Control-Oberfläche, ohne zusätzliches Setup.3

Slash-Befehle, die remote funktionieren

Das ist der Teil, der den meisten CLI-Nutzern wichtig ist. Wenn Sie auf Ihrem Smartphone statt im Terminal tippen, was funktioniert?

Funktioniert von jedem verbundenen Client (Terminal, Browser, iOS-App):1

  • /compact, /clear: Kontextverwaltung
  • /context, /usage, /extra-usage: Verbrauchs- und Kontext-Inspektion (v2.1.113+ fügte Remote-Control-Unterstützung für /extra-usage hinzu)
  • /exit, /recap, /reload-plugins
  • Jede Texteingabe ohne Picker (reguläre Prompts, normale Slash-Befehle, die Textausgabe erzeugen)

Nur lokal (nur Terminal):1

  • /mcp: öffnet einen interaktiven Picker
  • /plugin: öffnet einen interaktiven Picker
  • /resume: muss eine Sitzungsliste mit Auswahl-UI rendern

Das Muster: alles, was eine Listenauswahl per Tastatur im Terminal erfordert, bleibt lokal. Alles, was Text-rein/Text-raus ist, funktioniert vom Mobilgerät oder Web aus.

Manche Befehle haben versionsspezifische Remote-Control-Unterstützung. /extra-usage funktioniert nur in v2.1.113 und neuer von Remote-Control-Clients aus: frühere Versionen scheiterten still.5 Es lohnt sich, claude --version zu prüfen, wenn ein Befehl sich von Ihrem Smartphone aus anders verhält als auf Ihrem Mac.

Berechtigungsmodi sind ein wenig anders

Die Desktop-App hat fünf Berechtigungsmodi; das CLI hat diese fünf plus dontAsk:2

Modus Verhalten CLI? Desktop?
Ask permissions (default) Fragt vor jeder Bearbeitung/jedem Befehl
Auto accept edits (acceptEdits) Akzeptiert automatisch Dateibearbeitungen + sichere Dateisystembefehle; fragt beim Rest nach
Plan mode (plan) Liest/erkundet, schlägt einen Plan vor, keine Quelländerungen
Auto (auto) Hintergrund-Sicherheitsprüfungen, weniger Eingabeaufforderungen
Bypass permissions (bypassPermissions) Keine Eingabeaufforderungen. Entspricht CLI---dangerously-skip-permissions. Empfehlung von Anthropic: nur in Sandbox-Containern oder VMs verwenden. ✓ (Opt-in über Einstellungen)
dontAsk Nur vorab genehmigte Tools

dontAsk ist nur im CLI verfügbar. Alles andere wird auf ein UI-Element neben dem Senden-Knopf abgebildet. Das CLI-Flag --dangerously-skip-permissions entspricht Bypass permissions, was Sie über Einstellungen → Claude Code → „Allow bypass permissions mode” aktivieren müssen.2

Der Auto-Modus erfordert Claude Sonnet 4.6, Opus 4.6 oder Opus 4.7 unter Team/Enterprise/API; Opus 4.7 unter Max. Nicht verfügbar in Pro-Tarifen oder bei Drittanbietern.2

Der Cowork-Tab und Dispatch (verwandt, aber nicht dasselbe)

Der Cowork-Tab der Desktop-App ist eine andere Funktion mit überschneidender Ergonomie. Dispatch ist „eine Aufgabe von Ihrem Smartphone aus an Claude senden, und es entscheidet, ob es die Aufgabe selbst übernimmt oder eine Code-Sitzung auf Ihrem Mac startet.”2

Die Kopplung erfolgt einmalig: installieren Sie die Claude-Mobile-App, verknüpfen Sie sie über den Cowork-Tab mit Ihrem Mac. Danach können Sie Dispatch eine Aufgabe per Text schicken („behebe den Login-Bug, öffne einen PR”), und es leitet die Arbeit weiter. Bug-Fixes, Abhängigkeits-Updates, Test-Läufe und PR-Erstellung enden typischerweise als Code-Sitzungen auf Ihrem Mac mit einem Dispatch-Badge in der Seitenleiste. Recherche, Dokumentbearbeitung und Tabellenkalkulationsarbeit bleiben in Cowork.

App-Genehmigungsberechtigungen für von Dispatch gestartete Code-Sitzungen laufen nach 30 Minuten ab (vs. der gesamten Sitzungsdauer bei regulären Code-Sitzungen), sodass eine lang laufende Dispatch-Aufgabe Sie erneut nach App-Berechtigungen fragen kann, die Sie bereits genehmigt hatten.2

Dispatch benötigt Pro oder Max. Nicht verfügbar bei Team oder Enterprise.

Das ist nicht Remote Control. Dispatch ist „Claude eine Aufgabe zur autonomen Ausführung schicken”; Remote Control ist „eine bereits laufende Sitzung steuern”. Sie sind als unabhängige Oberflächen dokumentiert: Remote Control wird vom CLI oder VS Code gehostet, Dispatch startet Desktop-Code-Sitzungen, und die Dokumentation beschreibt derzeit nicht, wie sie kombiniert werden. Wählen Sie eines, je nachdem, ob Sie delegieren (Dispatch) oder steuern (Remote Control) möchten.

Was vom CLI übernommen wird

Die Desktop-App liest dieselben Konfigurationsdateien wie das CLI:2

  • CLAUDE.md und CLAUDE.local.md in Ihrem Projekt
  • ~/.claude.json (global) und .mcp.json (pro Projekt) für MCP-Server
  • Hooks und Skills, die in ~/.claude/settings.json oder .claude/settings.json definiert sind
  • Berechtigungsregeln in settings.json
  • Alle verfügbaren Modelle

CLI-Flag → Desktop-Äquivalent:2

CLI Desktop
--model sonnet Modell-Dropdown neben dem Senden-Knopf
--resume, --continue Klick auf eine Sitzung in der Seitenleiste
--permission-mode Modus-Auswahl neben dem Senden-Knopf
--dangerously-skip-permissions Bypass permissions (Opt-in über Einstellungen)
--add-dir +-Knopf zum Hinzufügen von Repos in Remote-Sitzungen
--allowedTools, --disallowedTools Keine pro-Sitzung-UI; Regeln aus Settings-Dateien gelten weiterhin
--verbose Verbose-Ansichtsmodus im Transcript-Dropdown
--print, --output-format Nicht verfügbar: Desktop ist nur interaktiv
Umgebungsvariable ANTHROPIC_MODEL Modell-Dropdown
Umgebungsvariable MAX_THINKING_TOKENS Lokaler Umgebungs-Editor

Eine Konfigurations-Stolperfalle, die hervorzuheben ist: die Claude-Desktop-Chat-App (der reine Chat-Client unter claude_desktop_config.json) und Claude Code Desktop (der Dev-Client, von dem wir hier sprechen) sind unterschiedliche Produkte. MCP-Server, die für die Chat-App konfiguriert sind, erscheinen nicht im Code-Tab. Code liest ~/.claude.json und .mcp.json, nicht claude_desktop_config.json.2

CLI → Desktop: Wann umsteigen

Die Desktop-App glänzt bei drei Dingen, die das CLI nicht gut macht:2

  1. Parallele Sitzungen nebeneinander: jede Code-Tab-Sitzung erhält ihren eigenen Git-Worktree unter <project-root>/.claude/worktrees/. Wechseln Sie mit Ctrl+Tab / Ctrl+Shift+Tab. Lassen Sie ein Refactoring in einer Sitzung laufen, während eine Test-Suite in einer anderen läuft, und überprüfen Sie sie visuell statt über ANSI-Escape-Codes.
  2. Visuelle Diff-Überprüfung: klicken Sie auf den +12 -1-Indikator. Kommentieren Sie Zeilen. Senden Sie Kommentare mit Cmd+Enter an Claude zurück. Schlägt das Lesen von Inline-Diffs in einem Terminal.
  3. Eingebetteter Vorschaubereich: Claude kann einen Dev-Server starten und die laufende App in einem eingebetteten Browser öffnen, Screenshots aufnehmen, herumklicken und seine eigenen Änderungen verifizieren. Die Auto-Verifizierung ist standardmäßig pro Projekt eingeschaltet (Umschaltung in .claude/launch.json oder über das Preview-Dropdown).2

Das CLI gewinnt weiterhin bei: Skripting (--print, --output-format), Automatisierung (Cron-Jobs, CI), tmux/screen-Workflows und allem, was den dontAsk-Berechtigungsmodus benötigt.

Um eine CLI-Sitzung in den Desktop zu verschieben, ohne den Kontext zu verlieren, führen Sie /desktop im Terminal aus. Speichert die Sitzung, öffnet sie in der Desktop-App, beendet das CLI.2

Einschränkungen und Stolperfallen

Echte, aus der Dokumentation:1

  • Eine Remote-Sitzung pro interaktivem Prozess. Außerhalb des Server-Modus unterstützt jeder claude-Aufruf eine Remote-Sitzung. Brauchen Sie mehrere? Verwenden Sie claude remote-control (Server-Modus).
  • Der lokale Prozess muss weiterlaufen. Remote Control wird vom claude-CLI-Prozess oder der VS-Code-Erweiterung gehostet. Schließen Sie das Terminal, beenden Sie VS Code oder beenden Sie den claude-Prozess, und die Remote-Sitzung endet. Es gibt keinen vom Terminal abgekoppelten Modus.1
  • Netzwerkausfall > 10 Minuten beendet die Sitzung. Der Mac kann wach sein, aber 10 Minuten lang das Netzwerk nicht erreichen; der Prozess beendet sich, und Sie müssen neu starten.
  • Ultraplan trennt Remote Control. Beide belegen die claude.ai/code-Oberfläche, und nur einer kann gleichzeitig verbunden sein.
  • Auto-Modus erfordert aktuelle Modelle. Opus 4.7 unter Max; Sonnet 4.6, Opus 4.6 oder Opus 4.7 unter Team/Enterprise/API. Nicht unter Pro.
  • API-Schlüssel und Inferenz-Tokens funktionieren nicht. Remote Control erfordert ein OAuth-Login mit vollem Umfang über claude.ai. Wenn ANTHROPIC_API_KEY gesetzt ist, entfernen Sie es. Wenn Sie sich über claude setup-token oder CLAUDE_CODE_OAUTH_TOKEN authentifiziert haben, führen Sie claude auth login aus, um zu aktualisieren.
  • Team- und Enterprise-Administratoren müssen es aktivieren. Standardmäßig aus. Der Schalter befindet sich unter claude.ai/admin-settings/claude-code → Remote Control. Manche Datenaufbewahrungs-Konfigurationen machen den Schalter unverfügbar.

Der häufigste Fehler nach dem Motto „warum funktioniert das nicht”: der Benutzer ist mit einem Inferenz-Token angemeldet. Die Fehlermeldung „Remote Control requires a full-scope login token” verweist auf diesen Fall. Lösung: claude auth login und die claude.ai-Option wählen.1

Weitere bekanntenswerte Fehlerszenarien

Die offizielle Dokumentation behandelt mehrere weitere Fehlermodi, die einen Anfänger echte Zeit kosten. Destilliert:1

  • „Remote Control requires a claude.ai subscription”: Sie sind nicht mit claude.ai authentifiziert. Wenn ANTHROPIC_API_KEY gesetzt ist, entfernen Sie es zuerst und führen Sie dann claude auth login aus.
  • „Unable to determine your organization for Remote Control eligibility”: zwischengespeicherte Kontoinformationen sind veraltet. Führen Sie claude auth login aus, um sie zu aktualisieren.
  • „Remote Control is not yet enabled for your account”: prüfen Sie, ob CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, DISABLE_TELEMETRY, CLAUDE_CODE_USE_BEDROCK, CLAUDE_CODE_USE_VERTEX oder CLAUDE_CODE_USE_FOUNDRY in Ihrer Umgebung gesetzt sind. Remote Control erfordert claude.ai-Authentifizierung; Drittanbieter funktionieren nicht. Entfernen und /logout, dann /login.
  • „Remote Control is disabled by your organization’s policy”: drei Ursachen laut Dokumentation: (a) Sie nutzen einen API-Schlüssel oder ein Console-Konto (verwenden Sie claude.ai-OAuth), (b) der Team-/Enterprise-Administrator hat den Schalter nicht aktiviert, (c) der Admin-Schalter ist aufgrund einer Datenaufbewahrungs-Konfiguration ausgegraut, die mit Remote Control inkompatibel ist (kontaktieren Sie den Anthropic-Support).
  • „Remote credentials fetch failed”: führen Sie erneut mit --verbose aus, um den zugrunde liegenden Fehler zu sehen: claude remote-control --verbose. Üblicherweise ein Nicht-angemeldet-Fall, eine Firewall, die ausgehende HTTPS-Verbindungen zum Anthropic API auf 443 blockiert, oder ein früherer Sitzungserstellungs-Fehler (suchen Sie nach Session creation failed: see debug log).
  • Workspace-Trust-Dialog: wenn Remote Control ohne offensichtlichen Fehler nicht startet, führen Sie claude mindestens einmal im Projektverzeichnis aus und akzeptieren Sie den Workspace-Trust-Dialog. Dieser Schritt ist erforderlich, bevor Remote Control die Sitzung registriert.

Ein Entscheidungsbaum für CLI-Nutzer

Vor einer realen Aufgabe wählen Sie den Modus danach aus, was die Arbeit benötigt:

Benötigt die Arbeit die Apple-Toolchain (Xcode, Simulatoren, Signing)?
├── JA → Lokales CLI oder Lokal + Remote Control
│         (Cloud kann die Toolchain nicht erreichen)
│
└── NEIN → Benötigt sie Ihre lokalen MCP-Server (Yurei, Cloudflare, usw.)?
         ├── JA → Lokales CLI oder Lokal + Remote Control
         │
         └── NEIN → Müssen Sie sie vom Smartphone aus überwachen oder steuern?
                  ├── JA → Lokal + Remote Control ODER Cloud-Sitzung
                  │         (Cloud ist besser, wenn die Aufgabe mehrere Stunden dauert)
                  │
                  └── NEIN → Lokales CLI reicht

Mac-/iOS-App-Entwicklung: was die meisten meiner Apps tun: fällt jedes Mal in den oberen Zweig. Cloud-Sitzungen können nicht xcodebuild ausführen, nicht mit einem Simulator sprechen, nicht signieren. Für die MCP-Erweiterung von Get Bananas, meine Yurei-betriebenen Census-Skripte oder die Arbeit am Apple Ecosystem Cluster ist die Abhängigkeit von der Apple-Toolchain unumgänglich. Lokal + Remote Control ist der einzige Weg, der mir sowohl diese Toolchain als auch eine vom Smartphone aus sichtbare Oberfläche bietet.

FAQ

Kann ich das CLI und die Desktop-App gleichzeitig im selben Projekt ausführen?

Ja. Sie teilen sich die Konfiguration (CLAUDE.md, ~/.claude.json, MCP-Server, Hooks, Skills), führen aber separate Sitzungsverläufe.2 Sie können eine claude-Sitzung in iTerm und eine Code-Tab-Sitzung in der Desktop-App haben, beide auf dasselbe ~/Projects/blakecrosley.com gerichtet, beide schreiben in git. Seien Sie vorsichtig mit parallelen Schreibvorgängen, wenn Sie keine Worktrees verwenden.

Was passiert mit einer Remote-Control-Sitzung, wenn mein Mac in den Ruhezustand geht?

Die Sitzung verbindet sich automatisch wieder, wenn Ihre Maschine wieder online ist. Wenn Ihr Mac wach ist, aber länger als ~10 Minuten das Netzwerk nicht erreichen kann, läuft die Sitzung ab, und Sie müssen mit claude remote-control eine neue starten.1

Funktioniert Remote Control mit der Hintergrund-Syntax & task?

& task und Remote Control sind unterschiedliche Oberflächen. & task schickt Arbeit an eine Cloud-Sitzung. Remote Control verbindet Sie von einem anderen Gerät aus mit einer lokalen Sitzung. Beide können in der Sitzungsliste von claude.ai/code auftauchen, aber die Cloud-Variante läuft auf der Anthropic-Infrastruktur, und die Remote-Control-Variante läuft auf Ihrer Maschine.1

Kann ich Remote Control mit einem Drittanbieter (Bedrock, Vertex, Foundry) verwenden?

Nein. Remote Control erfordert claude.ai-Authentifizierung. Wenn Sie CLAUDE_CODE_USE_BEDROCK, CLAUDE_CODE_USE_VERTEX oder CLAUDE_CODE_USE_FOUNDRY gesetzt haben, scheitert die Berechtigungsprüfung mit „Remote Control is not yet enabled for your account”. Entfernen Sie sie und führen Sie es erneut aus.1

Was ist der Unterschied zwischen --remote-control und claude remote-control?

claude --remote-control (oder --rc) startet eine normale interaktive Sitzung in Ihrem Terminal mit aktiviertem Remote Control. Sie können lokal und von einem anderen Gerät aus tippen. claude remote-control (kein Flag, Unterbefehl) ist Server-Modus: das Terminal wird zum Server ohne lokale Eingabeaufforderung, nur mit Verbindungsstatus. Beide erstellen standardmäßig eine Remote-Sitzung; der Server-Modus kann mehrere über --capacity oder --spawn bedienen.1

Hat die Desktop-App Skills, Plugins und Hooks wie das CLI?

Ja. Es sind dieselben Skills, Plugins und Hooks. Die Desktop-App liest ~/.claude/settings.json und projektbezogen .claude/settings.json, genau wie das CLI. Klicken Sie auf den +-Knopf neben dem Eingabefeld, um installierte Plugins und Skills zu durchsuchen. Plugins sind in Remote-(Cloud)-Sitzungen nicht verfügbar, funktionieren aber in lokalen Desktop-Sitzungen einwandfrei.2

Warum funktioniert /mcp nicht von meinem Smartphone aus?

/mcp öffnet einen interaktiven Picker, der eine reine Terminal-UI zur Auswahl benötigt. Er ist nur lokal verfügbar. Dasselbe gilt für /plugin und /resume.1 Alles, was Textausgabe erzeugt (/compact, /clear, /context, /usage, /extra-usage, /exit, /recap, /reload-plugins), funktioniert vom Mobilgerät und Web aus.

Gibt es einen kostenlosen Tarif, oder erfordert all dies ein Abonnement?

Remote Control ist in den Tarifen Pro, Max, Team und Enterprise verfügbar. API-Schlüssel werden nicht unterstützt. Bei Team und Enterprise muss ein Administrator den Remote Control-Schalter in den claude.ai-Admin-Einstellungen aktivieren, bevor Benutzer die Funktion sehen.1 Die Desktop-App selbst ist kostenlos herunterzuladen, erfordert aber ein claude.ai-Login zur Nutzung.


Die kürzeste Version: Lokales CLI ist das Substrat. Die Desktop-App ist ein grafischer Client für dasselbe Substrat. /remote-control ist die Brücke, die das Substrat von Ihrem Smartphone aus erreichbar macht. Wählen Sie nach dem aus, was die Arbeit benötigt und wo Sie sich gerade befinden.

Quellen


  1. Anthropic, „Continue local sessions from any device with Remote Control”. Die kanonische Referenz für claude remote-control, claude --remote-control, /remote-control, Push-Benachrichtigungen, Voraussetzungen, die Troubleshooting-Matrix und Einschränkungen. Wird in diesem Aufsatz durchgehend zitiert. 

  2. Anthropic, „Use Claude Code Desktop”. Drei-Tab-Struktur (Chat, Cowork, Code), Sitzungsstart-Konfiguration, Berechtigungsmodi, Diff-Ansicht, Vorschaubereich, parallele Sitzungen über Git-Worktrees, die Vergleichstabelle „Coming from the CLI?”, Dispatch, Computer Use. 

  3. GitHub-Releases für Claude Code v2.1.105–v2.1.112: Push-Benachrichtigungen über Remote Control (v2.1.110+), /recap + Session Recap, /ultrareview, /less-permission-prompts, Auto-Modus für Max auf Opus 4.7, PreCompact-Hooks können blockieren. Siehe v2.1.110-Release-Notes für die Ankündigung des Push-Benachrichtigungs-Tools. 

  4. Lokale Sitzungs-Speicherkonvention: ~/.claude/projects/<sanitized-project-path>/<session-id>.jsonl. Sitzungen sind JSONL-Dateien, die im Verlauf der Sitzung erweitert werden. Nur für lokale Prozesse sichtbar; nicht mit dem Anthropic-Konto synchronisiert. 

  5. Remote-Control-Client-Unterstützung für /extra-usage in v2.1.113 hinzugefügt. Siehe Claude Code-Release-Verlauf. Frühere Versionen funktionierten nur vom lokalen Terminal aus. 

Verwandte Beiträge

Wie zwei MCP-Server Claude Code in ein iOS-Build-System verwandelten

XcodeBuildMCP und Apples Xcode-MCP verschaffen Claude Code strukturierten Zugriff auf iOS-Builds, Tests und Debugging. E…

14 Min. Lesezeit

Eigene Skills für Claude Code erstellen: Ein vollständiges Tutorial

Ein Code-Review-Skill von Grund auf bauen. Verzeichnisstruktur, Frontmatter-Felder, LLM-basiertes Matching, Kontext-Budg…

11 Min. Lesezeit

Der blinde Richter: Bewertung von Claude Code vs. Codex in 36 Duellen

Claude Code vs. Codex CLI, blind bewertet in 5 Dimensionen über 36 Duelle. Der Gewinner ist weniger wichtig als die Synt…

11 Min. Lesezeit