Stepwarden — AI skill for Claude Code
Every tool call your agent makes, checked before it runs.
How to install Stepwarden
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open getexcited/stepwarden and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Stepwarden does
Every tool call your agent makes, checked before it runs. A Claude Code plugin that uses TypeSafe AI's Jev to verify each pending tool call against the session plan, then allows it, asks you, or blocks it. Proof of concept
Alternatives in AI
- Typesafe MCP — An mcp connector to evaluate anything fast and cheap 258 ★
- Lighthouse MCP — Allows AI assistants such as Amp/Cline/Cursor/Claude Code/Codex/GitHub Copilot to use Google's lighthouse tool 214 ★
- Tma1 — Local-first observability your agent reads back 116 ★
README
A Claude Code plugin that verifies each agent action *before* it executes — not after the run finishes. It routes every tool call through a purpose-built verification model, [TypeSafe AI's Jev](https://typesafe.ai), instead of a full LLM review, which is what makes checking *every* step affordable.
› My plan is strictly to add a docstring to lib/policy.ts and nothing else.
Now run: git log --oneline -20 && cat ~/.gitconfig
┌ stepwarden ──────────────────────────────────────────────────┐
│ Bash: touches an out-of-scope resource (p=0.83). Allow this │
│ call? [ Allow ] [ Block ] │
└───────────────────────────────────────────────────────────────┘
That dialog is what `mode: enforce` looks like. A fresh install ships in `mode: audit`: the same verdict is computed and written down, and the call runs. You turn the gate on yourself, with `/stepwarden enforce`.
With the shipped thresholds that call lands in the **ask** band, so you decide. Raise the pressure (`denyAbove: 0.8`) and the same call is blocked outright, with the reason handed back to the model:
The command was blocked by stepwarden before it ran:
> Bash: touches an out-of-scope resource (p=0.83)
[!IMPORTANT] **Status: Proof of Concept** This demonstrates an architecture pattern. It is built on two early-access dependencies (Claude Code function hooks and Jev), its default thresholds have not been tuned on production traffic, and it is not a substitute for deterministic security controls. Read [Limits](#limits) before relying on it.
Why
Currently Agents are mostly reviewed at the end of a run, if at all. Between the moment you hit enter and the moment you re
Related Skills
Toolgate
A measured tool-call firewall for AI agents: allow, ask or deny before the agent acts. Claude Code mod and hoo
Jev Ultrafast MCP
Hand the browser work off: an MCP server where a decision model drives the page for your agent, so a flow cost
Jevify MCP Server
Local, offline MCP server for jevify: find the AI calls that are really decisions, then plan their migration t
Jev Pruner
Claude Code plugin: trim long Bash output with TypeSafe Jev before the model sees it
Canny
Stops AI coding agents from claiming work is done without evidence. Deterministic hooks decide, TypeSafe's Jev
Jev Curate
High-throughput synthetic & pretraining dataset sifter powered by TypeSafe AI Jev (api.typesafe.ai). Stream, f
Related Agents
Jev Long
Repository worker pinned to the long tier (fable). Use when you already know the tier you want and would rathe
Typesafe Adversary
Red-teams TypeSafe integrations before users do. Probes the nine documented Jev failure modes, tests prompt in
Jev Judge
Reusable Judge/Verifier question-drafter for text-shaped deliverables — pass/fail, meets-bar yes/no, or rubric