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
Wie Deep Links funktionieren
Das Präfixclaude-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:
- Der Browser oder die App übergibt die URL an Ihr Betriebssystem.
- Das Betriebssystem erkennt das Präfix
claude-cli://und startet Claude Code auf Ihrem Rechner. - 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.
- Sie lesen den Prompt, bearbeiten ihn bei Bedarf und drücken Enter, um ihn zu senden.
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 TextPrompt 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.
Einen Link erstellen
Ein Deep Link beginnt mitclaude-cli://open, gefolgt von optionalen Abfrageparametern. Die minimale Form öffnet Claude Code in Ihrem Home-Verzeichnis mit einem leeren Prompt:
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:
acme/payments und füllt das Eingabefeld mit dem dekodierten Text:
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 zuletztclaudeausgeführt haben. Jedes Mal, wenn Sieclaudein einem Git-Repository ausführen, speichert Claude Code den Pfad dieses Verzeichnisses zusammen mit dem GitHub-Slugowner/namedes 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.
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.Betten Sie einen Link in ein Runbook ein
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 erlaubtclaude-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:
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.
Öffnen Sie einen Link von der Shell aus
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.- macOS
- Linux
- Windows
Der integrierte Bei erfolgreicher Ausführung wird ein neues Terminalfenster mit Claude Code geöffnet und die Eingabeaufforderung ist vorausgefüllt.
open-Befehl übergibt die URL an den registrierten claude-cli://-Handler:Registrierung und unterstützte Plattformen
Claude Code registriert denclaude-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
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 untervscode://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 eigenenclaude://-Links. Um eine Desktop-Sitzung auf einem Remote-Rechner über SSH zu öffnen, lesen Sie Eine SSH-Sitzung über einen Link öffnen.
Fehlerbehebung
Das Klicken auf den Link bewirkt nichts
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 interaktiveclaude-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 Befehlxdg-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.
Der Link wird als einfacher Text angezeigt, anstatt klickbar zu sein
Einige Markdown-Renderer erlauben nurhttp- 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
Derrepo-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.
Der Link öffnet das falsche Terminal
Auf macOS starten Sieclaude 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
/skillim Repo, damit derq-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