Skip to main content

Snubber Logo

Snubber Architecture Diagram

Catch the shock. Stop AI agents from burning tokens on infinite loops.

MIT License Rust Edition 2024 no_std compatible Build Status


Snubber: Two Products, One Safety Layer


What Is Snubber?

Snubber is the runtime safety layer for autonomous agents. It detects and blocks tool‑call loops before they burn tokens or crash your infrastructure. It works in any harness, any language, in under 70 microseconds.

We ship two products that serve different audiences:


Product 1: Snubber Core

The Engine

The Snubber Core is a C ABI library written in Rust (no_std). It does exactly one thing: it takes a tool call, checks it against a sliding window of recent calls, and returns a decision — ALLOW, WARN, BLOCK_RETRY, or BLOCK_HALT.

Key properties:

  • <2µs overhead – zero allocations in the hot path
  • <200KB binary – no runtime dependencies
  • C ABI – embeds anywhere C runs (Python, Node.js, Go, Rust, C++)

What it does:

  • Semantic loop detection (ignore_args: true) – catches the same tool with different arguments
  • Error‑aware counting (count_mode: ErrorsOnly) – ignores legitimate polling
  • Circuit breaker – per‑tool cooldown prevents retry storms
  • Output validation – regex + JSON schema on tool outputs

Who it’s for:

  • Harness developers (LangChain, CrewAI, AutoGen maintainers)
  • Systems engineers embedding safety in custom agents
  • Rust developers building agent frameworks

Distribution:

  • Crates.io: cargo add snubber
  • GitHub: snubber-rs/snubber
  • Pre‑built binaries: libsnubber.so, libsnubber.dylib, snubber.dll

Product 2: Snubber Adapters + Reference Harness

The Drop‑In Safety Layer

For developers who don’t want to build from scratch, Snubber provides ready‑to‑use adapters that wrap the core into your existing agent harness. One line of code, instant safety.

Available adapters:

  • LangChain – pip install snubber-langchain
  • CrewAI – pip install snubber-crewai
  • AutoGen – pip install snubber-autogen
  • LangGraph – pip install snubber-langgraph
  • Node.js (coming soon) – npm install @snubber/langchain

Also included:

  • Snubber Harness – a complete, safety‑first Rust ReAct agent harness. It’s open‑source and serves as a reference implementation, showcasing how to build a harness with Snubber embedded as a first‑class primitive.

Who it’s for:

  • Python developers using LangChain, CrewAI, AutoGen, or LangGraph
  • Teams that want to drop safety into their existing codebase without rewriting
  • Early adopters who want to see Snubber in action before committing

Distribution:

  • PyPI: pip install snubber-*
  • npm: npm install @snubber/*
  • Docker: docker run snubber/harness

How They Work Together

┌─────────────────────────────────────────────────────────────┐
│                      YOUR APPLICATION                       │
│  ┌─────────────────────────────────────────────────────┐    │
│  │   LangChain / CrewAI / AutoGen / LangGraph         │    │
│  └─────────────────────┬───────────────────────────────┘    │
│                        │                                     │
│  ┌─────────────────────▼───────────────────────────────┐    │
│  │   Snubber Adapter (Python / JS / Go)                │    │
│  │   – Calls the C ABI core                            │    │
│  │   – Intercepts tool calls                           │    │
│  │   – Injects SYSTEM INTERCEPT messages               │    │
│  └─────────────────────┬───────────────────────────────┘    │
│                        │                                     │
│  ┌─────────────────────▼───────────────────────────────┐    │
│  │   Snubber Core (libsnubber.so)                      │    │
│  │   – Sliding window                                  │    │
│  │   – Semantic detection                              │    │
│  │   – Circuit breaker                                 │    │
│  └─────────────────────────────────────────────────────┘    │
└─────────────────────────────────────────────────────────────┘

The Value Proposition

User Problem Snubber Solution
Python developer LangChain loop detection is experimental pip install snubber-langchain – instant safety
Rust developer Need embeddable loop detection cargo add snubber – <2µs, zero allocations
Enterprise team 429 crashes, token waste Snubber blocked loops in 4 harnesses, saved 100% of tokens
Harness maintainer Want to add safety to your framework Snubber Core – C ABI, embeddable anywhere

Summary

Product What It Is Who It’s For Get It
Snubber Core C ABI library (Rust no_std) Framework devs, systems engineers cargo add snubber
Snubber Adapters Drop‑in wrappers for LangChain, CrewAI, AutoGen, LangGraph Python agent developers pip install snubber-*
Snubber Harness Reference Rust ReAct agent harness Rust developers, early adopters cargo install snubber-harness

License

MIT — use it, fork it, ship it. See LICENSE.

Release files for snubber-langchain 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for snubber-langchain 0.1.1
File Size Uploaded
snubber_langchain-0.1.1.tar.gz 3.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for snubber-langchain 0.1.1
File Interpreter ABI Platform
snubber_langchain-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 7.3 kB

Release files / snubber_langchain-0.1.1.tar.gz

Download URL snubber_langchain-0.1.1.tar.gz
Size 3.6 kB
Tags Source
SHA-256 checksum
How to use checksums
dfed4d3e2207c1cee4e8b9131ad0f5b62d60869efd44714381e57437d447268a
BLAKE2b-256 checksum
How to use checksums
32b14381fbba82a78aa6d092c70192ba08797bbf3cce54a93daf1ac42b2a8691
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / snubber_langchain-0.1.1-py3-none-any.whl

Download URL snubber_langchain-0.1.1-py3-none-any.whl
Size 3.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b0d1700a0d52a1dbedcb45ff18ca354fad3dbbe23bdde28f4b24091cca28db44
BLAKE2b-256 checksum
How to use checksums
9235e5b4261bd0f7f2031e1b45bf30885cbeda73e3026904409eab5680491709
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page