Freigaben

Berechtigungsanfragen von Claude Code (und Codex) vom Handy freigeben

Der häufigste Grund, warum ein Agent nicht weiterkommt, ist eine Berechtigungsanfrage, die niemand gesehen hat. Es gibt drei Wege, sie aus der Hosentasche zu beantworten: die Push-Benachrichtigungen von Claude Code selbst, ein selbst gebauter ntfy-Hook oder eine App mit Inbox. So funktioniert jeder davon für Claude Code, das ändert sich bei Codex und anderen Agenten – und das kostet dich jeder an Sicherheit.

Berechtigungsanfragen von Claude Code (und Codex) vom Handy freigeben

Kurze Antwort

Mit einem Pro-, Max-, Team- oder Enterprise-Abo startest du Remote Control und aktivierst in /config Push when actions required. Die Claude-App benachrichtigt dich dann, und du beantwortest die Anfrage in der App. Als kostenlose, selbst gehostete Alternative schicken Open-Source-Hooks wie claude-remote-approver jeden PermissionRequest an ntfy, mit Schaltflächen zum Freigeben und Ablehnen. Codex hat denselben PermissionRequest-Hook. Apps wie Maude zeigen Anfragen mehrerer Agenten in einer Inbox, mit Push-Benachrichtigungen, die Erlauben/Ablehnen tragen.

Will Claude Code einen Befehl ausführen oder eine Datei bearbeiten, die du nicht vorab freigegeben hast, hält es an und fragt. Sitzt du am Terminal, dauert das eine Sekunde. Wenn nicht, wartet die Session – unter Umständen eine Stunde lang auf einen einzigen Tastendruck. Jedes Setup für Freigaben aus der Ferne bringt die Anfrage auf dein Handy und deine Antwort zurück zum Agenten. Sie unterscheiden sich darin, wie die Anfrage abgefangen wird, welchen Weg sie nimmt und wer sie beantworten kann.

Wie Freigaben aus der Ferne funktionieren

Es gibt zwei Mechanismen, und jedes Tool nutzt einen davon.

  • Das eigene Fernprotokoll des Agenten. Remote Control von Claude Code leitet den echten Berechtigungsdialog an die Claude-App weiter. Antigravitys Remote Control und der App-Server von Codex funktionieren genauso. Nichts dazwischen entscheidet etwas: Du beantwortest die Anfrage des Agenten selbst.
  • Hooks. Claude Code führt an festen Punkten ein Programm aus, das du konfigurierst. Ein PermissionRequest-Hook feuert, wenn ein Berechtigungsdialog gleich erscheint, und kann für dich antworten, indem er eine Entscheidung wie {"behavior": "allow"} oder "deny" ausgibt. Ein PreToolUse-Hook feuert vor jedem Tool-Aufruf und kann allow, deny, ask oder defer zurückgeben. Ein Hook, der einen Push schickt und auf deinen Tipp wartet, ist das Prinzip hinter jedem selbst gebauten Freigabe-Tool fürs Handy. Die Details stehen in der Hooks-Referenz.

Native Push-Benachrichtigungen in Claude Code

Anthropics eigener Weg führt über Remote Control:

  1. Starte eine Session mit claude remote-control (Server-Modus) oder claude --remote-control, oder tippe /remote-control in einer laufenden Session.
  2. Melde dich auf dem Handy mit demselben Konto in der Claude-App an und erlaube Benachrichtigungen.
  3. Führ im Terminal /config aus und aktiviere Push when actions required, das Berechtigungsanfragen und Rückfragen abdeckt. Push when Claude decides deckt proaktive Updates wie „Tests fertig“ ab.

Die Doku nennt ein paar Punkte, auf die du stoßen wirst:

  • Abos und Authentifizierung. Remote Control gibt es in Pro, Max, Team und Enterprise, API-Schlüssel werden nicht unterstützt. Bei Team und Enterprise muss ein Owner es einschalten.
  • Anfragen laufen nicht ab. Berechtigungsanfragen und Rückfragen bleiben offen, bis du sie beantwortest.
  • Push pausiert, während du am Terminal bist. Claude Code lässt Push aus, solange du im verbundenen Terminal tippst oder es im Fokus hast. CLAUDE_CLIENT_PRESENCE_FILE erweitert das auf die ganze Zeit, in der du am Rechner sitzt.
  • Der Prozess muss am Leben bleiben. Der claude-Prozess muss weiterlaufen, auf einem Server startest du ihn also in tmux.
  • Manche Modi sind aus der App tabu. Laut Mobil-Doku kannst du in der App weder Bypass permissions auswählen noch Auto für eine Remote-Control-Session.

Hast du ein Claude-Abo und nutzt nur Claude Code, fang hier an. Es ist in deinem Abo enthalten und wird von Anthropic gepflegt.

Selbst gebaut mit ntfy-Hooks

ntfy ist ein Open-Source-Push-Dienst. Du veröffentlichst mit einer einfachen HTTP-Anfrage in ein Topic, und die ntfy-App auf deinem Handy zeigt es an. Mehrere Open-Source-Projekte kombinieren es mit einem PermissionRequest-Hook. Der Hook postet den anstehenden Tool-Aufruf mit Aktionsschaltflächen in dein Topic, wartet auf einem zweiten Topic auf deinen Tipp und gibt die Entscheidung an Claude Code zurück. Ehre, wem Ehre gebührt:

ProjektHookWenn du nicht antwortestHinweise
claude-remote-approver (yuuichieguchi)PermissionRequestFällt nach 120 s (300 s bei Plan-Reviews) auf die Abfrage im Terminal zurücknpm install -g claude-remote-approver; erzeugt ein zufälliges 128-Bit-Topic; Approve / Always Approve / Deny
claude-push (coa00)PermissionRequestFällt nach 90 s (konfigurierbar) aufs Terminal zurückInstallationsskript für die Shell; Allow / Deny
claude-code-phone-notifications (ssarnecki)PermissionRequest, PreToolUse, StopWartet etwa 9 Minuten, dann fällt es aufs Terminal zurückWartet 30 s vor dem Push, falls du am Schreibtisch sitzt; pusht auch AskUserQuestion-Anfragen (ohne Schaltflächen)
hookline (tsyche)PreToolUse für Claude; PermissionRequest für CodexStandardmäßig 15 Minuten, mit einem längeren Fenster für späte AntwortenDeckt auch Codex, Grok und OpenCode ab; unterstützt ein selbst gehostetes ntfy mit Zugangsdaten

Alle vier stehen unter MIT-Lizenz. Die Timeouts sind ihre dokumentierten Standardwerte. Willst du nur einen Hinweis ohne Antwortmöglichkeit aus der Ferne, reicht der Notification-Hook von Claude Code. Der Matcher permission_prompt feuert, wenn ein Dialog erscheint:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "permission_prompt",
        "hooks": [
          { "type": "command",
            "command": "curl -s -d 'Claude Code is waiting for approval' https://ntfy.sh/your-long-random-topic" }
        ]
      }
    ]
  }
}

Trag das in ~/.claude/settings.json auf dem Rechner ein, auf dem Claude Code läuft. Zum Antworten musst du dann trotzdem an ein Terminal. Die Projekte oben ergänzen den Rückweg für die Antwort.

Maudes Inbox

Maude geht den ersten Weg. Sein Daemon auf deinem Server spricht das eigene Protokoll jedes Agenten, eine Berechtigungsanfrage erreicht die App also als echte Anfrage und nicht als Vermutung eines Hooks. Anfragen aus jeder Session auf jedem Server landen in einer Inbox, neben Fehlern und erledigter Arbeit. Du kannst dort direkt antworten oder gleich aus der Push-Benachrichtigung, die Erlauben und Ablehnen trägt. Eine Anfrage wartet, bis du antwortest; die Session läuft nicht ab und macht ohne dich weiter. Das funktioniert für Claude Code, Codex, OpenCode und Grok Build. Antigravity ist die Ausnahme: Headless kann agy nicht anhalten, bevor ein Tool läuft, also zeigt Maude die abgelehnte Aktion hinterher und wiederholt sie, wenn du sie erlaubst. Maude ist eine kostenpflichtige App, und jeder Agent braucht sein eigenes Konto. Es ist nicht die einzige App mit Inbox und Push: Happier hat unter anderem beides.

Codex und andere Agenten

  • Codex hat ebenfalls Hooks, standardmäßig aktiviert. Ein PermissionRequest-Hook kann mit "behavior": "allow" oder "deny" antworten, und PreToolUse kann ablehnen. Sie liegen in ~/.codex/hooks.json oder unter [hooks] in config.toml. Genau das nutzt hookline für Codex. Die ältere Einstellung notify von Codex führt ein Programm aus, wenn ein Turn abgeschlossen ist. Berichten von Dritten zufolge feuert sie bei Freigabeanfragen nicht, nimm für Freigaben also Hooks. Zum offiziellen Weg von Codex aufs Handy und seinen Grenzen unter Linux siehe Codex CLI auf einem VPS.
  • Antigravity beantwortet Anfragen über sein Remote-Control-Dashboard, wenn du es interaktiv oder als Daemon betreibst. Headless lehnt agy ab, statt zu fragen. Siehe Antigravity CLI auf einem Server.
  • OpenCode und Grok Build werden von hooklines Plugin- und Hook-Unterstützung oder von Multi-Agenten-Apps abgedeckt.

Sicherheit von Freigaben aus der Ferne

Eine Freigabe vom Handy ist so stark wie das schwächste Glied zwischen der Anfrage und deinem Tipp.

  • Auf ntfy.sh ist das Topic das Passwort. Die Doku von ntfy sagt es direkt: Ohne Registrierung kann jeder, der einen Topic-Namen kennt, ihn lesen und darin veröffentlichen. Auf einem öffentlichen Server heißt ein erratenes Topic, dass jemand anderes die Befehle deines Agenten freigeben kann. Nimm ein langes, zufälliges Topic oder hoste ntfy selbst mit Authentifizierung.
  • Lies den Befehl, nicht den Titel. Ein Push auf dem Sperrbildschirm zeigt eine Zusammenfassung. Ein rm -rf in einer langen Bash-Zeile übersieht man auf einem 6-Zoll-Bildschirm leicht. Nutze „Immer erlauben“ für Nur-Lese-Tools, nicht für Bash(*).
  • Kenne deinen Fallback. Die selbst gebauten Hooks oben fallen nach dem Timeout auf die Abfrage im Terminal zurück, eine unbeantwortete Anfrage blockiert also, statt automatisch freizugeben. Schreib deinen eigenen Hook nach derselben Regel. Die Doku von Claude Code warnt, dass ein abgelaufener PreToolUse-Hook den Tool-Aufruf nicht blockiert – der läuft dann normal durch den Berechtigungsablauf –, verlass dich also nicht auf einen hängenden Hook als Sperre.
  • Sichere den Kanal ab. Freigabe-Verkehr verrät, was dein Agent tut. Anthropics Remote Control läuft über Anthropics Server, und Maudes Relay sieht nur Ende-zu-Ende-verschlüsselten Verkehr. Mit einem Hook entscheidest du selbst, wohin er geht. Anthropics Einstellung Require trusted devices begrenzt, welche Geräte Remote Control nutzen dürfen.
  • Freigaben sind ein Sicherheitsnetz, keine Sandbox. Den Agenten als Nicht-root-Benutzer auf einem Rechner laufen zu lassen, den du neu aufsetzen könntest, zählt mehr als jede Freigabe-Oberfläche. Siehe Agenten sicher mit vollen Berechtigungen betreiben.

In Maude beantworten

Laufen deine Agenten auf einem Server und willst du einen Ort, an dem du alle beantwortest, probier Maude mit Claude Code oder Codex. Füge den Server in der App hinzu, melde dich mit deinem eigenen Abo an, und Berechtigungsanfragen kommen als Push-Benachrichtigungen mit Erlauben und Ablehnen. Die Inbox sammelt alles, was auf dich wartet.

Häufige Fragen

Kann Claude Code Push-Benachrichtigungen schicken?
Ja, über Remote Control. Verbinde die Session mit der Claude-App und aktiviere dann in /config Push when actions required (und optional Push when Claude decides). Es braucht ein Pro-, Max-, Team- oder Enterprise-Abo; Anmeldungen per API-Schlüssel werden nicht unterstützt.
Kann ich vom Sperrbildschirm aus erlauben oder ablehnen?
Mit den ntfy-basierten Hooks ja: Sie hängen Schaltflächen zum Freigeben/Ablehnen an die Benachrichtigung. Anthropics Doku beschreibt Push für Berechtigungsanfragen, aber keine Antwort-Schaltflächen in der Benachrichtigung selbst – rechne also damit, in der Claude-App zu antworten. Maudes Berechtigungs-Pushes tragen die Aktionen Erlauben und Ablehnen.
Was passiert, wenn ich nicht antworte?
In Claude Code selbst bleiben Berechtigungsanfragen offen, bis sie beantwortet sind, die Session wartet also einfach. Die selbst gebauten ntfy-Hooks laufen nach ihrem konfigurierten Fenster ab und fallen auf die normale Abfrage im Terminal zurück. Prüf bei jedem Hook, den du schreibst, dass er im Zweifel sperrt: Ein abgelaufener PreToolUse-Hook blockiert den Tool-Aufruf nicht.
Funktioniert das auch für Codex?
Ja. Codex unterstützt einen PermissionRequest-Hook, der erlauben oder ablehnen kann, und Projekte wie hookline nutzen ihn, um Freigaben von Codex an ntfy zu leiten. Die Einstellung notify von Codex deckt Berichten von Dritten zufolge nur abgeschlossene Turns ab, nimm für Freigaben also Hooks.
Ist es sicher, Befehle vom Handy aus freizugeben?
So sicher wie der Kanal und deine Aufmerksamkeit. Nutze ein nicht erratbares oder authentifiziertes ntfy-Topic, lies den vollständigen Befehl vor der Freigabe, vermeide pauschale „Immer erlauben“-Regeln für Shell-Befehle und lass den Agenten als Nicht-root-Benutzer auf einem Rechner laufen, den du neu aufsetzen könntest.

Was sich geändert hat

  • — Erstveröffentlichung. Verhalten von Remote Control und Hooks mit der Doku von Anthropic und OpenAI abgeglichen; Repo-Details und Standardwerte an diesem Tag aus der README jedes Projekts.

Verpass keine Berechtigungsanfrage mehr

Erlauben oder Ablehnen direkt aus der Benachrichtigung, für jeden Agenten auf jedem Server. iOS und Android.

Download Maude on the App Store Get Maude on Google Play