TIPS 76 · CLIC

Ein Klick, und Claude Code ist schon im Projekt

Wie du einen claude-cli://-Link baust, der Claude Code im richtigen Ordner mit fertig geschriebener Anfrage öffnet, und wo du ihn hinlegst: in eine Fehlermeldung, auf deine Zahlenseite, in ein Dokument oder in einen Alias.

Was es ist und warum es zählt

Du bekommst die Meldung, dass etwas kaputt ist: ein fehlgeschlagenes Deployment, ein Fehler auf deiner Zahlenseite, ein roter Test. Der übliche Weg ist lang: Terminal öffnen, in den richtigen Ordner wechseln, Claude Code starten, dich erinnern, was du fragen wolltest, und alles neu tippen. Jedes Mal.

Ein Deep Link macht daraus einen einzigen Klick. Das ist ein Link, der mit claude-cli:// beginnt und wie die mailto:-Links funktioniert, die dein E-Mail-Programm öffnen. Darin stehen der Projektordner und die Anfrage. Du klickst darauf, und ein neues Terminalfenster öffnet sich, mit Claude Code in diesem Ordner und der Anfrage schon im Eingabefeld. Nichts wird gesendet, bevor du Enter drückst.

Das ist für dich, wenn du allein arbeitest und immer wieder dieselben drei, vier Notfälle hast: die Zahlung, die nicht durchgeht, der Build, der abbricht, die Seite, die langsam wird. Du baust den Link einmal, legst ihn dort ab, wo das Problem auftaucht, und wenn es passiert, bist du schon am richtigen Ort mit der richtigen Frage.

1. Einmal aktivieren

Außer Claude Code musst du nichts installieren. Der Link funktioniert mit Claude Code im Terminal, auf macOS, Linux und Windows. Claude Code registriert den Handler für claude-cli://-Links selbst im System, sobald du zum ersten Mal in einer interaktiven Sitzung eine Anfrage sendest. Wenn du es öffnest und ohne Eingabe wieder schließt, wird nichts registriert.

  1. Öffne das Terminal, das du sonst benutzt, und tippe claude.
  2. Schick irgendeine Anfrage, auch nur „hallo“, und drück Enter. Ab jetzt funktioniert der Link auf diesem Computer.
  3. Zum Testen füg claude-cli://open in die Adressleiste deines Browsers ein. Claude Code öffnet sich in deinem Home-Ordner, mit leerem Eingabefeld.

2. Woraus ein Link besteht

Jeder Link beginnt mit claude-cli://open. Nach dem Fragezeichen kommen die Parameter, getrennt durch &. Es gibt drei:

  • q: die Anfrage, die ins Eingabefeld kommt. Sie muss URL-kodiert sein (Leerzeichen werden zu %20, Zeilenumbrüche zu %0A). Höchstens 5.000 Zeichen.
  • cwd: der absolute Pfad des Ordners, zum Beispiel /Users/deinname/projekte/shop. Netzwerkpfade und Pfade mit „..“ werden abgelehnt.
  • repo: der Name des GitHub-Repositorys in der Form owner/name. Claude Code öffnet die lokale Kopie, in der du claude zuletzt gestartet hast. Kennt es keine, öffnet es deinen Home-Ordner.

Wenn du allein an einem Computer arbeitest, ist cwd am einfachsten. repo ist praktisch, wenn du dasselbe Projekt an verschiedenen Orten klonst, funktioniert aber erst, nachdem du claude mindestens einmal in dieser Kopie gestartet hast. Gibst du beides an, gewinnt cwd. Der Link wechselt keinen Branch: Du findest den Ordner so vor, wie er ist.

Hier ein vollständiger Link für ein Beispiel-Repository acme/shop, mit einer zweizeiligen Anfrage:

Der Prompt
claude-cli://open?repo=acme/shop&q=Das%20Deployment%20heute%20Nacht%20ist%20fehlgeschlagen.%0ASieh%20dir%20die%20letzten%20Commits%20auf%20main%20an%20und%20sag%20mir%20die%20Ursache%2C%20ohne%20etwas%20zu%20%C3%A4ndern.

Wenn du ihn anklickst, steht im Eingabefeld der normale Text: „Das Deployment heute Nacht ist fehlgeschlagen.“ und darunter, in einer neuen Zeile, die Anfrage. Den gewählten Pfad siehst du im Begrüßungskopf, so prüfst du, ob es die richtige Kopie ist.

3. Lass Claude den Link bauen

Umlaute, Leerzeichen und Zeilenumbrüche von Hand zu kodieren ist der schnellste Weg zu einem Fehler. Ich lasse das Claude Code machen. Kopier diese Nachricht, ersetz die Teile zwischen < > und lösch die Zeichen < >:

Die Nachricht
Bau mir einen Deep Link für Claude Code, der mit claude-cli://open beginnt.
Ordner: cwd=<absoluter Pfad des Projekts>
Anfrage zum Vorausfüllen:
<die Anfrage, gern über mehrere Zeilen>
Kodiere die Anfrage für eine URL wie encodeURIComponent, mit %0A für Zeilenumbrüche, und prüf, dass sie unter 5.000 Zeichen bleibt.
Gib mir den fertigen Link zum Kopieren und darunter den dekodierten Text, damit ich prüfen kann, dass er genau das sagt, was ich will.

Wenn du es lieber selbst machst: Öffne die Browser-Konsole, tippe encodeURIComponent("deine Anfrage") und füg das Ergebnis nach q= ein.

Wenn die Anfrage lang ist, etwa ein ganzer Ablauf, stopf sie nicht in den Link. Schreib sie als Skill ins Projekt, in die Datei .claude/skills/<name>/SKILL.md, und schreib in den Link nur /<name>. Der Link bleibt kurz, und den Ablauf änderst du an einer einzigen Stelle.

4. Wo du ihn hinlegst

Der Link gehört dorthin, wo das Problem auftaucht. Ich nutze ihn an drei Stellen.

Auf deiner Warn- oder Zahlenseite

Wenn du eine interne Seite mit Fehlern oder Kennzahlen hast, passt neben jede Zeile ein Link „Mit Claude beheben“. So fügst du ihn hinzu:

Die Nachricht
Füge auf der Seite <Datei der Warnseite> neben jedem Fehler einen Link „Mit Claude beheben“ hinzu.
Der Link ist claude-cli://open mit cwd=<absoluter Pfad des Projekts> und q gleich dieser Anfrage, kodiert mit encodeURIComponent:
„Um <Uhrzeit> ist der Fehler <Name des Fehlers> aufgetreten. Finde die Ursache im Code und in den Logs und schlag mir eine Korrektur vor. Ändere nichts, bevor du sie mir erklärt hast.“
Name und Uhrzeit kommen aus den Daten jeder Zeile. Ändere sonst nichts an der Seite.

Die Seite, die den Link zeigt, muss Links erlauben, die nicht mit http beginnen. Der Link kann überall liegen, auch online, aber die Sitzung öffnet sich immer auf dem Computer, auf dem du klickst.

In einem Projektdokument

In einer Markdown-Datei schreibst du [Checkout reparieren](claude-cli://open?...). Aber Vorsicht: GitHub entfernt diese Links in READMEs, Issues, Pull Requests und Wikis, und übrig bleibt nur der Name. Dort setzt du den Link in einen Codeblock: Wer ihn liest, kopiert ihn und fügt ihn in die Adressleiste des Browsers ein.

In einem Terminal-Befehl

Der Link lässt sich auch über die Kommandozeile öffnen, du kannst ihn also in einen Alias oder ein Skript packen. Jedes System hat seinen eigenen Befehl:

Die Befehle
macOS:   open "claude-cli://open?repo=acme/shop&q=review%20open%20PRs"
Linux:   xdg-open "claude-cli://open?repo=acme/shop&q=review%20open%20PRs"
Windows (PowerShell):   Start-Process "claude-cli://open?repo=acme/shop&q=review%20open%20PRs"
Windows (cmd.exe):   start "" "claude-cli://open?repo=acme/shop&q=review%20open%20PRs"

Für einen eigenen Alias frag Claude Code:

Die Nachricht
Füg der Konfigurationsdatei meiner Shell einen Alias namens <Name des Alias> hinzu.
Er soll mit dem passenden Befehl für mein System einen claude-cli://open-Link öffnen, mit cwd=<absoluter Pfad des Projekts> und dieser Anfrage, URL-kodiert:
<die Anfrage>
Zeig mir vor dem Speichern die Zeile, die du hinzufügst, und den dekodierten Text.

5. Bevor du Enter drückst

Ein Link führt nichts von selbst aus: Er wählt den Ordner und füllt das Eingabefeld. Darunter steht die Warnung „Prompt from an external link“ (Anfrage aus einem externen Link), bis du den Text sendest oder löschst. Über 1.000 Zeichen zeigt die Warnung auch die Anzahl und bittet dich, zu scrollen und alles zu lesen: Ein langer Text kann Anweisungen außerhalb des Bildschirms verstecken.

Die Regeln bleiben die üblichen: Die Vertrauensabfrage für den Ordner, die Berechtigungen und deine CLAUDE.md gelten wie in jeder anderen Sitzung. Kommt ein Link von einer Seite, die du nicht kennst, lies die Anfrage Zeile für Zeile, bevor du Enter drückst. Wenn dir etwas komisch vorkommt, lösch sie.

Wenn du dagegen nicht willst, dass dein Computer diese Links öffnet, trag "disableDeepLinkRegistration": "disable" in deine settings.json ein: Claude Code registriert den Handler für claude-cli://-Links dann nicht mehr.

6. Wenn es nicht funktioniert

  • Du klickst, und nichts passiert: Der Handler ist noch nicht registriert. Starte claude, schick irgendeine Anfrage, beende es und versuch es nochmal. Auf Linux ohne Desktop-Umgebung hat xdg-open womöglich nichts, an das es den Link weitergeben kann. Fehlt xdg-open ganz, installier das Paket xdg-utils.
  • Es öffnet sich im Home-Ordner statt im Projekt: repo findet nur Kopien, in denen du claude schon gestartet hast. Starte es dort einmal oder wechsle zu cwd mit dem absoluten Pfad.
  • Es öffnet sich das falsche Terminal: Auf macOS starte claude einmal im Terminal deiner Wahl; auf Linux setz $TERMINAL; auf Windows installier Windows Terminal, wenn die Links dort aufgehen sollen.

Häufige Fehler

  • Den Link testen, bevor du Claude Code auf diesem Computer mindestens eine Anfrage geschickt hast: Der Handler existiert dann noch nicht.
  • Die Anfrage unkodiert schreiben: Leerzeichen, Umlaute und Zeilenumbrüche machen den Link kaputt. Lass ihn Claude bauen.
  • Einen relativen Pfad in cwd verwenden: Es braucht den absoluten Pfad, und Pfade mit „..“ werden abgelehnt.
  • Enter drücken, ohne zu lesen, vor allem wenn du den Link nicht selbst geschrieben hast.

Checkliste

  • Ich habe Claude Code auf diesem Computer mindestens eine Anfrage geschickt.
  • claude-cli://open, in den Browser eingefügt, öffnet Claude Code.
  • Mein Link hat cwd mit dem absoluten Pfad oder repo mit einer Kopie, in der ich claude schon gestartet habe.
  • Die Anfrage in q ist kodiert, und der dekodierte Text sagt genau das, was ich will.
  • Vor Enter lese ich die Anfrage, auch wenn ich sie selbst geschrieben habe.

Häufige Fragen

Wenn ich den Link online stelle, kommt dann jeder, der klickt, auf meinen Computer?

Nein. Die Sitzung öffnet sich immer auf dem Computer der Person, die klickt, in ihrer Kopie des Projekts, und nur wenn sie Claude Code mit registriertem Handler hat. Der Link trägt nur den Ordner und den Text.

Kann ich es von selbst starten lassen, ohne Enter zu drücken?

Mit dem Link nicht: Er füllt das Eingabefeld und wartet auf dich. Wenn du etwas brauchst, das in einem Skript von selbst läuft, ist das der nicht-interaktive Modus von Claude Code, und das ist etwas anderes.

Ich nutze Claude Code in VS Code oder in der Desktop-App: Gilt derselbe Link?

claude-cli:// öffnet immer ein Terminalfenster. Die VS-Code-Erweiterung hat einen eigenen Link, vscode://anthropic.claude-code/open, der einen Tab im Editor öffnet. Claude Desktop verarbeitet eigene claude://-Links. Das sind andere Links mit eigenen Regeln.

← Alle Anleitungen