answer·6 min read

Does Judgment Labs block agent actions?

Judgment Labs scores agent traces and alerts on them after they run. That is a deliberate design, not a gap to wait out. What the docs say, why monitors stay off the hot path, and how to add blocking beside judgeval.

the short answer

No. Judgment Labs scores agent traces and alerts on them after execution. It does not block, pause or rewrite an agent's action. Its monitoring runs off the request path, while blocking requires a separate check before the tool executes. Failproof AI can analyze sessions to find recurring behavioral failures, then use low-latency policies at supported agent hooks when a finding maps to an action that should be steered or blocked.

Blocks an action
No. Responses are notifications, webhooks, automations and dataset actions.
Coverage
Traces the judge evaluated - not necessarily every trace sent.
To block
A check before the tool runs: an agent hook, a gateway, or a guard in your code.

What Judgment Labs Documents

Judgment Labs' public site and docs do not describe intercepting, pausing or rewriting an agent's action. Everything documented acts on traces after they are recorded:

  • Monitoring "applies known behaviors to live agent traffic" and "shows how often a signal appears". The responses it lists are "a notification, webhook, dataset action, or additional evaluation". (docs)
  • Coverage is sampled. The same page says the measures "describe traces the judge evaluated, not necessarily every trace sent to the project".
  • Automations run on finished traces. They "evaluate conditions against each completed trace", and code-side evaluation runs "without blocking". (docs)
  • Scoring is off the request path. The judgeval README describes online monitoring that scores "live production traffic server-side with no latency impact". (GitHub)
  • The coding-agent plugin observes. The judgment-plugin repository sends Claude Code and Codex sessions to Judgment Labs for judging; it does not gate commands.

So the precise answer: Judgment Labs tells you, after the fact and for the traces it judged, that an agent did something. It does not stand between the agent and the tool.

Why Monitoring and Blocking Use Different Checks

Judgment Labs keeps its judges off the request path, which gives its monitoring no latency impact but also means it cannot stop the action being evaluated. That is one risk posture: preserve agent speed and availability, then detect problems after execution.

Failproof AI takes a different approach. Code-based and LLM-based evaluations find failure modes after sessions run, while small deterministic policies handle the actions that need an immediate decision. Those policies run at the agent hook with very low latency, without waiting for an LLM judge on every tool call. Teams choose whether a policy should fail open or fail closed based on the consequence of allowing the action.

What Blocking Requires

A block needs three things: a decision point that runs before the action, visibility into what the action is, and a check fast and deterministic enough to sit there. There are three places to put it:

WhereWhat it seesExample
The agent harness hookEvery tool call the agent makes, including shell and file actionsThe PreToolUse hook in Claude Code and other harnesses; Failproof AI policies
A gateway in the request pathModel and tool calls routed through itFuture AGI's Agent Command Center, with its Tool Permissions scanner
A guard in your agent codeThe calls you wrapGalileo's open-source Agent Control, which checks LLM and tool inputs and outputs and returns deny, steer, warn, log or allow
Based on each vendor's product documentation.

Choose by where your agent's risky actions happen. A coding agent's rm -rf, git push --force or terraform apply never passes through a model gateway, so only a harness hook sees it. A custom agent built on a framework you control can be guarded in code. An agent whose tools are all API calls behind a gateway can be governed there.

How to Add Blocking Next to judgeval

You do not have to replace Judgment Labs to add runtime control. Keep judgeval tracing and your existing evaluations, then add a policy at the agent hook for a specific action the evidence shows should be stopped. Failproof AI supports twelve harnesses, including Claude Code, Codex, GitHub Copilot CLI, Cursor, OpenCode, Goose, Hermes and OpenClaw, and can deny a supported tool call before it runs.

  1. Install the CLI, wire the hooks, add the pack

    The CLI is free and MIT-licensed. policies --install wires hooks into your agent CLIs and enables no policy by itself. The coding agent policy pack holds 38 policies with 10 on by default - block-push-master, block-env-files, protect-env-vars, block-sudo, block-curl-pipe-sh and five sanitize-* redactors. Others in the pack, such as block-rm-rf, you enable by name.

    npm install -g failproofai
    failproofai policies --install
    failproofai policies add FailproofAI/policies
    failproofai policies add block-rm-rf
  2. Write a policy for the behavior your judge keeps flagging

    Suppose your judge flags sessions where the agent ran terraform apply against production. A PreToolUse policy denies the command before it runs, and the deny reason tells the agent what to do instead. The file name must end in policies.js, policies.mjs or policies.ts.

// infra-policies.js - production infrastructure changes go through review, not the agent
import { customPolicies, allow, deny } from "failproofai";

customPolicies.add({
  name: "block-prod-terraform-apply",
  description: "Deny terraform apply or destroy against production",
  match: { events: ["PreToolUse"] },
  fn: async ({ toolName, toolInput }) => {
    if (toolName !== "Bash") return allow();
    const command = String(toolInput?.command ?? "");
    if (/\bterraform\s+(apply|destroy)\b/i.test(command) && /\bprod(uction)?\b/i.test(command)) {
      return deny("Production infrastructure changes go through a reviewed PR. Run terraform plan and describe the change instead.");
    }
    return allow();
  },
});

Enable it with failproofai policies --install --custom ./infra-policies.js. If a hard stop is too blunt, return instruct(reason) instead of deny(reason): the action continues with guidance for the agent - useful, but never a safety boundary. On Failproof AI Cloud you can author the same rule in the policy editor, backtest it against the calls your agents already made to count the working calls it would interrupt, and deploy it in observe mode before switching to enforce.

Keep the original evaluation running after deployment. Policy decisions show whether the risky action was attempted and stopped; the evaluation shows whether the agent learned to complete the task safely instead of repeatedly hitting the rule. Turn judge findings into runtime policies walks through discovery, testing, rollout and verification.

When Blocking Is Useful

Blocking matters when a single tool action can change production data, move money, expose credentials, publish code or send a customer message. Read-only agents and disposable sandboxes usually need stronger evaluation and monitoring before they need a runtime deny. Match the control to the consequence: observe low-risk behavior, steer recoverable mistakes and fail closed on actions the agent must never take.

FAQ

Does Judgment Labs have guardrails?

Not in the blocking sense. Its site and docs describe judges, behavior monitoring, alerts, webhooks, automations and dataset actions that work on recorded traces. They do not describe intercepting a model call or tool call. For runtime control, pair it with a tool that acts in the request path or at the agent hook.

Does the Judgment Labs Claude Code plugin block commands?

No. The judgment-plugin repository sends Claude Code and Codex sessions to Judgment Labs for judging; it observes the session rather than gating it. To block a command in Claude Code, use a PreToolUse hook. Failproof AI wires one with failproofai policies --install, and a policy you enable - from its coding agent pack or your own file - denies the command before it runs.

Will a blocking layer slow my agent down?

A runtime check adds some work before the action, but it does not need to add model-call latency. Failproof AI policies are small deterministic JavaScript checks over the tool name and input, designed to run with very low latency at the agent hook. LLM-based evaluations stay off the action path. The remaining choice is risk posture: which actions should fail open, fail closed or continue with steering if the policy cannot return a decision.

Does anything in Judgment Labs act automatically?

Yes, after the fact. Automations evaluate conditions against each completed trace and can fire an alert or webhook, add matching traces to a dataset, or run an additional evaluation. Those act on the recorded trace - notifying people or feeding tests - rather than on the agent's next action.

Get Started

Failproof AI is free to start. It finds recurring failure modes across agent sessions using code-based and LLM-based evaluations, groups the evidence into findings, and recommends fixes. Bring the eval suite you already have, alert the right owner when behavior drifts, and turn a tested fix into a policy that prevents the failure from recurring. See pricing for the tiers.

Sources

Checked against each vendor's own site and docs on 2026-09-14. Products change; if a detail here is out of date, tell us at support@befailproof.ai.

  1. Judgment Labs docs: Agent Behavior Monitoring
  2. Judgment Labs docs: Automations and alerts
  3. judgeval README on GitHub
  4. Judgment Labs homepage
  5. JudgmentLabs on GitHub (judgment-plugin)
  6. Future AGI: agent runtime guardrails
  7. Galileo: announcing Agent Control
  8. Failproof AI docs: Policy editor
  9. Failproof AI docs: Policy packs
  10. Failproof AI docs: Test a policy (backtest)
  11. Failproof AI docs: Harnesses