Overview
Use this guide for a single Apple Silicon Mac without MDM. Beacon’s object storage forwarders are harness-neutral: they tail the system endpoint logs, so Claude Code, Codex CLI, Cursor, VS Code, opencode, and other configured integrations can share the same S3 or GCS pipeline. The end state is:- Beacon and bundled Vector are installed under
/opt/beacon. com.beacon.endpoint.collectorreceives local OTLP telemetry.- Supported hooks and plugins write to the same system runtime log.
- Runtime activity is stored in
/var/log/beacon-agent/runtime.jsonl. - Inventory telemetry is stored in
/var/log/beacon-agent/inventory_state.jsonl. - Vector forwards both streams to S3, GCS, or both:
install-forwarder.sh helpers.
The repair-hooks-and-forwarder.sh scripts under the claude/ package path are
Claude convenience wrappers: they install the same forwarder and then repair
Claude hooks. The forwarding services themselves do not inspect or depend on
the producing harness.
1. Install Beacon
Download and install the latest signed Apple Silicon endpoint package from GitHub Releases:2. Configure Runtime Harnesses
Object storage forwarding begins after events reach Beacon’s system logs. Configure the runtimes you use before troubleshooting the destination. The package configures the default native OTLP path for Claude Code and Codex CLI for the active console user. Other hook- or plugin-backed integrations use their normal endpoint installation commands. For example:3. Choose A Destination
Use a root prefix such asbeacon-prod. Do not include runtime or
inventory; Beacon appends those folders.
AWS S3
You need an AWS account where your current AWS CLI identity can create an S3 bucket, IAM user, and inline policy. Confirm the identity before making changes:us-east-1:
s3:PutObject below the Beacon root
prefix:
0600 file for the
launchd service. For production, prefer temporary credentials, a managed
profile, or web identity where your environment can refresh them. Configure
bucket encryption, lifecycle, retention, and access logging in AWS rather than
in Beacon.
Google Cloud Storage
You need a Google Cloud project where your currentgcloud identity can enable
APIs, create a bucket, create a service account, and manage bucket IAM. Confirm
the active identity and project:
roles/storage.objectViewer. If service-account key creation is blocked by
organization policy, stop here: packaged Vector 0.56 does not support
external-account Workload Identity Federation on macOS. Configure lifecycle,
retention, audit logging, and CMEK controls in Google Cloud rather than in
Beacon.
Forward To Both
The services have separate labels, configs, credentials, and checkpoint directories. Install both helpers to forward the same local events to S3 and GCS. After exporting the provider variables from the two sections above, run:4. Validate
Check the configured services:harness.name appears in a remote runtime object.
5. Operate And Troubleshoot
The forwarders persist checkpoints, so restarts and package upgrades resume from the last observed offsets. Runtime starts at the end on first install to avoid unexpected historical backfill; inventory starts at the beginning so the first snapshot is not missed. Check Vector errors:- The validation event was written before Vector started. Write another event.
- The configured bucket, region, or root prefix does not match the IAM policy.
- The service credential cannot create objects.
- The GCS credential path is not absolute, root-owned, and mode
0400or0600. - The write-only endpoint identity is being used for a list/read validation command.

