By aef123
Track Copilot CLI sessions with automatic heartbeats, task reporting, and a real-time dashboard. Includes bootstrap and initialize-machine skills.
Provision all Azure infrastructure for Copilot Session Tracker. Creates resource group, Entra app registration, Cosmos DB, App Service, and configures GitHub Actions deployment.
Configure this machine for Copilot Session Tracker. Installs the PowerShell module, configures auth, and updates copilot-instructions.md so Copilot automatically tracks sessions.
A .NET server with a React dashboard that tracks Copilot CLI sessions, tasks, and progress in real time.
Copilot CLI → PowerShell module → .NET Server → Cosmos DB
(auth + MCP calls) (MCP + REST) (storage)
↑
Dashboard
(React SPA)
/mcp) — handles writes via JSON-RPC tool calls (initialize-session, heartbeat, complete-session, set-task, add-log, get-session). Requires Entra ID bearer token./api/*) — handles reads (list sessions, tasks, logs, health check)az account get-access-token and wraps JSON-RPC calls. The CLI cannot call the MCP endpoint directly because it requires Entra bearer auth that the CLI's built-in MCP support doesn't handle.az) installed and authenticatedLog into the Entra tenant where your tracker is registered:
az login --tenant <your-tenant-id>
Run the initialize-machine skill from the Copilot CLI:
> initialize machine for copilot session tracker
This copies the PowerShell module to ~/.copilot/copilot-tracker/ and adds tracking directives to your copilot-instructions.md. See plugins/copilot-session-tracker/ for details.
After initialization, every Copilot CLI session will automatically:
All settings are stored in ~/.copilot/copilot-tracker-config.json, created by the initialize-machine skill. There are no defaults — you must run the skill to configure:
{
"serverUrl": "https://your-tracker.azurewebsites.net",
"tenantId": "your-entra-tenant-id",
"resourceId": "api://your-app-registration-client-id"
}
The module reads this file on every session startup, so changes take effect immediately without restarting your shell.
Access at: https://copilot-tracker.azurewebsites.net
Authenticates via Microsoft Entra ID (MSAL redirect flow). Shows active/completed/stale sessions, tasks, and real-time health metrics.
These tools are exposed on the /mcp endpoint. The PowerShell module wraps them
with authentication. They are not directly callable by the Copilot CLI because
the endpoint requires Entra bearer tokens.
| Tool | Description |
|---|---|
initialize-session | Register a new session |
heartbeat | Update session heartbeat |
complete-session | Mark session completed |
get-session | Get session details |
set-task | Create or update a task |
add-log | Add a log entry to a task |
| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /api/sessions | Bearer | List sessions (query: machineId, status, since) |
| GET | /api/sessions/{machineId}/{id} | Bearer | Get a specific session |
| GET | /api/tasks | Bearer | List tasks (query: queueName, status) |
| GET | /api/tasks/{queueName}/{id} | Bearer | Get a specific task |
| GET | /api/tasks/{queueName}/{id}/logs | Bearer | Get task logs |
| GET | /api/health | None | Health check |
| Function | Description |
|---|---|
Initialize-TrackerConnection | Set the server URL and machine ID |
Start-TrackerSession | Create a new session and start the heartbeat |
Send-TrackerHeartbeat | Manually send a heartbeat (normally automatic) |
Complete-TrackerSession | Mark session completed, stop heartbeat |
Get-TrackerSession | Fetch session details via REST API |
Set-TrackerTask | Create or update a task |
Add-TrackerLog | Append a log entry to a task |
src/
CopilotTracker.Server/ .NET web server (MCP + REST + SPA host)
CopilotTracker.Core/ Domain models, services, interfaces
CopilotTracker.Cosmos/ Cosmos DB repository implementations
dashboard/ React/Vite SPA
plugins/
copilot-session-tracker/ Installable Copilot CLI plugin
shared/ PowerShell module + startup script (canonical source)
skills/initialize-machine/ Machine setup skill (SKILL.md)
templates/ copilot-instructions.md snippet template
deploy/ Bicep IaC + setup scripts
tests/ .NET + PowerShell tests
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub aef123/copilot-tracker --plugin copilot-session-trackerLive multi-session dashboard for Claude Code — real-time visibility and control over every Claude Code session from a browser
Live TUI dashboard for monitoring all active Claude Code sessions, status, context usage, tokens, and latest messages at a glance.
Mission Control for Claude Code — auto-starts a web dashboard, provides 90 MCP tools (sessions, stats, live monitoring, projects, teams, insights, coaching, and more), and adds 9 skills including /session-recap, /daily-cost, /standup, /coaching, /insights, and /team-status.
Tracks Claude Code session usage (tokens, costs, skills, MCP, subagents) and sends data to a self-hosted dashboard.
Inter-session communication for Claude Code — session registry, messaging, and coordination
Observability platform for Claude Code and Agent SDK — monitor, debug, and control AI coding agents