Zum Hauptinhalt springen
Ein Deep Link ist eine claude-cli://-URL, die Claude Code in einem neuen Terminalfenster öffnet. Die URL kann ein Arbeitsverzeichnis und einen vorauszufüllenden Prompt enthalten. Der Prompt wird eingefügt, aber erst gesendet, wenn Sie Enter drücken. Damit Links auf einem Rechner geöffnet werden, senden Sie dort zunächst einen Prompt in einer interaktiven Claude Code-Sitzung, sodass Claude Code seinen claude-cli://-Handler registriert. Da ein Deep Link eine URL ist, können Sie ihn überall dort platzieren, wo ein Link stehen kann:
  • Ein Schritt in einem Incident-Runbook, der das Repository des betroffenen Dienstes mit einem Diagnose-Prompt öffnet
  • Eine Monitoring-Warnmeldung oder ein Dashboard, das auf einen Untersuchungs-Prompt für eine bestimmte Metrik verlinkt
  • Eine README- oder Wiki-Seite, die das Projekt mit einem Onboarding-Prompt öffnet
  • Eine CI-Fehlerbenachrichtigung, die den Namen des fehlgeschlagenen Jobs vorausfüllt
Diese Seite beschreibt, wie Sie einen Link erstellen, einen Link in ein Runbook einbetten oder aus der Shell auslösen und die Handler-Registrierung verwalten oder deaktivieren – jeweils für jede Plattform. Das Präfix claude-cli:// ist ein benutzerdefiniertes URL-Schema, das Claude Code bei Ihrem Betriebssystem registriert, ähnlich wie mailto:-Links Ihren E-Mail-Client öffnen. Wenn Sie auf einen Deep Link klicken:
  1. Der Browser oder die App übergibt die URL an Ihr Betriebssystem.
  2. Das Betriebssystem erkennt das Präfix claude-cli:// und startet Claude Code auf Ihrem Rechner.
  3. Ein neues Terminalfenster öffnet sich, in dem Claude Code in dem vom Link angegebenen Verzeichnis läuft und der Prompt-Text des Links bereits im Eingabefeld steht.
  4. Sie lesen den Prompt, bearbeiten ihn bei Bedarf und drücken Enter, um ihn zu senden.
Der Link selbst kann überall gehostet werden, die Sitzung öffnet sich jedoch immer lokal auf dem Computer, auf dem Sie geklickt haben. Unter Registrierung und unterstützte Plattformen erfahren Sie, welcher Terminalemulator sich auf welchem Betriebssystem öffnet. Die Plattform, die den Link anzeigt, muss benutzerdefinierte URL-Schemata zulassen. Wie GitHub damit umgeht und wie Sie das Problem umgehen können, erfahren Sie unter Der Link wird als reiner Text statt als anklickbarer Link dargestellt.

Was eine gestartete Sitzung anzeigt

Ein Deep Link führt niemals selbstständig etwas aus. Der Link wählt lediglich ein Verzeichnis aus und füllt das Eingabefeld. Wenn Sie auf einen Link von einer Seite klicken, der Sie nicht vertrauen, bleibt der Prompt dennoch wirkungslos: Nichts erreicht das Modell, bis Sie gelesen haben, was eingefügt wurde, und Enter drücken. Wenn die Sitzung geöffnet wird, erscheint unterhalb des Eingabefelds eine Warnzeile mit dem Text Prompt from an external link, die sichtbar bleibt, bis Sie den Prompt senden oder löschen. Bei Prompts mit mehr als 1.000 Zeichen enthält die Warnung die Zeichenanzahl und weist Sie an, zu scrollen und den vollständigen Text zu prüfen, bevor Sie Enter drücken, da lange Prompts Anweisungen aus dem sichtbaren Bereich verdrängen können. Berechtigungsregeln, CLAUDE.md und Vertrauensabfragen für das ausgewählte Verzeichnis gelten auf die gleiche Weise wie für jede andere Sitzung. Ein Deep Link beginnt mit claude-cli://open, gefolgt von optionalen Abfrageparametern. Die minimale Form öffnet Claude Code in Ihrem Home-Verzeichnis mit einem leeren Prompt:
Um einen Link auszuprobieren, ohne ihn auf einer Seite einzubinden, fügen Sie ihn in die Adressleiste Ihres Browsers ein oder öffnen Sie ihn aus der Shell. Fügen Sie Parameter hinzu, um zu steuern, wo die Sitzung startet und was das Eingabefeld enthält: cwd und repo sind zwei Möglichkeiten, das Arbeitsverzeichnis festzulegen. Wenn Sie beide übergeben, hat cwd Vorrang und repo wird ignoriert, selbst wenn der cwd-Pfad nicht existiert. Der folgende Link verweist auf ein Repository namens acme/payments mit einem zweizeiligen Diagnose-Prompt. Ersetzen Sie acme/payments durch den owner/name-Slug Ihres Repositorys, wenn Sie Ihren eigenen Link erstellen:
Ein Klick darauf öffnet ein neues Terminal-Fenster, startet Claude Code in Ihrem lokalen Klon von acme/payments und füllt das Eingabefeld mit dem dekodierten Text:
Sie können den Prompt bearbeiten, bevor Sie Enter drücken, um ihn zu senden. Unter Zwischen cwd und repo wählen erfahren Sie, wie der lokale Pfad ausgewählt wird, wenn Sie mehrere Klone oder Worktrees haben.

Zwischen cwd und repo wählen

Verwenden Sie cwd, wenn alle, die auf den Link klicken, das Projekt unter demselben absoluten Pfad haben, etwa bei einem standardisierten Devcontainer- oder VM-Image. Verwenden Sie repo, wenn der Link geteilt wird und jede Person an einen anderen Ort klont. Claude Code löst den Slug wie folgt zu einem lokalen Pfad auf:
  • repo öffnet den Klon oder Worktree des verlinkten Repositorys, in dem Sie zuletzt claude ausgeführt haben. Jedes Mal, wenn Sie claude in einem Git-Repository ausführen, speichert Claude Code den Pfad dieses Verzeichnisses zusammen mit dem GitHub-Slug owner/name des Repositorys. Claude Code erfasst Klone und Worktrees getrennt.
  • Der Link ändert nicht, welcher Branch ausgecheckt ist. Die Sitzung wird in dem Zustand geöffnet, in dem sich das Verzeichnis gerade befindet.
Die Willkommenskopfzeile zeigt an, welcher Pfad gewählt wurde, sodass Sie überprüfen können, ob der richtige Klon geöffnet wurde.

Beispiele

Die folgenden Abschnitte zeigen zwei häufige Möglichkeiten, einen Deep Link zu verwenden: als Markdown-Link in einem Dokument und als Befehl in einem Skript oder Shell-Alias. Ein Deep Link in einem Runbook gibt demjenigen, der einen Incident triagiert, eine One-Click-Möglichkeit, im richtigen Repository mit einer vorbereiteten Eingabeaufforderung zu untersuchen. Die Plattform, die das Runbook rendert, muss benutzerdefinierte URL-Schemas zulassen. Von GitHub gerendertes Markdown erlaubt claude-cli:// nicht, daher zeigt ein Deep Link in einer GitHub README, einem Issue oder einem Wiki nur sein Label ohne klickbaren Link. Siehe die Fehlerbehebungsnotiz für eine Problemumgehung. Die Eingabeaufforderung ist Teil der URL und muss URL-kodiert sein. Um den kodierten Wert zu erzeugen, übergeben Sie Ihren Eingabeaufforderungstext durch encodeURIComponent in einer Browser-Konsole oder einem beliebigen URL-Encoder. Das folgende Beispiel fügt einen Untersuchungs-Einstiegspunkt zu einem Incident-Runbook für einen Service namens web-gateway hinzu:
Um dies in Ihrem eigenen Runbook zu verwenden, ersetzen Sie acme/web-gateway durch den Repository-Slug Ihres Service. Bevor Ingenieure auf Schritt 2 klicken, müssen sie auf ihrem Computer einen Prompt in einer interaktiven Claude Code-Sitzung gesendet und Claude Code in ihrem lokalen Klon geöffnet haben. Sie können einen Deep Link auch von einem Shell-Skript, Alias oder einer Automatisierung aus öffnen, anstatt ihn anzuklicken. Rufen Sie den URL-Öffnungsbefehl Ihres Betriebssystems mit dem Link als Argument auf. Diese Befehle basieren auf dem Handler, den Claude Code auf dem Computer registriert.
Der integrierte open-Befehl übergibt die URL an den registrierten claude-cli://-Handler:
Bei erfolgreicher Ausführung wird ein neues Terminalfenster mit Claude Code geöffnet und die Eingabeaufforderung ist vorausgefüllt.

Registrierung und unterstützte Plattformen

Claude Code registriert den claude-cli://-Handler bei Ihrem Betriebssystem auf macOS, Linux und Windows, wenn Sie eine der folgenden Aktionen ausführen:
  • Sie senden etwas an eine interaktive claude-Sitzung, etwa eine Nachricht oder /help. Das Starten einer Sitzung ohne etwas zu senden registriert den Handler nicht.
  • Sie starten Claude Code in der Agentenansicht, etwa mit claude agents, in einem Ordner, dem Sie vertraut haben
Sie führen keinen separaten Installationsbefehl aus. Die Registrierung schreibt nur in Benutzer-Level-Speicherorte: Der Handler startet Claude Code in einem erkannten Terminal-Emulator. Auf macOS merkt sich Claude Code das Terminal aus Ihrer letzten interaktiven Sitzung und verwendet es erneut, unterstützt werden iTerm2, Ghostty, kitty, Alacritty, WezTerm und Terminal.app. Auf Linux respektiert es die $TERMINAL-Umgebungsvariable, dann x-terminal-emulator, dann eine Liste häufiger Emulatoren. Auf Windows bevorzugt es Windows Terminal, dann PowerShell, dann cmd.exe. Um die Registrierung vollständig zu verhindern, setzen Sie disableDeepLinkRegistration auf "disable" in settings.json. Um dies organisationsweit durchzusetzen, damit Benutzer es nicht erneut aktivieren können, setzen Sie es stattdessen in verwalteten Einstellungen. Die Einstellung disableDeepLinkRegistration von Claude Code betrifft nur claude-cli://-Links.

Öffnen Sie einen VS Code-Tab statt eines Terminals

Die VS Code-Erweiterung registriert ihren eigenen Handler unter vscode://anthropic.claude-code/open, der einen Claude Code-Editor-Tab statt eines Terminalfensters öffnet. Siehe Starten Sie einen VS Code-Tab von anderen Tools für die Parameter dieser URL.

Eine Claude Desktop-Sitzung über eine SSH-Verbindung öffnen

Claude Desktop verarbeitet seine eigenen claude://-Links. Um eine Desktop-Sitzung auf einem Remote-Rechner über SSH zu öffnen, lesen Sie Eine SSH-Sitzung über einen Link öffnen.

Fehlerbehebung

Der Handler ist wahrscheinlich noch nicht registriert. In einer interaktiven Sitzung erfolgt die Registrierung, wenn Sie etwas senden, nicht wenn die Sitzung startet. Starten Sie eine interaktive claude-Sitzung auf diesem Computer, senden Sie einen beliebigen Prompt, beenden Sie die Sitzung und versuchen Sie den Link erneut. Wenn Sie unter Linux ohne Desktop-Umgebung sind, hat xdg-open möglicherweise nichts zum Verteilen.

xdg-open wird unter Linux nicht gefunden

Der Befehl xdg-open ist Teil des Pakets xdg-utils, das minimale Server-Images, Container und WSL-Distributionen häufig weglassen. Installieren Sie xdg-utils mit dem Paketmanager Ihrer Distribution, beispielsweise sudo apt install xdg-utils, und führen Sie dann den Befehl erneut aus. Wenn der Befehl dann ausgeführt wird, aber nichts geöffnet wird, hat xdg-open möglicherweise keine Desktop-Umgebung zum Verteilen. Siehe Das Klicken auf den Link bewirkt nichts. Einige Markdown-Renderer erlauben nur http- und https-Links und entfernen andere URL-Schemas. GitHub tut dies in READMEs, Issues, Pull Requests und Wikis: [label](claude-cli://...) wird nur als label gerendert, ohne Link und die URL wird entfernt. Auf diesen Plattformen platzieren Sie den Deep Link in einem Code-Block, damit Leser die URL sehen und in die Adressleiste ihres Browsers einfügen können.

Die Sitzung öffnet sich in meinem Home-Verzeichnis statt im Repo

Der repo-Parameter löst nur zu Klonen auf, die Claude Code bereits gesehen hat. Führen Sie claude einmal im Klon aus, damit Claude Code seinen Pfad aufzeichnet, oder wechseln Sie den Link zu cwd mit einem absoluten Pfad. Auf macOS starten Sie claude einmal in Ihrem bevorzugten Terminal und der nächste Deep Link wird es verwenden. Auf Linux setzen Sie die $TERMINAL-Umgebungsvariable auf den Befehlsnamen Ihres bevorzugten Emulators. Auf Windows ist die Reihenfolge festgelegt: Installieren Sie Windows Terminal, wenn Sie möchten, dass Links dort statt in einem PowerShell- oder cmd.exe-Fenster geöffnet werden.

Weitere Informationen

Diese Seiten behandeln verwandte Möglichkeiten, Claude Code-Sitzungen zu starten oder zu erweitern:
  • Skills: Speichern Sie eine lange Runbook-Eingabeaufforderung als /skill im Repo, damit der q-Parameter des Deep Links nur seinen Namen angeben muss
  • Non-interactive mode: Führen Sie Claude von einem Skript aus und erfassen Sie die Ausgabe, ohne ein Terminal zu öffnen