Data flow & trust
Enzyme’s local-first philosophy makes every stage inspectable. Your markdown workspace remains the source of truth; Enzyme writes local runtime instructions, config, and an index; catalyst generation during init or refresh may send selected excerpts through Enzyme hosted credits/auth by default, or to your own provider when you intentionally pass --use-env-llm.
This page gives a practical footprint for someone deciding whether to run Enzyme on a markdown vault.
Command-by-command footprint
| Stage | What it reads | What it writes | Network/provider behavior |
|---|---|---|---|
curl -fsSL enzyme.garden/install.sh | bash | No vault content. | Installs enzyme in ~/.local/bin. Recreates ~/.enzyme while preserving ~/.enzyme/auth.json and ~/.enzyme/config.toml when present. May remove legacy Enzyme MCP entries. | Best-effort install telemetry may be sent. If no auth file exists, the installer may run enzyme login. No note content is sent. |
enzyme install codex | Current workspace path and existing instruction files. | Adds/updates an Enzyme section in AGENTS.md and writes .agents/skills/enzyme/SKILL.md. | No note content is sent. |
enzyme install claude | Current workspace path and existing instruction files. | Adds/updates AGENTS.md, writes .claude/skills/enzyme/SKILL.md, and ensures CLAUDE.md imports @AGENTS.md. | No note content is sent. |
enzyme install hermes | Current workspace path. | Installs Hermes-compatible workspace instructions and a global ~/.hermes/skills/enzyme/SKILL.md. | No note content is sent. Hermes support is experimental. |
enzyme install openclaw | Current workspace path. | Installs OpenClaw-compatible workspace instructions and a global ~/.openclaw/skills/enzyme/SKILL.md. | No note content is sent. OpenClaw support is experimental. |
enzyme scan --write-config | File paths, folders, tags, links, and markdown structure. | Writes or updates ~/.enzyme/config.toml. | No note content needs to leave the machine. |
enzyme init / enzyme refresh | Markdown files selected by config. | Writes the local index, normally <vault>/.enzyme/enzyme.db, plus derived embeddings/catalysts. | Embedding and retrieval work are local. Catalyst generation uses Enzyme hosted credits/auth by default and ignores inherited LLM env keys. It sends selected excerpts to your env OpenAI/OpenRouter/OpenAI-compatible provider only when you pass --use-env-llm. |
enzyme petri / enzyme catalyze | The compiled local index and source files needed for excerpts. | No durable write unless your agent separately writes notes. | Query-time retrieval is local and does not call an LLM. Results may be shown to the agent process. |
| Agent writeback | Whatever files the agent used as sources. | Ordinary markdown artifacts in your workspace, if the agent writes them. | Follow the writeback policy: durable, source-linked notes only; no secrets, raw tool dumps, or generic summaries. |
Accounts, credits, and provider choice
For catalyst generation, Enzyme needs an LLM provider. You have two paths:
- Use Enzyme hosted credits/auth (default). Sign in and run
enzyme initorenzyme refresh. InheritedOPENAI_*andOPENROUTER_*shell variables are ignored in this default path so existing personal keys are not used accidentally. - Bring your own provider intentionally. Set
OPENAI_API_KEYorOPENROUTER_API_KEYfor OpenAI, OpenRouter, or another OpenAI-compatible provider. Set base/model overrides when needed, then runenzyme init --use-env-llmorenzyme refresh --use-env-llm.
If you want a local-only catalyst-generation path, configure a local OpenAI-compatible server and pass --use-env-llm on init/refresh. No shell-variable cleanup is needed; choose the hosted default or the explicit env-provider flag.
What Enzyme does not do by default
- It does not move your markdown into a hosted memory database.
- It does not require you to adopt a proprietary note schema.
- It does not replace exact search for names, dates, filenames, or tags.
- It does not automatically understand every relationship unless your workspace exposes handles through prose, folders, tags, wikilinks, dates, or frontmatter.
- It does not mean every stage is local unless you intentionally configure a local provider and run
init/refreshwith--use-env-llm.
Reset, reinstall, and uninstall
Reinstalling with the install script recreates local Enzyme state under ~/.enzyme while preserving auth.json and config.toml when possible. Local vault indexes such as <vault>/.enzyme/enzyme.db can be regenerated with enzyme init.
To remove a vault index:
rm -rf /path/to/vault/.enzyme
To remove global Enzyme state:
rm -rf ~/.enzyme
To remove the binary:
rm -f ~/.local/bin/enzyme
Also remove any runtime instruction files you installed, such as .agents/skills/enzyme/SKILL.md, .claude/skills/enzyme/SKILL.md, or Enzyme sections in AGENTS.md / CLAUDE.md.
Trust test
Before relying on Enzyme, run a small trust test:
- Run
enzyme petriand confirm the entities look like your actual projects, people, folders, tags, or notes. - Run
enzyme catalyze "prep for the next meeting on <project>". - Check whether the returned files include source paths and excerpts that explain a real unresolved decision, commitment, or context thread.
- If the result is generic, edit config, exclude noisy folders, add clearer dated/project handles, then run
enzyme refresh.