Documentation

Installation

unlose is a Windows service + desktop app, installed with a single MSI (Windows 10/11 x64, admin rights). The service registers itself, starts with the system, and protection is on by default.

Official builds are the MSI from this website or the official GitHub repository only. The current release is unsigned; the code is fully open source (Apache-2.0) and auditable, and a signed build will follow in a later Release. Always verify the SHA256 checksum against the value published on each Release page.
If Windows shows "Windows protected your PC" on first run: click "More info" → "Run anyway". This is SmartScreen's default prompt for unsigned software (shown once), not a virus warning — just verify the SHA256 matches the official value.

Looking for older releases and SHA256 checksums? All releases →

# Download the official MSI (unlose.app or GitHub Releases), then double-click to install, or silently:
unlose-setup-x64.msi /quiet

# Service registers as unloseService and starts immediately

# Verify SHA256 with PowerShell (compare to the value on the Release page)
Get-FileHash unlose-setup-x64.msi -Algorithm SHA256

Quick start

No configuration needed. The service runs in the background: snapshots automatically when an AI agent starts, and at three fixed times daily by default (08:00 / 13:00 / 18:00; switchable to 6/12/24/48h intervals in Settings). Open the UI to see protection status and all historical time points.

# Open the main UI (Start menu or tray icon)

# Check status
unlose status

# List snapshots
unlose list-snapshots

CLI reference

The CLI uses strict exit codes (0=success / 1=operational failure / 2=usage error) — script-friendly.

# Manual snapshot
unlose snapshot --label "protecting before I work"

# Restore (a safety snapshot is taken automatically beforehand)
unlose restore-snapshot <id>

# Full command set
unlose snapshot [--label <text>]
unlose status
unlose list-snapshots
unlose delete-snapshot <id>
unlose restore-snapshot <id>

Restoring data

Two ways to restore: the desktop UI (recommended, visual) and the CLI (scripting).

Immersive restore: dual-pane timeline comparing historical snapshot vs. current state, four-color diff for deleted/modified/added files, line-level diff down to individual lines. Pick individual files or directories (directories include subtrees, auto-deduped) and restore them to a new directory of your choice — current files are never overwritten. Full-volume restore asks for confirmation first.

unlose auto-snapshots before every restore — even a failed restore never costs you the current state.

AI agent integration

unlose detects 30+ mainstream AI agents out of the box (Claude Code, Cursor, Copilot, Gemini CLI, Kimi, Qwen, Codex, DeepSeek and more) and snapshots automatically when a session starts.

Unique "global memory injection": on install, unlose idempotently injects a protection directive into your ~/AGENTS.md and installed agents' global memory files (original content preserved, injection block clearly marked) — the AI reads it itself: "snapshot before sessions, snapshot before dangerous operations, recover with unlose". Fully removed on uninstall, zero residue.

# MCP Server (AI tools call snapshot capabilities via MCP)
# Example config (copyable from Settings page):
{
  "mcpServers": { "unlose": { "command": "unlose", "args": ["mcp"] } }
}

# Skill file ships with the product: unlose-snapshot.skill.md

Security & privacy

unlose is a security tool; privacy is a design baseline:

  • Zero telemetry: no usage data, no account, no cloud
  • Never records screen, audio, keystrokes, or file contents for inspection — filesystem snapshots only
  • Snapshots live in VSS shadow storage — not ordinary files, so file-level deletion (including AI agents and ransomware) cannot reach them
  • Named-pipe IPC is ACL-restricted; restore requests have path-traversal protection
  • Logs stay local: %ProgramData%\unlose\logs

Found a vulnerability? Report via GitHub Private Advisory or security@unlose.dev (48h acknowledgment, 7-day initial assessment, 30-day fix or mitigation).

Building from source

Requires the .NET 8 SDK on Windows 10/11 x64. The full test suite runs locally.

git clone https://github.com/unlose-app/unlose.git
cd unlose
dotnet build src/Unlose.sln -c Release
dotnet test src/Unlose.Tests    # 134 unit tests
Code is Apache-2.0; the unlose name and logo are trademarks — fork it, but rename it (see TRADEMARK.md).

How we count

The unlose software itself has zero telemetry: no usage data, no account, never "phones home". This website uses privacy-friendly Umami analytics (no cookies, no personal data) to improve its content. Our policy is fully public:

  • Software: zero telemetry, no data reporting of any kind; the once-a-day update check fetches a static version file from this site and carries no user or machine information
  • Website: Umami analytics (no cookies, no personal data, self-hostable) for page views and download clicks — used only to improve this site
  • Downloads: the public counters on GitHub Releases are the source of truth (GitHub API)
  • All metrics are published in the monthly transparent report — we publish even when revenue is $0

In short: your files and actions belong to you; our counting stops at anonymous visits to these web pages.

Security policy

See SECURITY.md in the repository: report via GitHub Private Advisory or security@unlose.dev; SLA is 48h acknowledgment / 7-day initial assessment / 30-day fix or mitigation.

Scope note: unlose is a post-incident safety net, not a command interceptor. Destructive commands are never blocked — that is what interceptors are for.