Catalog PyPI
PACKAGE EXPLORERView in registry

agentcage

PyPI

Defense-in-depth proxy sandbox for AI agents

agentaicontainermitmproxyproxysandboxsecurity
Versions collected1
Direct dependencies3From release 0.40.2
Last observed20 Oct, 21:36 UTC

README

Version 0.40.2 documentation

agentcage logo

agentcage

Defense-in-depth security sandbox for autonomous AI agents.

Default-deny network egress • Zero-leak placeholder secret injection • TLS inspection proxy • Autonomous Policy API & Traffic Watcher • Multi-backend isolation (Linux rootless Podman, macOS Apple Container, Lima VM)


agentcage runs an AI coding agent — Claude Code, OpenAI Codex, Pi, OpenClaw, or any custom agent workload — inside an isolated sandbox whose only route to the outside world is an inspecting proxy you control.

The agent gets a working internet connection restricted to approved domains, cryptographically random decoy tokens instead of your real API keys, and zero ability to access the open internet, probe internal networks, or pivot back to your host machine.

agentcage run claude-code -s ANTHROPIC_API_KEY

That single command builds an unprivileged container, allocates a private internal network, launches an egress proxy with a DNS filter and TLS-inspecting inspector chain, stores your real API key encrypted on the host, hands the agent a fake placeholder token, mounts your current repository at /workspace with host-pivot protection masks, and drops you into an interactive Claude Code session.


Why agentcage?

Autonomous AI coding agents read untrusted input from the web, execute shell commands, install dependencies, and manipulate files. Running an agent directly on your machine or inside a naive container hands it what security researchers term the lethal trifecta: access to private credentials, arbitrary code execution, and unrestricted network egress.

Standard containerization alone does not protect you:

  1. Unrestricted Egress: A standard container can dial any IP on the internet. A prompt-injected agent or malicious dependency can trivially exfiltrate your entire repository or open a reverse shell to an attacker's C2 server.
  2. Exposed Credentials: Environment variables like ANTHROPIC_API_KEY or GITHUB_TOKEN are readable by every process in the container, any installed npm/pip package, and any prompt injection that executes env or curl.
  3. Internal Network Probing: Containers can reach RFC 1918 private subnets, your local LAN services, and cloud metadata endpoints (169.254.169.254), exposing internal databases and cloud IAM credentials.
  4. Host Pivoting via Workspace Mounts: A rogue agent can silently drop a malicious hook into /workspace/.git/hooks/ or a malicious configuration into /workspace/.claude/ that executes arbitrary code on your host upon your next manual commit.

agentcage eliminates each of these attack surfaces:

Attack SurfaceNaive Setup / Containeragentcage Defense
Outbound Data ExfiltrationAllowed to any IP / hostDefault-deny egress. All non-HTTP traffic is dropped. Only allowlisted domains resolve or connect.
Credential TheftReal keys sit in memory/envZero-leak placeholders. Real keys stay on host. Proxy injects credentials on the wire and redacts responses.
LAN / Metadata ProbingCan probe 192.168.x.x & 169.254.169.254Blocked. Private IPs, loopbacks, and wildcard DNS tricks (*.nip.io IP-encoding) are structurally rejected.
Host Pivoting via MountsCan write malicious git hooks to hostPivot masks. Writable project mounts automatically hide .git/hooks/ and .claude/ via tmpfs overlays.
Silent Policy ViolationsUnaudited and uninspectedDeep inspection & watcher. Real-time entropy / secret / payload scanning, structured audit logs, and HAR exports.

System Architecture

Every cage consists of a workload sandbox and an egress gateway container operating on an isolated, internal-only bridge network (Internal=true), orchestrated by systemd user quadlets (Linux) or microVM supervisors (macOS):

┌─────────────────────────── HOST MACHINE ───────────────────────────────────────────┐
│                                                                                    │
│  agentcage CLI (create, run, exec, domain, secret, watcher, doctor)                │
│  State & Encrypted Secrets: ~/.config/agentcage/ (systemd-creds / Apple Keychain)  │
│                                                                                    │
│  ┌───────────── Private Network: <name>-net (10.89.X.0/24, Internal=true) ─────┐   │
│  │                                                                             │   │
│  │   ┌──────────────────────────┐          ┌────────────────────────────────┐  │   │
│  │   │  WORKLOAD SANDBOX (cage) │          │  EGRESS GATEWAY (egress)       │  │   │
│  │   │  10.89.X.2               │          │  10.89.X.10                    │  │   │
│  │   │                          │          │                                │  │   │
│  │   │  Coding Agent Process    │          │  dnsmasq (DNS Filter)          │  │   │
│  │   │  • UID 1000 (workload)   │  DNS/53  │  • Allowlisted zones → upstream│  │   │
│  │   │  • All capabilities drop │─────────▶│  • Blocked zones → 198.51.100.1│  │   │
│  │   │  • No-new-privileges     │          │    (TEST-NET-2 sinkhole)       │  │   │
│  │   │  • Read-only rootfs      │  TCP     │                                │  │   │
│  │   │  • Pivot masks on .git   │─────────▶│  mitmdump (Inspecting Proxy)   │  │   │
│  │   │                          │          │  • :8080 HTTP proxy            │  │   │
│  │   │  Decoy Placeholders:     │          │  • :8443 transparent (iptables)│  │   │
│  │   │  agentcage:secret:KEY:…  │          │                                │  │   │
│  │   │                          │          │  Proxy Addon & Controls:       │  │   │
│  │   │  Trusted Per-Cage CA:    │          │  • Inspector Chain             │  │   │
│  │   │  /certs/ca-cert.pem      │          │    (domain, secrets, entropy,  │  │   │
│  │   └──────────────────────────┘          │     content-type, body-size)   │  │   │
│  │                │                        │  • Wire Secret Injector        │  │   │
│  │                │ Default route via      │  • Inbound Response Redactor   │  │   │
│  │                └──────▶ 10.89.X.10      │  • Policy API (agentcage.local)│  │   │
│  │                                         │  • Traffic Watcher Agent       │  │   │
│  │                                         │  • Protocol Relays (IMAP/SMTP) │  │   │
│  │                                         └───────────────┬────────────────┘  │   │
│  └─────────────────────────────────────────────────────────│───────────────────┘   │
│                                                            │ iptables:             │
│                                                            │  FORWARD policy DROP  │
│                                                            │  IPv6 FORWARD DROP    │
└────────────────────────────────────────────────────────────│───────────────────────┘
                                                             ▼
                                                     INTERNET / APIs
                                                (allowlisted domains only)

Outbound Request Lifecycle

When an agent performs an HTTPS call (e.g. GET https://api.anthropic.com/v1/messages):

  1. DNS Resolution: The agent queries dnsmasq. If anthropic.com is in the allowlist, it forwards upstream and returns the real A/AAAA record. If not, it resolves to 198.51.100.1 (RFC 5737 TEST-NET-2 sinkhole) so unauthorized destinations fail immediately with clear policy errors instead of silent timeouts.
  2. Transparent Interception: TCP port 443 is redirected by kernel iptables PREROUTING into the local mitmdump proxy on port 8443.
  3. Identity & Anti-Rebinding Checks: The proxy enforces strict SNI ↔ Host equality and verifies that the resolved peer IP is a globally routable public address (blocking DNS rebinding to internal subnets).
  4. Inspector Chain: Offloaded to worker threads to keep latency minimal:
    • domain: Verifies destination against permanent allowlists and active runtime grants.
    • secrets: Scans payloads with regex patterns; detects raw credentials leaving the sandbox.
    • entropy: Computes Shannon entropy (0–8 bits/byte) to catch encrypted or obfuscated exfiltration payloads.
    • content-type: Flags base64 blobs disguised inside JSON or plain text.
    • body-size: Enforces strict request body limits.
  5. Wire Secret Injection: Decoy placeholders (agentcage:secret:ANTHROPIC_API_KEY:<hex>) are substituted with the real secret on the wire — only for matching allowlisted domains and credential-bearing headers (Authorization, x-api-key, etc.).
  6. Upstream Request: Sent to upstream servers over verified TLS.
  7. Inbound Redaction: The proxy scans the server response; any echoed real secret is redacted back to its placeholder before reaching the cage.
  8. Forensic Logging: Decisions are written to audit.jsonl and full HTTP transactions are recorded in capture.jsonl (exportable as HAR 1.2).

Key Features

  • Strict Default-Deny Egress: Private container network (Internal=true). L4 iptables drop all forwarding by default; IPv6 is disabled outright. Non-HTTP protocols (TCP/UDP/ICMP) are dropped unless explicitly permitted in cage.yaml.
  • Zero-Leak Secret Injection: The sandboxed agent never touches your real API keys. Decoy entropic tokens are swapped on the wire outbound and redacted inbound. An agent tricked into printing its environment only leaks harmless placeholders.
  • Encrypted At-Rest Storage: Real secrets are encrypted at rest using systemd-creds on Linux and the macOS Keychain on Darwin.
  • Autonomous Policy API: Sandboxed agents can query https://agentcage.local/v1/allowlist to discover reachable domains and POST /v1/allowlist/requests to request dynamic domain access with a justification. An in-egress LLM Decider Agent scrutinizes the justification and grants temporary runtime access without operator intervention.
  • Autonomous Traffic Watcher: An opt-in background LLM agent re-examines audit logs and capture windows to detect subtle exfiltration, beaconing, or injection patterns, and can autonomously revoke compromised runtime grants in real time.
  • Host Pivot Protection: Project mounts hide .git/hooks/ and .claude/ via tmpfs masks (notmpcopyup and tmpcopyup), preventing agents from planting malicious git hooks that execute on your host machine.
  • Dual-Perspective HAR Forensics: Export complete network traffic via agentcage cage har loadable into Chrome DevTools — choosing either the inbound view (safe to share, placeholders only) or outbound view (wire-level debugging with real injected values).
  • First-Class Scaffolds: Pre-packaged, hardened templates for popular coding agents (Claude Code, Pi, OpenAI Codex, OpenClaw, and minimal base distros).

Backend Support Matrix

agentcage automatically selects the optimal isolation backend for your host machine:

Featurecontainerapple-containervm
Host OSLinuxmacOS 26+ (Apple Silicon)macOS (Intel / older), Linux
Runtime EngineRootless Podman + systemd quadletsApple container microVMsDedicated Lima microVM + Podman
Default OnLinuxmacOS 26+ ASi with Apple containerOther macOS environments
Isolation StrengthLinux namespaces + cgroups v2Hardware virtualization (Apple VZ)Hardware virtualization (QEMU / VZ)
Startup SpeedSub-second (fastest)Fast (~1–2s)Moderate (~10–15s VM boot)
Host Volume MountsFull host bind mounts (rw/ro)Full bind mounts under $HOMEStaged copies / sshfs
Read-Only RootfsSupported (read_only: true)Always RW (warned)Supported
Pivot Masks (.git/hooks)Supported via tmpfsEmulated via tmpcopyupSupported via tmpfs
Encrypted Secret Storesystemd-creds (TPM2 / host key)macOS KeychainmacOS Keychain / systemd-creds
Named VolumesSupportedNot supportedSupported
Published Host PortsSupported (reverse mitmproxy)Reached via direct vmnet IPSupported
Policy API & WatcherSupportedSupportedSupported
HAR 1.2 CaptureSupportedSupportedSupported

30-Second Quickstart

1. Install agentcage

Using the official one-line installer:

curl -fsSL https://raw.githubusercontent.com/agentcage/agentcage/master/install.sh | sh

Or install via Python package managers (uv or pip):

uv tool install agentcage
# or
pip install agentcage

Verify your host environment:

agentcage doctor

2. Ephemeral Session (One-Command Run)

Run an interactive coding agent in a temporary, sandboxed cage with your repository mounted. The cage is automatically torn down when the session exits:

# Run Claude Code in the current project directory (prompts for key securely)
agentcage run claude-code -s ANTHROPIC_API_KEY

# Run OpenAI Codex with an explicit project directory
agentcage run codex --project ~/code/my-repo -s OPENAI_API_KEY

# Run Pi terminal harness with a specific isolation backend
agentcage run pi --project . --isolation vm -s OPENAI_API_KEY

3. Persistent Cage

For continuous background agents, services, or multi-session workflows:

# 1. Generate a commented cage.yaml configuration
agentcage init my-cage --scaffold claude-code

# 2. Store your API key encrypted on the host
agentcage secret set my-cage ANTHROPIC_API_KEY

# 3. Build, generate quadlets, and start the cage
agentcage cage create -c cage.yaml

# 4. Attach an interactive shell or exec commands
agentcage cage exec my-cage -- claude
agentcage cage shell my-cage

# 5. Monitor and audit live traffic
agentcage cage logs my-cage -f
agentcage cage audit my-cage --follow --decision blocked

CLI Cheat Sheet & Aliases

agentcage provides top-level aliases for all common operations (agentcage run, agentcage exec, agentcage ls, etc.):

CAGE LIFECYCLE
  agentcage init [NAME] [--scaffold NAME]     Scaffold a new cage.yaml
  agentcage run <scaffold> -s KEY [--project] Launch ephemeral agent session (auto-cleanup)
  agentcage cage create -c cage.yaml          Build, install, and start persistent cage
  agentcage cage update NAME [--no-cache]     Rebuild images and restart cage
  agentcage start | stop | restart NAME       Control cage lifecycle (skips rebuild)
  agentcage destroy NAME [-y] [--keep-secrets]Stop containers, remove quadlets and state
  agentcage prune [-y]                        Remove exited interactive/ephemeral cages
  agentcage verify NAME                       Run runtime health diagnostics

WORKLOAD INTERACTION
  agentcage exec NAME -- CMD                  Execute a command inside the cage container
  agentcage exec NAME -s egress -- CMD        Execute a command inside the egress proxy
  agentcage shell NAME [--as-root]            Open an interactive shell in the cage
  agentcage logs NAME -f [-s egress]          Stream systemd journalctl container logs

EGRESS DOMAINS & GRANTS
  agentcage domain list NAME                  List allowlisted, blocked, and passthrough domains
  agentcage domain add NAME DOMAIN...         Add domains to filter (--expires-in 2h)
  agentcage domain rm NAME DOMAIN             Remove a domain from the filter list
  agentcage cage grants NAME list             List active runtime Policy API grants
  agentcage cage grants NAME promote DOMAIN   Promote dynamic grant into static cage.yaml
  agentcage cage grants NAME revoke DOMAIN    Immediately drop dynamic runtime grant
  agentcage cage grants NAME sync             Reconcile expired or accepted grants

SECRET MANAGEMENT
  agentcage secret set NAME KEY [--declare]   Store secret encrypted on host
  agentcage secret list NAME                  List stored secrets and injection bindings
  agentcage secret rm NAME KEY                Remove a stored secret
  agentcage secret rotate-placeholders NAME   Mint fresh random 128-bit decoy placeholders

FORENSICS & WATCHER
  agentcage cage audit NAME --summary         View aggregated proxy inspection statistics
  agentcage cage audit NAME -f -d blocked     Stream blocked traffic decisions in real time
  agentcage cage har NAME -o audit.har        Export HTTP flows as HAR 1.2 (inbound/outbound)
  agentcage watcher status NAME               Inspect background traffic watcher state
  agentcage watcher findings NAME             Review suspicious flow findings and revocations

CONFIG & MAINTENANCE
  agentcage edit NAME                         Open cage.yaml in $EDITOR with live validation
  agentcage doctor                            Check host dependencies and backend health
  agentcage scaffold list | show | create     Manage built-in and custom scaffolds
  agentcage cage backup NAME -o backup.tar.gz Backup cage configuration and state
  agentcage cage restore BACKUP.tar.gz        Restore or clone cage from backup archive

Built-In Scaffolds

Scaffolds package container definitions, volume mounts, and network policies tailored to specific agent harnesses:

ScaffoldAliasLifecycleDescription
claude-codeclaudeinteractiveAnthropic Claude Code CLI. Pre-configures anthropic.com allowlist, injects ANTHROPIC_API_KEY / CLAUDE_CODE_OAUTH_TOKEN, and masks .git/hooks and .claude/.
codex—interactiveOpenAI Codex CLI. Allowlists api.openai.com, injects OPENAI_API_KEY.
pi—interactivePi.dev autonomous terminal coding harness. Pre-configured for Anthropic/OpenAI keys or in-cage OAuth login.
openclaw—serviceAutonomous agent harness with browser automation and local web gateway (127.0.0.1:18789). Supports nested containers and named volume caching.
ubuntu—interactiveClean Ubuntu Linux environment with package management.
debian—interactiveMinimal Debian base sandbox.
arch—interactiveMinimal Arch Linux sandbox with pacman.
busybox—interactiveUltra-lightweight container for testing egress rules and scripts.

Custom scaffolds can be created, edited, and shared across your team using agentcage scaffold create my-scaffold --from claude-code.


Configuration Quick Reference (cage.yaml)

agentcage configurations use standard YAML (cage.yaml):

name: my-agent
isolation: container         # container | apple-container | vm (default: auto)
lifecycle: service           # service | interactive | ephemeral

container:
  image: node:22-slim
  command: ["bash"]
  user: 1000:1000
  read_only: true
  drop_capabilities: [ALL]
  no_new_privileges: true
  volumes:
    - ".:/workspace:rw"
  tmpfs:
    - "/tmp:rw,noexec,nosuid,size=512m"

domains:
  mode: allowlist
  allow:
    - api.anthropic.com
    - github.com
    - registry.npmjs.org
  passthrough: []            # Raw TCP TLS passthrough (bypasses MITM inspection)

secrets:
  backend: auto              # systemd-creds (Linux) or keychain (macOS)

secret_injection:
  - env: ANTHROPIC_API_KEY
    inject_to:
      - api.anthropic.com
    inject_headers: true
    inject_body: false

agents:
  decider:
    enable: true             # In-egress autonomous LLM decider for Policy API
  watcher:
    enable: true             # Background LLM auditor for traffic anomaly detection
    interval_seconds: 300
    auto_revoke: true

capture:
  enable_har: true
  max_body_size: 1048576     # 1 MB body capture limit

Full configuration reference: docs/reference/configuration.md.


Documentation Index

Explore the complete technical documentation in docs/:


Security & Disclosure

agentcage is an active defense-in-depth security harness. While it drastically reduces the threat surface of autonomous code execution, security is a continuous discipline. Always review project mounts, domain allowlists, and passthrough grants.

If you discover a security vulnerability in agentcage, please report it privately according to our Security Policy.

License

Licensed under the MIT License.

Downloads & popularity

26downloads
1-day window · source-reported counts19 Oct 2026
4382190
2026-07-22: 6 · observed 2026-10-20T22:23:32.7964701Z · period 2026-07-22–2026-07-222026-07-23: 6 · observed 2026-10-20T22:23:32.7964701Z · period 2026-07-23–2026-07-232026-07-24: 11 · observed 2026-10-20T22:23:32.7964701Z · period 2026-07-24–2026-07-242026-07-25: 6 · observed 2026-10-20T22:23:32.7964701Z · period 2026-07-25–2026-07-252026-07-26: 13 · observed 2026-10-20T22:23:32.7964701Z · period 2026-07-26–2026-07-262026-07-27: 2 · observed 2026-10-20T22:23:32.7964701Z · period 2026-07-27–2026-07-272026-07-28: 4 · observed 2026-10-20T22:23:32.7964701Z · period 2026-07-28–2026-07-282026-07-29: 1 · observed 2026-10-20T22:23:32.7964701Z · period 2026-07-29–2026-07-292026-07-30: 1 · observed 2026-10-20T22:23:32.7964701Z · period 2026-07-30–2026-07-302026-07-31: 3 · observed 2026-10-20T22:23:32.7964701Z · period 2026-07-31–2026-07-312026-08-01: 3 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-01–2026-08-012026-08-02: 3 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-02–2026-08-022026-08-03: 32 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-03–2026-08-032026-08-04: 3 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-04–2026-08-042026-08-06: 129 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-06–2026-08-062026-08-07: 5 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-07–2026-08-072026-08-08: 8 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-08–2026-08-082026-08-09: 13 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-09–2026-08-092026-08-10: 6 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-10–2026-08-102026-08-11: 8 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-11–2026-08-112026-08-12: 8 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-12–2026-08-122026-08-13: 7 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-13–2026-08-132026-08-14: 10 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-14–2026-08-142026-08-15: 2 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-15–2026-08-152026-08-17: 7 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-17–2026-08-172026-08-18: 168 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-18–2026-08-182026-08-19: 20 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-19–2026-08-192026-08-21: 7 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-21–2026-08-212026-08-22: 2 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-22–2026-08-222026-08-23: 6 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-23–2026-08-232026-08-24: 6 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-24–2026-08-242026-08-25: 273 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-25–2026-08-252026-08-26: 7 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-26–2026-08-262026-08-27: 4 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-27–2026-08-272026-08-28: 256 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-28–2026-08-282026-08-29: 96 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-29–2026-08-292026-08-30: 170 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-30–2026-08-302026-08-31: 34 · observed 2026-10-20T22:23:32.7964701Z · period 2026-08-31–2026-08-312026-09-01: 34 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-01–2026-09-012026-09-02: 103 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-02–2026-09-022026-09-03: 26 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-03–2026-09-032026-09-04: 359 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-04–2026-09-042026-09-05: 39 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-05–2026-09-052026-09-06: 19 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-06–2026-09-062026-09-07: 438 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-07–2026-09-072026-09-08: 39 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-08–2026-09-082026-09-09: 44 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-09–2026-09-092026-09-10: 8 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-10–2026-09-102026-09-11: 28 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-11–2026-09-112026-09-12: 12 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-12–2026-09-122026-09-13: 58 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-13–2026-09-132026-09-14: 34 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-14–2026-09-142026-09-15: 18 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-15–2026-09-152026-09-16: 42 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-16–2026-09-162026-09-17: 197 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-17–2026-09-172026-09-18: 115 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-18–2026-09-182026-09-19: 29 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-19–2026-09-192026-09-20: 317 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-20–2026-09-202026-09-21: 18 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-21–2026-09-212026-09-22: 7 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-22–2026-09-222026-09-23: 6 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-23–2026-09-232026-09-24: 1 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-24–2026-09-242026-09-25: 106 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-25–2026-09-252026-09-26: 17 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-26–2026-09-262026-09-27: 3 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-27–2026-09-272026-09-28: 8 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-28–2026-09-282026-09-29: 12 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-29–2026-09-292026-09-30: 12 · observed 2026-10-20T22:23:32.7964701Z · period 2026-09-30–2026-09-302026-10-01: 50 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-01–2026-10-012026-10-02: 5 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-02–2026-10-022026-10-04: 20 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-04–2026-10-042026-10-05: 25 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-05–2026-10-052026-10-06: 7 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-06–2026-10-062026-10-07: 4 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-07–2026-10-072026-10-08: 5 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-08–2026-10-082026-10-09: 16 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-09–2026-10-092026-10-10: 25 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-10–2026-10-102026-10-11: 27 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-11–2026-10-112026-10-12: 47 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-12–2026-10-122026-10-13: 6 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-13–2026-10-132026-10-14: 11 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-14–2026-10-142026-10-15: 9 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-15–2026-10-152026-10-16: 42 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-16–2026-10-162026-10-17: 33 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-17–2026-10-172026-10-18: 193 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-18–2026-10-182026-10-19: 26 · observed 2026-10-20T22:23:32.7964701Z · period 2026-10-19–2026-10-19
22 Jul19 Oct

pypistats · 86 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-19 – 2026-10-19262026-10-20T22:23:32.7964701Z
2026-10-18 – 2026-10-181932026-10-20T22:23:32.7964701Z
2026-10-17 – 2026-10-17332026-10-20T22:23:32.7964701Z
2026-10-16 – 2026-10-16422026-10-20T22:23:32.7964701Z
2026-10-15 – 2026-10-1592026-10-20T22:23:32.7964701Z
2026-10-14 – 2026-10-14112026-10-20T22:23:32.7964701Z
2026-10-13 – 2026-10-1362026-10-20T22:23:32.7964701Z
2026-10-12 – 2026-10-12472026-10-20T22:23:32.7964701Z
2026-10-11 – 2026-10-11272026-10-20T22:23:32.7964701Z
2026-10-10 – 2026-10-10252026-10-20T22:23:32.7964701Z
2026-10-09 – 2026-10-09162026-10-20T22:23:32.7964701Z
2026-10-08 – 2026-10-0852026-10-20T22:23:32.7964701Z
2026-10-07 – 2026-10-0742026-10-20T22:23:32.7964701Z
2026-10-06 – 2026-10-0672026-10-20T22:23:32.7964701Z
2026-10-05 – 2026-10-05252026-10-20T22:23:32.7964701Z
2026-10-04 – 2026-10-04202026-10-20T22:23:32.7964701Z
2026-10-02 – 2026-10-0252026-10-20T22:23:32.7964701Z
2026-10-01 – 2026-10-01502026-10-20T22:23:32.7964701Z
2026-09-30 – 2026-09-30122026-10-20T22:23:32.7964701Z
2026-09-29 – 2026-09-29122026-10-20T22:23:32.7964701Z
2026-09-28 – 2026-09-2882026-10-20T22:23:32.7964701Z
2026-09-27 – 2026-09-2732026-10-20T22:23:32.7964701Z
2026-09-26 – 2026-09-26172026-10-20T22:23:32.7964701Z
2026-09-25 – 2026-09-251062026-10-20T22:23:32.7964701Z
2026-09-24 – 2026-09-2412026-10-20T22:23:32.7964701Z
2026-09-23 – 2026-09-2362026-10-20T22:23:32.7964701Z
2026-09-22 – 2026-09-2272026-10-20T22:23:32.7964701Z
2026-09-21 – 2026-09-21182026-10-20T22:23:32.7964701Z
2026-09-20 – 2026-09-203172026-10-20T22:23:32.7964701Z
2026-09-19 – 2026-09-19292026-10-20T22:23:32.7964701Z
2026-09-18 – 2026-09-181152026-10-20T22:23:32.7964701Z
2026-09-17 – 2026-09-171972026-10-20T22:23:32.7964701Z
2026-09-16 – 2026-09-16422026-10-20T22:23:32.7964701Z
2026-09-15 – 2026-09-15182026-10-20T22:23:32.7964701Z
2026-09-14 – 2026-09-14342026-10-20T22:23:32.7964701Z
2026-09-13 – 2026-09-13582026-10-20T22:23:32.7964701Z
2026-09-12 – 2026-09-12122026-10-20T22:23:32.7964701Z
2026-09-11 – 2026-09-11282026-10-20T22:23:32.7964701Z
2026-09-10 – 2026-09-1082026-10-20T22:23:32.7964701Z
2026-09-09 – 2026-09-09442026-10-20T22:23:32.7964701Z
2026-09-08 – 2026-09-08392026-10-20T22:23:32.7964701Z
2026-09-07 – 2026-09-074382026-10-20T22:23:32.7964701Z
2026-09-06 – 2026-09-06192026-10-20T22:23:32.7964701Z
2026-09-05 – 2026-09-05392026-10-20T22:23:32.7964701Z
2026-09-04 – 2026-09-043592026-10-20T22:23:32.7964701Z
2026-09-03 – 2026-09-03262026-10-20T22:23:32.7964701Z
2026-09-02 – 2026-09-021032026-10-20T22:23:32.7964701Z
2026-09-01 – 2026-09-01342026-10-20T22:23:32.7964701Z
2026-08-31 – 2026-08-31342026-10-20T22:23:32.7964701Z
2026-08-30 – 2026-08-301702026-10-20T22:23:32.7964701Z
2026-08-29 – 2026-08-29962026-10-20T22:23:32.7964701Z
2026-08-28 – 2026-08-282562026-10-20T22:23:32.7964701Z
2026-08-27 – 2026-08-2742026-10-20T22:23:32.7964701Z
2026-08-26 – 2026-08-2672026-10-20T22:23:32.7964701Z
2026-08-25 – 2026-08-252732026-10-20T22:23:32.7964701Z
2026-08-24 – 2026-08-2462026-10-20T22:23:32.7964701Z
2026-08-23 – 2026-08-2362026-10-20T22:23:32.7964701Z
2026-08-22 – 2026-08-2222026-10-20T22:23:32.7964701Z
2026-08-21 – 2026-08-2172026-10-20T22:23:32.7964701Z
2026-08-19 – 2026-08-19202026-10-20T22:23:32.7964701Z
2026-08-18 – 2026-08-181682026-10-20T22:23:32.7964701Z
2026-08-17 – 2026-08-1772026-10-20T22:23:32.7964701Z
2026-08-15 – 2026-08-1522026-10-20T22:23:32.7964701Z
2026-08-14 – 2026-08-14102026-10-20T22:23:32.7964701Z
2026-08-13 – 2026-08-1372026-10-20T22:23:32.7964701Z
2026-08-12 – 2026-08-1282026-10-20T22:23:32.7964701Z
2026-08-11 – 2026-08-1182026-10-20T22:23:32.7964701Z
2026-08-10 – 2026-08-1062026-10-20T22:23:32.7964701Z
2026-08-09 – 2026-08-09132026-10-20T22:23:32.7964701Z
2026-08-08 – 2026-08-0882026-10-20T22:23:32.7964701Z
2026-08-07 – 2026-08-0752026-10-20T22:23:32.7964701Z
2026-08-06 – 2026-08-061292026-10-20T22:23:32.7964701Z
2026-08-04 – 2026-08-0432026-10-20T22:23:32.7964701Z
2026-08-03 – 2026-08-03322026-10-20T22:23:32.7964701Z
2026-08-02 – 2026-08-0232026-10-20T22:23:32.7964701Z
2026-08-01 – 2026-08-0132026-10-20T22:23:32.7964701Z
2026-07-31 – 2026-07-3132026-10-20T22:23:32.7964701Z
2026-07-30 – 2026-07-3012026-10-20T22:23:32.7964701Z
2026-07-29 – 2026-07-2912026-10-20T22:23:32.7964701Z
2026-07-28 – 2026-07-2842026-10-20T22:23:32.7964701Z
2026-07-27 – 2026-07-2722026-10-20T22:23:32.7964701Z
2026-07-26 – 2026-07-26132026-10-20T22:23:32.7964701Z
2026-07-25 – 2026-07-2562026-10-20T22:23:32.7964701Z
2026-07-24 – 2026-07-24112026-10-20T22:23:32.7964701Z
2026-07-23 – 2026-07-2362026-10-20T22:23:32.7964701Z
2026-07-22 – 2026-07-2262026-10-20T22:23:32.7964701Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.40.225 Sept 20263

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
agentcage/agentcage

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:36 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:25abb186ad2d5a87858602241025e87cef2f16f7ff969a2c80802968741ac37e