The 60-min RealmJoinTimeout deadline arms at RJ detection (the RJ agent MSI install during DeviceSetup) and used to cut off monitoring mid-install: report 55e6afd61c9d (session 46a96078) lost the tail of a large package catalog whose last observed package completed 3 seconds before the deadline, with the first deployment only starting 16 minutes into the window. When the deadline now fires with LastDeploymentPhase 100/101 and deployment activity (phase change or package observation, persisted restart-safe in RealmJoinFacts.LastActivityUtc; the detection-time phase capture deliberately does not count) inside the last 60 min, the handler re-arms to lastActivity + 60 min instead of timing out — Info event realmjoin_timeout_extended — clamped at an absolute cap of detection + 4 h. realmjoin_timeout carries a reason payload (hard_timeout / inactivity / absolute_cap); a fire of a deadline incarnation superseded by a re-arm dead-ends via the OccurredAtUtc == DueAtUtc scheduler contract. The idle case (no activity ever) still times out at 60 min, and phase-200/210 activity never extends. Packages are only registry-visible at completion, so the inactivity window keeps the full original 60 min. 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.
Availability
Autopilot Monitor is publicly available — the Community plan is free. Sign in with your work account at autopilotmonitor.com; new organizations complete a short activation step after first sign-in.
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 admin documentation is available at docs.autopilotmonitor.com
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.



