Skip to main content

Audit logging for Claude AI agents — transparent, tamper-evident, OSS

Project description

agentlens

Audit logging for Claude AI agents. Transparent, append-only, OSS.

Why

Anthropic logs API calls for their own safety monitoring — but that log is not yours. When your Claude-powered agent takes an action, you need your own tamper-evident record: for compliance, incident response, and accountability.

agentlens is a drop-in wrapper around the Anthropic SDK that captures every tool_use and tool_result event — without modifying requests or responses.

Design principles

  • Read-only interception — requests and responses are never altered
  • Append-only writes — log entries cannot be edited after creation
  • No AI in the logger — capture logic is deterministic code, not an LLM
  • Your data stays local — FileWriter (default) writes to your own machine; no data leaves your environment

Install

pip install agentlens-io

Usage

from agentlens import AuditedAnthropic

# Drop-in replacement for anthropic.Anthropic()
client = AuditedAnthropic(log_path="./audit.jsonl")

response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=1024,
    tools=[...],
    messages=[{"role": "user", "content": "..."}],
)
# Every tool_use and tool_result is now in audit.jsonl

Log format (JSONL)

{"event_type": "tool_use", "tool_use_id": "toolu_01xxx", "tool_name": "bash", "tool_input": {"command": "ls -la"}, "model": "claude-opus-4-6", "timestamp": "2026-04-05T10:00:00+00:00", "session_id": "..."}
{"event_type": "tool_result", "tool_use_id": "toolu_01xxx", "result_content": "file1.txt\nfile2.txt", "is_error": false, "timestamp": "2026-04-05T10:00:01+00:00", "session_id": "..."}

Custom writer

from agentlens.writers import BaseWriter

class MyWriter(BaseWriter):
    def write(self, event) -> None:
        # send to your own DB, S3, SIEM, etc.
        my_db.insert(event.to_json())

client = AuditedAnthropic(writer=MyWriter())

Run tests

pip install -e ".[dev]"
pytest tests/

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentlens_io-0.4.0.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentlens_io-0.4.0-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file agentlens_io-0.4.0.tar.gz.

File metadata

  • Download URL: agentlens_io-0.4.0.tar.gz
  • Upload date:
  • Size: 16.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agentlens_io-0.4.0.tar.gz
Algorithm Hash digest
SHA256 15e545eae7f6000caf1456014029db368de34fbcccb49ae6bb40964284a81328
MD5 b248d2a5822bd64f4364b64c5fa4c53e
BLAKE2b-256 494b622923bddfe68117bfac270434b4bb4713aa42c7dc68c37b73ec3b9c33dc

See more details on using hashes here.

File details

Details for the file agentlens_io-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: agentlens_io-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agentlens_io-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ed7ba842439dc1801c498c7defbe1dc4c0d216877b1d40294c24a1da757976d1
MD5 1df1c044763287e0a0a630f54dc58dd2
BLAKE2b-256 235469985350773007f0d4861ad16d05f39cb33813bb32d2404a77a1fb74be6f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page