IME writes its "[Win32App] .... Completed user session N ...." line at the end of EVERY user-session processing pass, not when user-scope enforcement is finished. Field sessions 14690fc2 and 6cb01530 (2026-07-10, WhiteGlove Part 2 + mid-AccountSetup reboot) matched the line on the first post-reboot pass with 13-18 required apps still pending; arm C of ShouldTransitionToAwaitingHello took the signal as its fourth fact and the session completed Succeeded five minutes later (HelloSafety timeout -> FinalizingGrace) mid-install, spraying app_install_starved events. Harden at the signal source: ImeLogTrackerAdapter.EmitUserSessionCompleted now consults the new ImeLogTracker.GetPendingRequiredUserEspInstallApps() probe (AccountSetup phase, Install intent, not terminal) and defers the decision signal while the list is non-empty. The fire-once flag stays unclaimed, so the completion line of a later pass re-evaluates and posts once the apps have settled. Error counts as terminal (GRS owns retries) so a permanently failed app cannot park the signal - and with it the AdvisoryCompletion conjunction - into a 30-min-backstop false Failed. Non-AccountSetup completions post as before (pre-anchor stamps stay harmless via IsImeUserSessionGenuine). Observability for the field watch: INFO log line per suppressed pass plus a one-shot agent_trace (decision=ime_user_session_completion_deferred, pending count + capped names) on the session timeline. Session 04e8d52e Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
AutopilotMonitor
Advanced monitoring and troubleshooting solution for Windows Autopilot deployments. Gain full visibility into every enrollment session with a detailed event timeline, fleet health dashboards, and session reporting. Define custom analysis rules to automatically detect issues and gather rules to collect targeted evidence. Retrieve diagnostics packages on demand, configure agent settings like auto-reboot behavior and automatic timezone adjustment — all managed centrally from the web dashboard.
Private Preview
Autopilot Monitor is currently running as a Private Preview. Visit autopilotmonitor.com to request access and learn more.
Overview
Autopilot Monitor provides real-time tracking, intelligent diagnostics, and automated troubleshooting for Windows Autopilot enrollment processes. It consists of:
- Bootstrap Script — PowerShell script deployed via Intune that starts monitoring early in the enrollment process
- Monitoring Agent — Lightweight .NET application that collects telemetry and evidence during enrollment
- Backend API — Azure Functions-based ingestion and processing pipeline
- Web Dashboard — Next.js application for real-time monitoring and fleet analytics
Architecture
For detailed information about the system architecture, components, and data flow, see Architecture Documentation.
Documentation
Full documentation is available at autopilotmonitor.com/docs
License
This project uses a split licensing model:
- MIT License — Agent (
src/Agent/) and Shared library (src/Shared/) — unrestricted use on end-user devices - AGPL-3.0 — Backend (
src/Backend/), Web Dashboard (src/Web/), and MCP Server (src/McpServer/) — server-side components remain open source
See LICENSE for full details.



