Inspiration

Desktop AI tools persist much more than a sidebar title. A single task can leave rollouts, SQLite rows, structured logs, prompt indexes, attachments, generated assets, UI state, tool results, and provider-specific session payloads across multiple locations. Manually removing these records is incomplete and dangerous because credentials, memories, plugins, automations, browser state, and project files live nearby.

I wanted cleanup to be an inspectable safety protocol: show every target, protect reusable work, require explicit approval, and verify the result.

What it does

LocalTrace is a Windows-first Codex and Claude plugin that turns local cleanup into a reviewable workflow: inventory, preview, approve, erase, and verify.

It uses a thin shared skill to select the requested provider, then delegates discovery and mutation to deterministic PowerShell and Python adapters. Destructive workflows are dry-run by default, require explicit scope, refuse to run while affected apps are open, enforce fixed roots and protected paths, and verify residual state after execution.

For Codex and ChatGPT Work, LocalTrace handles task descendants, current and pre-migration SQLite stores, logs, goals and continuation deferrals, task/job links, desktop catalogs, snapshots, prompt indexes, attachments, generated images, computer-use markers, visualizations, and mixed global UI state. Its read-only schema audit reports new task-ID-looking columns before coverage is claimed.

For Claude Desktop, Claude Code, and Cowork, it discovers packaged and legacy roots, connects Cowork JSON records to same-name payload directories and CLI transcripts, and protects plugins, settings, schedules, persistent memory, identity, and credentials.

LocalTrace is honest about its boundary: it removes local logical traces. It does not delete server-side account data and does not claim forensic erasure from SSD hardware.

How I built it

A Claude-oriented prototype existed before Build Week. During the event, I used Codex with GPT-5.6 as the main engineering environment to:

  • inspect live Windows artifacts and evolving SQLite schemas;
  • classify deletion, protection, and out-of-scope boundaries;
  • redesign the project as a current Codex plugin with a cross-provider adapter architecture;
  • implement official task deletion plus residual cleanup;
  • create synthetic fixtures for failure cases found during real dry-runs;
  • validate the manifests, scripts, protected paths, packaging, and judge workflow.

PowerShell handles Windows path discovery, process preconditions, plans, and verification. A small Python standard-library helper performs foreign-key-aware SQLite changes. The plugin packages Codex and Claude manifests while sharing the deterministic engine where behavior is genuinely common.

Challenges

UI state is not disk state

Archiving or hiding a task is not proof that every local index, log, rollout, desktop catalog, or provider payload disappeared. LocalTrace reconciles the actual stores rather than trusting one surface.

Structured stores require narrow mutation

Deleting a database file would be simple and destructive. LocalTrace removes only selected logical records inside transactions and lets the user opt into backups instead of silently creating a new retained copy.

Running apps rewrite state

An open desktop app can lock or recreate data after cleanup. Execute mode therefore requires affected processes to be closed.

Providers use different artifacts

Codex and Claude share a safety model, but not a storage schema. I kept one user-facing workflow while implementing provider-specific adapters and tests.

Accomplishments

  • Valid Codex and Claude plugin manifests with one shared user-facing skill.
  • Read-only inventory and dry-run-first deletion plans.
  • Scoped task, history, and conservative cache modes.
  • Protected-path and running-process guards.
  • Synthetic tests covering seven deletion, reconciliation, and protection scenarios.
  • A one-command judge test with no API key or private prompt data.
  • A public 2 minute 16 second demo with audio and AI-narration disclosure.

What I learned

The safest deletion UX is a reviewable protocol, not a button: preview, approve, erase, verify. Reusable AI customization is part of a user's work. Skills, plugins, settings, credentials, and memories should not be treated as disposable cache just because they live near transcripts.

Codex was especially useful for turning live artifact observations into explicit invariants, while GPT-5.6 repeatedly challenged broad deletion rules and exposed missing relationships across logs, goals, indexes, rollouts, and desktop stores.

What's next

Next I want to add restore-from-backup commands, version-specific storage adapters, richer verification reports, a signed Windows UI, and broader cross-platform coverage. The core safety model will remain the same: explicit scope, observable plans, narrow allowlists, and proof after execution.

Built With

Share this project:

Updates