Kernel surface
Beacon loads nothing into the kernel and needs nothing beyond a standard POSIX system.
Everything it uses from the kernel:
To see the syscalls for yourself:
Binaries
Three static executables, no shared libraries, no minimum glibc version. They run the same on a minimal or older userland as on a full one.Footprint
Measured on Ubuntu 24.04 / amd64 after a live Claude Code session.Caveats
- The CPU figure is a range, not an average. Repeated 30-second samples came out between 0.1% and 0.3% of one core.
- These numbers come from a virtualized sandbox, where syscalls are slower than on bare metal. Expect equal or better on your own hardware.
Measuring it yourself
Network
Beacon listens on loopback only, and collection never sends anything off the machine.
The only outbound connections Beacon ever makes, for an egress allowlist:
Privileges and data
- In system mode the collector runs as root. Hooks run as the logged-in user and append to the same
log, which is why
/var/log/beacon-agent/runtime.jsonlis mode0666. - In user mode everything runs as you under
~/.beacon, with no privileges required. - The log contains prompt text, command lines, file paths, and tool inputs, after redaction and a 64 KiB per-event limit. Treat it as sensitive data.
- Account lookup goes through
getent, so accounts from OpenLDAP, SSSD, or AD resolve normally.
Pinning it to housekeeping cores
If you isolate cores for latency-sensitive work, keep Beacon off them. It only has two slow timers, but a timer firing on anisolcpus or nohz_full core is exactly what isolating that core was
meant to prevent.
beacon endpoint doctor --fix
rewrites the unit, which would wipe out your changes; drop-ins are left alone.
Uninstall
dnf remove keeps /etc/beacon/endpoint and /var/log/beacon-agent. Remove them
with sudo beacon endpoint uninstall --system if you want the data gone.
Related
Linux install
Packages, user-mode installs, and service management.
Data inventory
Exactly which fields are recorded and retained.

