Setup

1. Claude Cowork

Use the Claude Plugin for Cowork to have Enzyme guide your first-time setup.

  1. 1 In the Claude app, open Cowork.
  2. 2 Go to Customize → Browse plugins.
  3. 3 Open Plugins → Personal → + → Add marketplace.
  4. 4 Enter jshph/enzyme, click Enzyme, then click Install plugin.
  5. 5 Start a new Cowork task in your markdown folder and ask: /enzyme
What does /enzyme do?

/enzyme scans your vault, asks you to confirm what folder structures, wikilinks, and tags to focus on, handles login if needed, initializes the local index, and writes persistent agent instructions to AGENTS.md. After setup, future sessions use the generated instructions and refresh hooks, so you do not need the slash command for ordinary exploration.

What does setup write?

Enzyme is not a memory in itself; you define how you want your agent to write memory (as Markdown). Enzyme builds an index from this and teaches the agent how to use that index.

Setup writes a local SQLite index and embeddings beside the vault, or in the app runtime mirror when the filesystem requires it. It also writes a config file to ~/.enzyme/config.toml which you can modify, so future refreshes use the same structure.

Setup also writes an block of instructions to AGENTS.md and makes CLAUDE.md import it.

When an agent writes a session note, decision log, research memo, or synthesis into the vault, Enzyme can pick it up on refresh. That is how memory compounds: agent traces become markdown, markdown becomes indexed context, and indexed context shapes the next session.

2. Terminal-based setup for coding agents

Terminal
$ curl -fsSL enzyme.garden/install.sh | bash
$ cd /path/to/your/vault
$ enzyme init

Try asking:

  • > catch me up on how our system design has evolved.
  • > look around and tell me what I'm not seeing.
  • > help me prep for a meeting with A; i need to bring in my thinking about X, but explore ways to ask about Y.

Questions

Does it only work with Obsidian?

No. Obsidian works well because its vaults are plain markdown with links, tags, folders, and timestamps. Enzyme can also index any markdown folder with enough accumulated structure to learn from.

Do I need to organize first?

No. Enzyme works with whatever structure exists — half-used tags, links that go nowhere, inconsistent folders. Incomplete organization is still signal. Even 20-30 documents is enough to compile a useful graph.

What gets sent to the cloud?

During enzyme init, excerpts are sent to an LLM for catalyst generation. Your raw files stay on your device. Nothing is stored on Enzyme's servers.

If you bring your own API key, excerpts go directly to the provider you configure. If you use Enzyme's default provider, excerpts are sent to OpenRouter (a US-based model provider). Enzyme does not store your raw files or log your note content. See privacy for details.

Using local or self-hosted models

Set all three environment variables to use a custom provider. If only some are set, Enzyme uses the default provider for your workspace.

# All three are required together
export OPENAI_API_KEY="sk-..."
export OPENAI_BASE_URL="https://api.openai.com/v1"
export OPENAI_MODEL="gpt-4o"
enzyme init

For local servers (LM Studio, Ollama, vLLM) that don't require authentication, use a placeholder key:

# LM Studio
export OPENAI_API_KEY="not-needed"
export OPENAI_BASE_URL="http://localhost:1234/v1"
export OPENAI_MODEL="qwen/qwen3-8b"
enzyme init

# Ollama
export OPENAI_API_KEY="not-needed"
export OPENAI_BASE_URL="http://localhost:11434/v1"
export OPENAI_MODEL="qwen3:8b"
enzyme init

When your config is active, enzyme init prints the resolved model, base URL, and a masked key so you can confirm it's using your provider.

Provider compatibility: Enzyme uses the OpenAI chat completions format. Most providers work out of the box. Tested providers include OpenRouter, OpenAI, Azure OpenAI, Together AI, Groq, LM Studio, Ollama, and vLLM.

Go deeper