Skip to content

// Generated from the registry

Capabilities

A capability is something this machine can actually do, and most of them are answered by a probe: Halbert asks whether the thing is really there — a microphone, a reachable Home Assistant, a local model endpoint — and enables the features that depend on it. Where there is no probe, the answer is a decision rather than a measurement, and the install preset makes it.

Each capability resolves the same way every time: an explicit entry under capabilities: in being.yml wins; otherwise a probe answers it, where one exists; otherwise the variant preset’s default stands.

One capability departs from this. On a home-variant node sourceprep stays off even when the probe would find a daemon, so an inherited environment variable cannot quietly switch it on; an explicit capabilities: {sourceprep: true} in being.yml still opts that node in.

has_capability() is the only feature gate in the product. A feature that checks anything else is a bug.

Capability Probed by What it means
applescript no probe — preset decision The osascript tool surface may register on macOS. A configuration decision, not runtime detection — and the per-call switch still gates every execution, so this alone grants nothing.
audio _probe_audio The voice pipeline may run here (audio enabled and its engine present).
config_watcher _probe_config_watcher A config registry exists here, so the watcher has something to watch.
discovery no probe — preset decision System discovery scanners may run and record what this machine has.
ha_connection _probe_ha_connection Home Assistant is configured (URL and token in being.yml).
ingestion no probe — preset decision The journald and hwmon ingestion services may run on this machine.
local_llm _probe_local_llm A loopback model endpoint — this machine’s own model — is configured.
mcp_client no probe — preset decision Tools from external MCP servers may join the agent’s tool set. A configuration decision; none are configured by default, so it is inert until a server is added.
scheduler no probe — preset decision Scheduled jobs may run on their own, without someone asking first.
secure_model _probe_secure_model A secure, local-only model endpoint is configured right now.
secure_model_allowed no probe — preset decision This machine may host a secure, local-only model at all. A fresh install has none configured yet, so provisioning gates on this rather than on secure_model, which would never fire.
sourceprep _probe_sourceprep A SourcePrep daemon is configured for this machine to query.
terminal no probe — preset decision Shell sessions may be opened on this machine (PTY access).
web _probe_web Web search may send query text off this machine. Off unless the operator switches it on; no preset turns it on.