Skip to main content

Command overview

beacon endpoint install configures the local endpoint agent, writes the OpenTelemetry Collector configuration, installs the collector service, configures selected agent harnesses, and optionally adds Splunk HEC or Falcon LogScale HEC collector destinations. The service is a launchd job on macOS and a systemd unit on Linux. Where neither is available, Beacon runs a supervised collector instead and says so. See macOS or Linux for the platform setup, including the Linux packages and the --service flag.
Command syntax
By default, Beacon configures Claude Code and Codex CLI telemetry for local or customer-controlled runtime JSONL logs. Gemini CLI and VS Code Copilot telemetry are opt-in with the gemini and vscode harnesses. Claude Code can also use optional hook telemetry for richer lifecycle, subagent, permission, and tool detail; install the endpoint agent first, then add Claude hooks with beacon endpoint hooks install --harness claude. Codex uses OTLP logs plus one selective turn trace for tokens, and its required SessionStart hook adds local OS-user context. Beacon applies redaction, sanitization, truncation, and event-size limits before writing supported content fields. GitHub Copilot CLI and Factory Droid OTLP are managed through their launch environments, so Beacon validates their telemetry state but does not mutate shell profiles during install.

Flags

Telemetry destination question

On a first interactive install the onboarding prompt ends with one more question, where this machine’s agent telemetry should go, as an arrow-key menu with three answers: --connect is already the answer, so it skips the question. BEACON_MANAGED_INGEST=0 hides the Beacon answer; the question is never shown non-interactively. The answer is stored in the local onboarding profile and never sent. Local and own-infrastructure answers are recorded at once and the question is not asked again. The Beacon answer is recorded only once the machine is connected, so if the install or the connection fails, the next interactive install asks again.

Examples

Install with the default per-user paths:
Install with the default per-user paths
Install without starting the collector service:
Install without starting the collector service
Configure only one harness:
Configure only one harness
Opt in Gemini CLI telemetry alongside the defaults:
Opt in Gemini CLI telemetry alongside the defaults
Configure VS Code Copilot telemetry:
Configure VS Code Copilot telemetry
Configure Devin CLI and Devin Desktop hooks alongside the default OTLP harnesses:
Configure Devin CLI and Devin Desktop hooks alongside the default OTLP harnesses
Include low-level runtime OTLP metrics that are filtered from JSONL by default:
Include low-level runtime OTLP metrics that are filtered from JSONL by default
Include raw Codex spans for troubleshooting:
Include raw Codex spans for troubleshooting
Install with system paths for a root-managed package or MDM deployment:
Install with system paths for a root-managed package or MDM deployment
Install and forward to CrowdStrike Falcon LogScale HEC:
Install and forward to CrowdStrike Falcon LogScale HEC
Configure Factory Droid’s OTLP endpoint through MDM or another customer-owned launch policy:
Configure Factory Droid's OTLP endpoint through MDM or another customer-owned launch policy
Configure GitHub Copilot CLI’s OTLP endpoint through MDM or another customer-owned launch policy:
Configure GitHub Copilot CLI's OTLP endpoint through MDM or another customer-owned launch policy
For richer hook telemetry, install runtime hooks after the endpoint configuration exists:
Install runtime hooks
Install Claude Code hooks at the user level:
Install Claude Code hooks at the user level
Install Grok Build hooks at the user level:
Install Grok Build hooks at the user level
Install Hermes Agent hooks at the user level:
Install Hermes Agent hooks at the user level
Hermes hooks write ~/.hermes/config.yaml and support user-level installs only. Install Qwen Code hooks at the user level:
Install Qwen Code hooks at the user level
Qwen Code hooks merge into ~/.qwen/settings.json. Qwen Code has no OpenTelemetry export to configure, so qwen is a hook harness on this command too: beacon endpoint install --harness qwen installs the same hooks and writes ~/.qwen/settings.json. Project-level Grok Build hooks write ./.grok/hooks/beacon-endpoint.json and require /hooks-trust in Grok before they execute:
Install project-level Grok Build hooks
System-mode install (--system) is supported on macOS and on Linux distributions that use systemd. Omit --system for the default non-root local install. GitHub Copilot CLI and Factory Droid OTLP use launch-environment settings rather tha Beacon-managed shell-profile edits.

Known limitations

A user-mode collector cannot run beside a system-mode one on the same machine. The collector health-check port (127.0.0.1:13133) is fixed, so the second collector cannot bind it; the install fails with Collector ports are not listening and rolls back the endpoint files it wrote. Either write the user-mode files without starting the service (beacon endpoint install --user --no-start) or uninstall the system endpoint first (sudo beacon endpoint uninstall --system). Tracked as GitHub issue #447.

Endpoint status

Inspect collector health, runtime log state, harnesses, diagnostics, and forwarding readiness.

Runtime hooks

Install hook-based telemetry after the endpoint collector is configured.