Zurück zur Übersicht

Blog

Mein täglicher TacticRemote-Workflow: Sessions, Benachrichtigungen und der mobile Review-Loop

Wie ich drei Claude Code-Agenten parallel betreibe, Push-Benachrichtigungen erhalte, wenn sie fertig sind, und alles vom iPhone aus prüfe — die tatsächliche Routine, nicht die Theorie.

Veröffentlicht Tags: Workflow / Leitfaden / Produktivität / Praxis
Blog

Weitere Produkt- und Engineering-Updates aus dieser Kategorie.

Kategorie öffnen

Ich betreibe Claude Code auf drei Projekten gleichzeitig. Jedes arbeitet an einer anderen Aufgabe — Frontend, Backend, Tests. Wenn eines fertig ist oder meine Genehmigung braucht, bekomme ich eine Push-Benachrichtigung auf dem Telefon. Ich tippe, prüfe, genehmige und gehe weiter.

Das ist mein tatsächlicher täglicher Workflow mit Tactic Remote. Keine Theorie. Nur was ich jeden Tag mache.

Kurzfassung: Drei tmux-Sessions, eine pro Projekt oder Aufgabe. Hooks, die von der Mac-Companion-App automatisch konfiguriert werden, senden Push-Benachrichtigungen. Vom iPhone prüfen, mit einem Tippen genehmigen, weitergehen.

Das Session-Layout

Ich organisiere tmux-Sessions nach Projekt, nicht nach Tool. Jedes Projekt bekommt seine eigene Session mit eigenem Arbeitsverzeichnis:

┌─────────────────────────────────────────────────┐
│                  Your Mac                        │
│                                                  │
│  tmux session: webapp      (~/code/webapp)       │
│    └─ Claude: "Refactoring auth to use JWT..."   │
│                                                  │
│  tmux session: api         (~/code/api)          │
│    └─ Claude: "Adding rate limiting..."          │
│                                                  │
│  tmux session: mobile      (~/code/mobile-app)   │
│    └─ Claude: "Fixing navigation crash..."       │
│                                                  │
└─────────────────────────────────────────────────┘
                      │
                      │  push notification:
                      │  "Claude Task Completed — webapp"
                      ▼
              ┌──────────────┐
              │   iPhone     │
              │  Claude      │
              │  Remote      │
              └──────────────┘

Warum Sessions statt Fenster? Weil jede Claude Code-Instanz ein eigenes Arbeitsverzeichnis und einen eigenen 50.000-Zeilen-Scrollback-Buffer braucht. Sessions bieten saubere Isolation — zwischen Projekten wechseln heißt zwischen Sessions wechseln, nicht sich merken, welche Fensternummer zu welcher Aufgabe gehört.

Sessions vom Telefon erstellen

In der Tactic Remote App:

  1. Session-Picker antippen (oben auf dem Bildschirm)
  2. „Session erstellen" antippen
  3. Benennen (z.B. webapp)
  4. Zum Projektverzeichnis navigieren mit dem Pfad-Picker
  5. „Claude starten" antippen

Im Hintergrund löst das Folgendes aus:

tmux new-session -d -s webapp -c ~/code/webapp
tmux set-option -t webapp history-limit 50000
tmux send-keys -t webapp -l 'claude'
tmux send-keys -t webapp C-m

Dann für api und mobile wiederholen. Drei Sessions, drei unabhängige Claude Code-Instanzen, jeweils auf das richtige Projekt beschränkt.

Die Benachrichtigungs-Pipeline

Das ist der Teil, der den gesamten Workflow praktikabel macht. Ohne Benachrichtigungen müssten Sie ständig aufs Telefon schauen, ob Claude fertig ist. Mit ihnen können Sie tatsächlich weggehen.

Wie es eingerichtet wird

Die Mac-Companion-App konfiguriert Claude Code-Hooks automatisch beim Server-Start. Kein manuelles Setup nötig. Sie schreibt drei Shell-Skripte nach ~/.claude/hooks/:

#!/bin/bash
# claude-remote-stop.sh (auto-generated)
 
PORT="${CLAUDE_REMOTE_PORT:-8765}"
HOOK_SERVER_URL="http://localhost:${PORT}/hook"
 
TMUX_SESSION=""
if [ -n "$TMUX" ]; then
    TMUX_SESSION=$(tmux display-message -p '#S')
fi
 
PROJECT="$(basename "$PWD")"
TIMESTAMP=$(date +%s)
 
curl -s -X POST "$HOOK_SERVER_URL" \
    -H "Content-Type: application/json" \
    -d "{\"event\":\"Stop\",\"project\":\"$PROJECT\",\"tmux_session\":\"$TMUX_SESSION\",\"timestamp\":$TIMESTAMP}" \
    > /dev/null 2>&1 &
exit 0

Dann registriert sie diese Skripte in ~/.claude/settings.json, damit Claude Code sie bei Lifecycle-Events aufruft:

{
  "hooks": {
    "Stop": [
      {
        "matcher": "*",
        "hooks": [{ "type": "command", "command": "~/.claude/hooks/claude-remote-stop.sh" }]
      }
    ],
    "Notification": [
      {
        "matcher": "*",
        "hooks": [{ "type": "command", "command": "~/.claude/hooks/claude-remote-notification.sh" }]
      }
    ]
  }
}

Der Event-Fluss

Claude finishes task
    │
    ▼
Claude Code hook fires: claude-remote-stop.sh
    │
    ▼
curl POST http://localhost:8765/hook
  {"event": "Stop", "project": "webapp", "tmux_session": "webapp"}
    │
    ▼
Node.js server receives hook → broadcasts to all WebSocket clients
    │
    ├─► If iPhone is in foreground:
    │     Terminal shows: 📢 [Claude] Project completed
    │
    └─► If iPhone is in background:
          System push notification appears
          Tap → opens directly into the session

Deduplizierung

Claude löst manchmal mehrere Hook-Events in schneller Folge aus — zum Beispiel, wenn es mehrere Unteraufgaben nacheinander abschließt. Die iOS-App dedupliziert mit einem 3-Sekunden-Fenster. Wenn dasselbe Event (gleiches Projekt, gleiche Session, gleicher Zeitstempel) innerhalb von 3 Sekunden zweimal eintrifft, wird das Duplikat still verworfen. Kein Benachrichtigungs-Spam.

Der Review-Loop

So sieht ein typischer Review-Zyklus aus:

Schritt 1: Benachrichtigt werden

Mein Telefon vibriert: „Claude Task Completed — webapp"

Ich bin in einem Café, auf dem Sofa oder unterwegs zum Mittagessen. Spielt keine Rolle.

Schritt 2: Die Ausgabe prüfen

Benachrichtigung antippen. Tactic Remote öffnet sich direkt in der webapp-Session. Ich sehe Claudes vollständige Ausgabe — was es geändert hat, wonach es fragt, alle Testergebnisse.

Der Terminal-View bewahrt Claudes gesamte Formatierung: Syntax-Highlighting, Diff-Farben, Box-Drawing-Zeichen für die UI. Es ist keine abgespeckte Zusammenfassung — es ist die echte Terminal-Ausgabe, mit ANSI-Farben auf dem Telefon gerendert.

Wenn die Ausgabe lang ist, nach oben scrollen. Der 50.000-Zeilen tmux-Scrollback-Buffer bedeutet, nichts geht verloren, auch wenn Claude seitenweise Ausgabe produziert hat, während ich weg war. Die App kann bis zu 5.000 Zeilen mit „Mehr laden" abrufen.

Schritt 3: Genehmigen oder Umlenken

Drei häufige Szenarien:

Claude wartet auf Erlaubnis, einen Befehl auszuführen:

Claude zeigt etwas wie:

> Need permission to run: npm install bcrypt
> [y/n]

Ich tippe den Y-Button in der Tastatur-Toolbar. Ein Tippen. Claude macht weiter.

Claude ist fertig und am Prompt:

Ich tippe eine neue Anweisung: „Schreibe jetzt Tests für das Auth-Modul." Absenden. Claude beginnt an der nächsten Aufgabe. Ich lege das Telefon weg.

Claude hat einen Fehler und braucht Anleitung:

Ich lese den Fehler, tippe eine Antwort mit Erklärung, was anders zu machen ist, und sende sie. Claude passt seinen Ansatz an.

Schritt 4: Weggehen

Nach dem Genehmigen oder Umlenken wechsle ich zur nächsten Session (Session-Picker antippen, api antippen), um die andere Aufgabe zu prüfen. Wenn sie noch läuft, gehe ich weg und warte auf die nächste Benachrichtigung.

Der Loop ist: Benachrichtigung → Prüfen → Handeln → Weggehen. Jeder Zyklus dauert 30 Sekunden bis 2 Minuten, je nachdem, was Claude produziert hat.

Strategie für parallele Aufgaben

Mehrere Claude-Instanzen parallel zu betreiben ist mächtig, erfordert aber etwas Disziplin. Hier was ich gelernt habe:

Jeder Aufgabe ein klares, vollständiges Briefing geben

Senden Sie keine vagen Anweisungen wie „arbeite am Frontend." Senden Sie spezifische:

Refactor the authentication module in src/auth/ to use JWT tokens
instead of session cookies. Update all route handlers that check
auth. Write tests. Run the existing test suite to make sure nothing
breaks.

Je spezifischer Ihr Prompt, desto länger kann Claude autonom arbeiten, bevor es Input braucht. Vage Prompts bedeuten mehr Unterbrechungen.

Starts staffeln

Starten Sie nicht alle drei Sessions gleichzeitig. Starten Sie eine, warten Sie, bis sie zu arbeiten beginnt (Sie sehen die erste Ausgabe in etwa 5 Sekunden), dann die nächste starten. Das verhindert, dass alle drei gleichzeitig Genehmigungsabfragen auslösen, was drei Benachrichtigungen auf einmal bedeuten würde.

Die beschäftigtste zuletzt prüfen

Beim Review: Beginnen Sie mit der Session, die am längsten läuft — sie ist am ehesten fertig oder steckt fest. Die zuletzt gestartete Session arbeitet wahrscheinlich noch.

Session-Namen, die Sinn ergeben

Wenn Sie eine Push-Benachrichtigung bekommen, die „Claude Task Completed — webapp" sagt, müssen Sie ohne Nachdenken wissen, was das bedeutet. Benennen Sie Sessions nicht session1, session2, session3. Benennen Sie sie nach Projekten oder Aufgaben.

Schnellaktionen, die ich ständig nutze

Die Tastatur-Toolbar am unteren Rand des Chat-Views hat Sondertasten für die Claude Code-Interaktion:

ButtonWas er tutWann ich ihn nutze
YSendet die y-TasteGenehmigungsabfrage bestätigen
NSendet die n-TasteGenehmigungsabfrage ablehnen
EnterSendet EnterAuswahl bestätigen
EscSendet EscapeAbbrechen oder schließen
TabSendet TabAutovervollständigung oder Optionen durchlaufen
Ctrl+CSendet InterruptAußer Kontrolle geratenen Prozess stoppen

Die Y- und N-Buttons existieren speziell, weil Claude Codes Genehmigungsabfragen die häufigste Interaktion sind. Mit einem einzigen Tippen genehmigen zu können — statt „y" auf einer Telefontastatur zu tippen — macht den mobilen Workflow praktikabel.

Meine .tmux.conf

Minimal. Nichts Ausgefallenes:

# Big scrollback — Claude produces a LOT of output
set -g history-limit 50000
 
# Mouse scrolling (not used much from the phone, but helpful at the desk)
set -g mouse on
 
# Start window numbering at 1
set -g base-index 1

Tactic Remote setzt den Scrollback beim Erstellen von Sessions auf 50.000, daher ist die .tmux.conf-Einstellung ein Backup für Sessions, die Sie manuell erstellen.

Wie das in der Praxis aussieht

Ein typischer Morgen:

8:00 — Am Mac hinsetzen. Drei Projekte brauchen Arbeit. Drei Sessions erstellen, aus der Mac-Companion-App (oder vom iPhone — beides geht).

8:05 — Claude in jeder Session eine detaillierte Aufgabe senden. In die Küche gehen.

8:20 — Erste Benachrichtigung: api-Session abgeschlossen. Auf dem iPhone prüfen. Claude hat Rate Limiting hinzugefügt, Tests bestehen. Nächste Aufgabe senden: „Füge jetzt die Rate-Limit-Header zur API-Dokumentation hinzu."

8:35 — Zweite Benachrichtigung: webapp-Session braucht Genehmigung. Öffnen. Claude möchte eine neue Abhängigkeit installieren. Prüfen, ob es richtig aussieht. Y tippen. Zum Schreibtisch gehen.

8:50 — Dritte Benachrichtigung: mobile-Session abgeschlossen. Prüfen. Sieht gut aus. Neue Aufgabe starten.

9:00 — Am Mac hinsetzen. Alle drei Projekte haben deutlichen Fortschritt gemacht. Diffs in Git prüfen, committen, pushen.

Eine Stunde, drei Projekte, das meiste erledigt, während ich Kaffee gemacht und gefrühstückt habe. Der telefonbasierte Review-Loop bedeutet, dass Claude nie blockiert war, weil es auf mich am Schreibtisch warten musste.

Tipps

Benachrichtigungen sofort aktivieren. Die Hooks werden automatisch von der Mac-Companion-App konfiguriert, aber Sie müssen die Benachrichtigungsberechtigungen auf dem iPhone gewähren, wenn Sie dazu aufgefordert werden. Machen Sie das beim ersten Start — der gesamte Workflow hängt davon ab.

Tactic Remote ins Dock legen. Sie werden es 20-30 Mal am Tag öffnen bei aktiven Entwicklungssessions. Mit einem Tippen erreichbar zu sein, ist wichtig.

Dem Scrollback vertrauen. Wenn Sie sich mit einer Session wiederverbinden, ist die gesamte Ausgabe da. Sie müssen Claude nicht fragen „was hast du gemacht?" — scrollen Sie nach oben und lesen Sie die Terminal-Ausgabe direkt.

Kein Mikro-Management. Der Sinn dieses Workflows ist, Claude substanzielle Aufgaben zu geben und wegzugehen. Wenn Sie alle 2 Minuten nachschauen, nutzen Sie es falsch. Geben Sie eine 15-Minuten-Aufgabe, warten Sie auf die Benachrichtigung, dann prüfen.


Für die technischen Details, wie Server, tmux und Benachrichtigungen unter der Haube funktionieren, siehe Claude Code per Smartphone fernsteuern. Für die Ersteinrichtung siehe Erste Schritte.

Tactic Remote ausprobieren

Coding-Agenten vom Smartphone aus steuern

Verbinde dich mit Claude Code, Codex und anderen Agenten auf deinem Mac-, Windows- oder Linux-Rechner. Prüfe den Fortschritt und sende die nächste Anweisung vom iPhone oder iPad.