session-recovery

Recover interrupted Copilot CLI sessions from the session_store SQLite database.

209|27|Updated Mar 10, 2026
One-click install
npx skills add https://github.com/dotnet/maui-labs --skill session-recovery-dotnet
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: session-recovery
Source: https://github.com/dotnet/maui-labs/tree/main/src/Comet/.copilot/skills/session-recovery
Command: npx skills add https://github.com/dotnet/maui-labs --skill session-recovery-dotnet

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires sql.

What problem does it solve?

It solves the problem of recovering progress when Copilot CLI sessions are interrupted, leaving work partially completed or stuck without an active agent.

Core Features & Use Cases

  • Detect interrupted sessions by querying the session_store SQLite database for recent session history and their latest checkpoint.
  • Reduce noise from automated sessions by filtering out high-volume keep-alive/heartbeat activity before presenting recovery candidates.
  • Reconstruct full session context by retrieving conversation turns, checkpoint progress, files touched, and linked refs (issues/PRs/commits) to determine what to resume.

Quick Start

Use the session_store SQL queries to identify the most recent human-initiated session with the last checkpoint, then resume it by running copilot --resume SESSION_ID.

Frequently Asked Questions about session-recovery

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I resume an interrupted Copilot CLI session after a crash?

To resume an interrupted Copilot CLI session, query the session_store SQLite database to locate the most recent human-initiated session and its latest checkpoint, then run copilot --resume SESSION_ID.

How do I find session history and checkpoints in the session_store database?

Session history and checkpoints are found by querying the session_store SQLite database to retrieve conversation turns, progress, files touched, and linked refs to reconstruct full session context.

Can I filter out automated keep-alive sessions when recovering Copilot CLI workflows?

Yes, you can filter out automated keep-alive and heartbeat sessions by applying automation filtering to the session_store query results, reducing noise before presenting actual recovery candidates.

Does Copilot CLI session recovery work with issue-driven development and PR creation attempts?

Session recovery works across coding, issue-driven development, and PR creation attempts by extracting full session context and linked refs from the database before resuming the halted agent.

What's the best way to locate a halted Copilot session using a working directory?

The best way to locate a halted Copilot session by working directory is optionally searching the session_store database using FTS5 or working-directory matching to find the correct session ID.

Why does my Copilot CLI session recovery show too many automated sessions?

Session recovery shows too many automated sessions because high-volume keep-alive and heartbeat activity is stored in the database; applying automation filtering removes these entries before presenting candidates.