AI agents executing tool calls have no control point between model output and actual execution. Schema validation rejects malformed args — it can't decide whether DROP TABLE users should run right now. Agentwall adds that layer. Classifies each call as safe, cautious, or destructive. Destructive calls require approval before running. Every attempt is logged as JSONL. Rollback hooks compensate if a session fails. Python + TypeScript. Works with Anthropic, OpenAI, LangChain. Zero runtime deps.
Hey PH 👋 I'm the builder.
Built agentwall after running agents against real systems and realizing there was nothing between "model decides to call this" and "it runs." Frameworks assume if arguments pass schema validation the call should execute — but schema validation can't decide whether DROP TABLE users is appropriate right now.
The design decision I'm least sure about: using regex rules on tool name and serialized arguments for classification. It's simple and deterministic but breaks on edge cases. Would love to know how people here are thinking about risk classification for tool calls.
Happy to answer anything.