Skip to main content

beacon ci

beacon ci runs Beacon telemetry collection for a single CI job without installing a persistent endpoint service or modifying user harness configuration.
beacon ci [command]
In v0.0.35, CI collection supports Claude Code. beacon ci exec starts a temporary local collector, injects Claude telemetry environment variables into the child command, writes normalized endpoint events to a CI runtime log, then validates that matching events were captured.
beacon ci is designed for ephemeral CI jobs. For managed endpoint rollout on laptops or workstations, use beacon endpoint install.

Commands

beacon ci exec

Run a command with Claude Code telemetry captured for the CI job.

beacon ci validate

Validate Beacon CI telemetry artifacts after a job step.

Artifact paths

By default, Beacon writes CI artifacts under $RUNNER_TEMP/beacon when RUNNER_TEMP is set. Otherwise it uses the system temp directory.
ArtifactDefault path
Runtime log$RUNNER_TEMP/beacon/runtime.jsonl
Collector config$RUNNER_TEMP/beacon/otelcol.yaml
Collector spool$RUNNER_TEMP/beacon/spool/otlp.jsonl
Use --log-path when your workflow needs a stable artifact path.

beacon ci exec

Run a child command with Claude Code telemetry captured:
beacon ci exec -- claude -p "Review this repository"
beacon ci exec starts a temporary Beacon collector, runs the child command after --, stops the collector, validates the runtime log, and prints the artifact paths. The child command’s exit code is preserved. When GITHUB_ACTIONS=true, Beacon records GitHub Actions run metadata such as workflow, run ID, commit, ref, and actor in the CI session result. Other CI environments are marked as ephemeral CI runs when CI is set.

Flags

FlagDescription
--harness <harness>CI harness to configure. Defaults to claude; only Claude Code is supported in v0.0.35
--log-path <path>CI runtime JSONL log path
--content-retention <mode>Content retention mode: metadata, redacted, or full. Defaults to full
--jsonPrint the execution and validation result as JSON
--min-events <count>Minimum matching events required during validation. Defaults to 1
--keep-artifactsKeep CI runtime log and collector config after exit. Enabled by default
Hidden operational flags are available for custom runners and tests, including --base-dir, --work-dir, --collector, --otlp-grpc-port, and --otlp-http-port.

Examples

Capture Claude Code telemetry in GitHub Actions:
beacon ci exec -- claude -p "Run the repository test suite and summarize failures"
Write CI telemetry to a known artifact path:
beacon ci exec \
  --log-path "$RUNNER_TEMP/beacon/runtime.jsonl" \
  -- claude -p "Review this pull request"
Capture metadata-only telemetry:
beacon ci exec \
  --content-retention metadata \
  -- claude -p "Inspect the changed files"
Print machine-readable output:
beacon ci exec --json -- claude -p "Check release readiness"

beacon ci validate

Validate an existing Beacon CI runtime log:
beacon ci validate
Validation checks that the runtime log exists, parses as Beacon JSONL, and contains at least the required number of matching harness events.

Flags

FlagDescription
--harness <harness>Required harness to validate. Defaults to claude
--log-path <path>CI runtime JSONL log path. Defaults to $RUNNER_TEMP/beacon/runtime.jsonl or the system temp path
--jsonPrint validation results as JSON
--min-events <count>Minimum matching events required. Defaults to 1

Examples

Validate the default CI artifact path:
beacon ci validate
Validate a custom runtime log:
beacon ci validate --log-path "$RUNNER_TEMP/beacon/runtime.jsonl"
Require at least three Claude events:
beacon ci validate --min-events 3

Claude Code

Review Beacon support for Claude Code endpoint telemetry.

Local testing

Validate Beacon runtime logs, events, dashboards, and MCP access locally.

Endpoint agent

Install persistent endpoint telemetry for managed devices.

Command reference

Browse Beacon commands by hierarchy.