---
title: Local plugins and saved work
description: Know which copy you are editing, what Hay keeps, and what leaves your Mac.
group: Start here
---

# Local plugins and saved work

A local plugin can begin as a source folder, an imported bundle, or a personal interface created inside Hay. Installing it saves a copy in the current workspace.

## Where Hay saves plugins

Open **Plugins / Where plugins are saved / Show in Finder** to reveal the actual workspace file. On macOS the default user-data directory is:

```text
~/Library/Application Support/Hay/
  hay-account.enc
  workspace.json
  workspaces/<workspace-id>.json
```

The Hay account connection is device-wide. Its host-owned session is encrypted in `hay-account.enc`, outside the workspace snapshots. Sign-in does not upload this local content.

The original workspace uses `workspace.json`; additional workspaces use their own files. Installed HTML, manifests, personal drafts, plugin records, tasks, and granted capabilities are stored in the corresponding workspace snapshot. `HAY_DATA_DIR` can change the directory for development.

Keep workspace files private: they include work and conversations, not just distributable plugin code. Model credentials are handled separately by the trusted host. Browser sign-ins live in Chromium’s workspace-scoped profile, outside plugin records.

## Source and installed copy

An imported source project stays where you put it. Hay runs its installed copy. Editing the original `index.html` does not hot-reload the installed plugin.

Use **Export source folder** under **Share & publish** to get editable `manifest.json` and `index.html` from an installed optional plugin. Keep that folder in a separate repository if you want a source history. Generated personal interfaces can also be changed through **Edit interface**.

For an imported local plugin, increase its version and import the new file or source folder to request an update. Hay preserves records and tasks, retains old view IDs, and resets grants. A local import cannot take over a registry installation or replace a Hay-created personal interface; edit a personal interface through Create.

## Share code, keep records

**Export plugin file** produces a portable `.hay-plugin.json` bundle. **Export source folder** produces editable files. These app exports include the installed code and manifest only.

They exclude saved records, documents, conversations, sources, grants, credentials, and recovery snapshots. Recipients start with empty records. Exporting is a local save; it does not upload or publish anything.

You should still review the source before sharing: content deliberately written into HTML or JavaScript is part of the code export.

## Remove and restore

Uninstalling an optional plugin removes its executable copy and revokes its capabilities. Hay preserves the workspace records and task history. Reinstallation does not seed over existing records.

A registry-installed plugin must return from its original registry, version, and exact package digest to restore its archived namespace. Updates of an installed registry plugin require a newer release from the same recorded registry, retain existing view IDs and records, and reset grants for review. Unsupported migrations and downgrades are refused.

Personal interfaces also have a previous-version recovery path. Restoring an interface and recovering a saved record snapshot are separate actions; read the recovery controls before choosing one.
