Claude Reflect is a background agent that watches Claude Code sessions, reads the codebase, and builds memory over time. It receives transcripts asynchronously and builds long-term context.
npx claudepluginhub maddygoround/claude-reflectClaude Reflect - A persistent memory agent for Claude Code. Watches your sessions, learns your patterns, and whispers guidance back.
A persistent, local background agent for Claude Code. Claude Reflect watches your sessions, maintains durable notes, learns from repeated patterns, and surfaces timely steer/insight messages back into Claude.

By default, Claude Code does not carry rich project memory across sessions. Reflect runs fully locally alongside Claude Code's plugin system and adds:
.subnotes/ by default, with canonical memory stored in the durable state's memory.json.PreToolUse can inject warnings, whispers, insights, asks, denies, or input corrections before a tool runs.CLAUDE.md or .claude/CLAUDE.md while also injecting targeted context directly through hook output.Claude Reflect currently has two cooperating parts: a continuous reflective worker and an autonomic control layer.
The continuous worker is started on SessionStart and fed transcript updates from UserPromptSubmit, PostToolUse, and mirrored Claude transcripts.
memory.json.conversation.json.Subconscious.af.sdkToolsMode is off, conversation search, web, and local file-reading tools.By default, the memory block set includes core_directives, guidance, pending_items, project_context, self_improvement, session_patterns, tool_guidelines, and user_preferences.
The autonomic subsystem is split across five systems:
autonomic/patterns.json.PreToolUse.Reflect is programmed via Subconscious.af to stay concise, observational, and useful. Foreground notes are rendered to the user as Notes reflect, Notes steer, or Notes insight rather than hidden internal logs.
/plugin marketplace add maddygoround/claude-reflect
/plugin install claude-reflect
/plugin enable claude-reflect
(To enable it globally for all projects: /plugin enable --global claude-reflect)Requires Node 18+.
git clone https://github.com/maddygoround/claude-reflect.git
cd claude-reflect
npm install
(Or use bun install if you prefer.)/plugin marketplace add ./.claude-plugin/marketplace.json
/plugin install claude-reflect
/plugin enable claude-reflect
Linux Note (tmpfs workaround): If installation or runtime fails with
EXDEV: cross-device link not permitted(common when/tmpis on a different filesystem), setTMPDIRfirst:mkdir -p ~/.claude/tmp && export TMPDIR="$HOME/.claude/tmp"
Reflect reads configuration from the durable state directory and falls back to a few environment variables:
export ANTHROPIC_API_KEY="your-api-key" # Required unless set as anthropicApiKey in config.json
export EXA_API_KEY="your-exa-key" # Optional: improves web_search results
export SUBNOTES_HOME="$HOME" # Optional: relocate durable state out of the repo
SUBNOTES_HOME is unset, durable state lives in <repo>/.subnotes/.SUBNOTES_HOME is set, durable state lives in {SUBNOTES_HOME}/.subnotes/<repo-namespace>/.