feat(probe): report where a session runs on macOS

Closed
WI
10d ago
+826-21

sessions.location returns where a session runs: its verified current locations (its Ghostty pane, Terminal tab or iTerm2 pane, from the process, its controlling terminal and the hosting app), earlier observations, whether it is running, and the Claude app link that opens it when Claude Desktop maps one. The relay desktop app uses it to return Open to the window a session is already in.

  • relay::session_locations keeps observations in session-locations.sqlite3 beside the core's state, up to 20 process incarnations per session, keyed by provider, session ID, PID and start time. Old records are never treated as a live location.
  • relay::process::macos::terminal reads a process's controlling terminal.
  • contract/session_locations.rs defines the method; CoreContract.swift is regenerated and docs/relay-core.md lists it.
  • Linux and Windows answer supported: false: locating a window there needs a per-terminal integration that does not exist yet.

πŸ€– Generated with Claude Code


Agent Relay sessions

  • claude session b881bd94 Β· opened via gh pr create Β· last active 2026-11-03