Installation & operation

What PoisonZero watches

PoisonZero watches a fixed set of agent memory and configuration files on each device, locally. This page lists the exact path patterns under protection.

~6 min read · Installation & operation

Overview

Three groups of files are watched:

  • Instruction and rule files - always protected inside a detected project, cannot be switched off.
  • Agent configuration files - watched inside already confirmed agent projects.
  • Config and hook files - classified by path and routed to the config check.
Watching is local. Every change is scored before it takes effect; see installing PoisonZero.

Instruction and rule files (always on)

The known agent instruction and rule files. Protected inside every detected project root, recursively (** matches any depth), and never switchable off:

PatternWhat it is
**/CLAUDE.mdClaude Code project instructions
**/AGENTS.mdAgent instructions (Codex, OpenClaw)
**/GEMINI.mdGemini CLI instructions
**/.cursorrulesCursor rules
**/.clinerulesCline rules
**/.windsurfrulesWindsurf rules
Case is handled: on a case-insensitive filesystem claude.md is the same file the agent loads as CLAUDE.md, so it is matched too.

Agent configuration files

These configure what the agent is and what it may reach - which tool servers exist and what the workspace hands it. Watched inside already confirmed agent projects:

PatternWhat it is
**/.mcp.jsonMCP tool-server configuration
**/mcp.jsonMCP tool-server configuration
**/.vscode/tasks.jsonVS Code tasks (only under .vscode/)
These files are watched, but they are deliberately not used to discover new projects: a loose tasks.json sits in countless ordinary dev projects, so it is not a trigger on its own.

Config and hook files

Agent config and hook files, classified by their path and routed to the config check:

PatternWhat it is
**/settings.jsonAgent settings
**/settings.local.jsonLocal agent settings
**/setup.mjsAgent setup hook

The config route also includes the three agent-configuration files above (.mcp.json, mcp.json, .vscode/tasks.json).

Per-agent memory locations

The built-in registry ships default watch locations per agent, relative to the user home; the memory globs are relative to each agent root:

AgentHome pathMemory globs
Claude Code.claude**/memory/**, settings.json, settings.local.json, setup.mjs
OpenClaw.openclaw**/AGENTS.md, **/*.memory.md
OpenClaw Skills.openclaw/skills**/*.md
Agent Skills.agents/skills**/*.md
Cursor.cursorrules/**
Windsurf / Codeium.codeium**/memories/**
Cline.cline**/*.md
Continue.continue**/rules/**
OpenAI Codex.codex**/AGENTS.md
Gemini CLI.gemini**/GEMINI.md, settings.json
The registry also carries discovery-only entries (Claude Desktop, GitHub Copilot, Aider, Ollama, Zed) that locate an agent without adding memory globs.

Optional: all Markdown

  • Off by default.
  • The ProtectAllMarkdown toggle additionally covers every **/*.md file under a protected root.
Excluded directories such as node_modules are skipped when the watcher sets up recursively - one source of truth, no duplicate copy.

Once you know what is watched, see how a change is judged and reverted: PoisonZero is fail-closed and guards against memory poisoning.

Was this helpful?

Protect the files your agent reads on every run.

Free for Linux, macOS and Windows. Install once, updates run automatically.

Sign me up