Install the Web-Ingestion Gate
Add a reusable preflight rule that tells Codex, Claude, ChatGPT, OpenClaw, and compatible agents to check publisher signals before they acquire external web content.
Fast Install
For Codex, run the installer once for your personal setup. It writes user-scoped instructions, installs a reusable runner under your Agent Permission config directory, and prints the exact API-key and verification commands for that runner.
npx -y agent-permission@latest install --adapter codex
node "$HOME/.config/agent-permission/agent-permission.mjs" config set api-key <YOUR_API_KEY>
node "$HOME/.config/agent-permission/agent-permission.mjs" config doctorInstall by Agent
Use a named adapter when you want an exact instruction target. The installer preserves existing content and replaces only the managed Agent Permission block on later runs.
Codex
Writes: ~/.config/agent-permission/codex.md
npx -y agent-permission@latest install --adapter codexBest for one personal Codex setup across repositories. Add --scope project when the instruction block should travel with a repo.
Claude
Writes: CLAUDE.md
npx -y agent-permission@latest install --adapter claudeAdds the same preflight contract where Claude project instructions live.
ChatGPT
Writes: agent-permission.chatgpt.md
npx -y agent-permission@latest install --adapter chatgptCreates a portable instruction file for ChatGPT project setup.
OpenClaw
Writes: AGENTS.md
npx -y agent-permission@latest install --adapter openclawUses the shared agent-instructions file expected by OpenClaw-style projects.
Project and User Scope
Codex defaults to user scope so one personal setup can work across repositories. Project scope is still available for repository instructions that should travel with the codebase. Other adapters continue to default to project scope.
npx -y agent-permission@latest install --adapter codex --scope project
npx -y agent-permission@latest install --adapter auto --scope projectWhat the Installer Adds
The managed block tells your agent to run a policy check before crawling, summarizing, extracting structured data, or training on external web content. It uses the installed runner as the check path so repeated URL requests do not need npm registry access. If live checks need a key, the block points at the exact runner-specific API-key command.
node "$HOME/.config/agent-permission/agent-permission.mjs" check <url> --action <crawl|summarize|extract|train> --exit-code
# If the runner is missing, repair installation once:
npx -y agent-permission@latest install --adapter codex --scope user
# If the API key is missing:
node "$HOME/.config/agent-permission/agent-permission.mjs" config set api-key <YOUR_API_KEY>- allow means the checked publisher signals support continuing under your own legal, contractual, and organizational controls.
- deny means the action is blocked.
- escalate means the agent should stop and ask for human approval.
Finish CLI Setup
Add an API key when you want live checks from the command line, CI, or agent runs. You can pass the key during install or configure it later. The check command can return JSON and map allow, deny, and escalate decisions to exit codes.
npx -y agent-permission@latest install --adapter codex --api-key <YOUR_API_KEY>
node "$HOME/.config/agent-permission/agent-permission.mjs" config set api-key <YOUR_API_KEY>
node "$HOME/.config/agent-permission/agent-permission.mjs" config doctor
node "$HOME/.config/agent-permission/agent-permission.mjs" check https://example.com/blog-post --action summarize --exit-codeThe CLI retains post and transact action values for compatibility. Those values reflect only publisher-declared URL signals and are not user, account, spending, or organizational authorization.
Add a Policy Check Before Ingestion
Check publisher signals before a crawler, RAG loader, extraction job, or training pipeline stores web content.