Skip to main content
The Enfors watcher captures Claude Code (CLI) and Claude Desktop, on macOS or Windows. A single installer sets up a local Python process that reads their session transcripts and streams completed turns to Enfors, signed in with your account. (Agent SDKs like the OpenAI SDK integrate separately, by calling the Enfors gateway llm.enfors.ai directly.)

Install

Requirements — macOS or Windows, and Python 3 (installed automatically if missing — via Homebrew on macOS, via winget on Windows). The watcher is a single file with no third-party dependencies. The installer is idempotent, and detects and supersedes any earlier proxy-based install. On macOS, the optional menu bar indicator additionally needs the Xcode Command Line Tools — without them it is skipped and the watcher installs normally. On Windows, the tray indicator compiles unconditionally (the .NET Framework compiler ships with Windows).

What it does

1

Installs Python 3

Detected, or installed automatically if missing (Homebrew on macOS, winget on Windows).
2

Installs the watcher

enfors_watcher.py is installed to ~/.enfors/hooks/ and registered to run at login — a LaunchAgent (ai.enfors.watcher) on macOS, a Scheduled Task (EnforsWatcher) on Windows — restarting only on a crash, never on a clean stop.
3

Signs you in with SSO

A browser-based Cognito OAuth2 + PKCE flow (callback on localhost:8765). Tokens are cached to ~/.enfors/hooks/tokens.json and refreshed automatically.
4

Registers the Enfors MCP

Adds the Enfors MCP server to Claude Code and Claude Desktop.
5

Compiles the menu bar / tray indicator

A small app that shows the Enfors mark while monitoring is active.
Built locally with swiftc when the Xcode Command Line Tools are present; skipped with a warning otherwise (re-run the installer after xcode-select --install to add it).
Installer SSO step

Installer — SSO sign-in step

The enfors CLI

The installer adds an enfors command for managing the watcher — identical on macOS and Windows:
See Managing credentials for details.

The menu bar and tray indicator

The installer sets up a disclosure indicator — the Enfors mark in the macOS menu bar or the Windows system tray, visible exactly while monitoring is active. Clicking it shows “enfors workforce intelligence is active” (macOS) or a matching context menu (Windows) listing what’s currently being captured. The indicator is spawned and owned by the watcher itself — there is no separate LaunchAgent or Scheduled Task for it. If the watcher stops (enfors stop, crash, logout), the icon disappears within seconds; when the watcher runs again, it comes back. Icon on screen ⇔ transcripts are being captured — it cannot show a stale state.
On macOS, compiling the indicator requires the Xcode Command Line Tools. On machines without them the installer prints a warning and skips it — monitoring itself is unaffected. Install them with xcode-select --install and re-run the installer to add the indicator. On Windows, the tray indicator compiles unconditionally — there’s nothing extra to install.

Files it touches

Security

The watcher reads Claude Code and Claude Desktop’s local transcripts and uploads completed turns over HTTPS — there is no proxy, no TLS interception, and no root certificate installed. See Deployment & Security for the full IT/CISO detail.

Uninstall

See Uninstall.