← Schema index / Config Reference

agents schema (151-217)

Canonical generated docsThis section is generated from caco config schema --json. The table below preserves the runtime field path, type, required/default markers, and canonical description for every value in this slice.

Agent presets, retry policy, and managed runtime defaults. Model availability is defined canonically under providers.*.models plus model_discovery; legacy agents.{claude,codex,pi}.models is removed.

Field pathTypeRequiredDefaultCanonical description
└ agents.pi_daemon.web.portu16optionalDashboard listener port; required when enabled and distinct from the API port.
└ agents.pi_daemon.web.public_originstringoptionalExact plaintext HTTP browser origin override, without credentials, path, query, or fragment.
└ agents.pi_daemon.web.allow_insecure_httpbooloptionalOptional upstream plaintext HTTP setting.
└ agents.pi_daemon.ahpmapoptionalpi-daemon 1.0 AHP endpoint; when set, agent messages are delivered as AHP turns instead of socket wakes.
└ agents.pi_daemon.ahp.urlstringrequiredws:// or wss:// URL of the AHP host's /ahp endpoint (for example pi-daemon 1.0).
└ agents.pi_daemon.ahp.token_filestringrequiredOwner-private bearer-token file reference; bearer bytes are forbidden in config.
└ agents.pi_daemon.ahp.profilestringoptionalcacophonyHost profile (AHP provider) agent sessions are created with.
└ agents.pi_daemon.ahp.client_idstringoptionalcacophonyStable AHP client id; a resent message keeps its request id only while this is unchanged.
└ agents.pi_daemon.ahp.request_timeout_secsu64optional30Connection and request timeout in seconds.
└ agents.pi_daemon.ahp.turn_follow_secsu64optional3600How long Cacophony follows a turn for its end state; only an explicit delivery deadline cancels a turn.
└ agents.pi_daemon.ahp.identityenum[session_env_file, none]optionalsession_env_fileHow the host learns the agent's identity: session_env_file writes the agent's session.env beside its checkout for the host profile to load.
└ agents.pi_daemon.ahp.kindenum[ahp, pi-daemon]optionalahpWhat the host is: pi-daemon hosts also serve /chord and are attached with pi-client; the pi-daemon host defaults to pi-daemon.
└ agents.pi_daemon.ahp.chord_urlstringoptionalws:// or wss:// URL of a pi-daemon host's /chord endpoint; defaults to url with its trailing /ahp replaced by /chord.
└ agents.pi_daemon.ahp.apply_to_pibooloptionalfalseOpt pi and pi-on-demand TUI agents into /chord delivery through this pi-daemon host's node bridge, falling back to their native pane when the bridge has not accepted a message.
└ agents.pi_daemon.ahp.adaptor_extensionstringoptionalpi-durable-adaptor extension (absolute or ~/ path) that managed pi and pi-on-demand workspaces load with apply_to_pi, so the node's pi-daemon bridge serves their /chord session; unset loads nothing.
└ agents.pi_daemon.securitymapoptionalOwner-trusted host posture for a pi-daemon instance the operator owns.
└ agents.pi_daemon.security.allow_authority_root_overlapbooloptionalfalsePermit workloads rooted above pi-daemon state/credentials.
└ agents.pi_daemon.security.trusted_hostbooloptionalfalseAccept owner-declared session resources without the host's symlink/foreign-owner/foreign-writer authority gate.
└ agents.pi_daemon.security.resource_load_policyenumoptionalstrictstrict refuses a session when a declared resource fails to load; lenient records diagnostics like pi does.
└ agents.pi_daemon.paratenic_connectormapoptionalCacophony-owned Paratenic connector whose endpoint and credential reference are derived from this exact Pi-Daemon service.
└ agents.pi_daemon.paratenic_connector.enabledboolrequiredMake Cacophony supervise one Paratenic connector for this exact Pi-Daemon service.
└ agents.pi_daemon.paratenic_connector.provider_idstringoptionalpi-daemon-cacophonyStable AHP provider namespace, distinct from pi and the standalone pi-daemon provider; must match a configured launch descriptor.
└ agents.pi_daemon.paratenic_connector.binarystringoptionalparatenicReviewed Paratenic executable path/name.
└ agents.pi_daemon.paratenic_connector.poll_interval_msu64optional30000Pi-Daemon inventory polling interval in milliseconds.
└ agents.pi_daemon.paratenic_connector.request_timeout_msu64optional30000Pi-Daemon API and RPC setup timeout in milliseconds.
└ agents.pi_daemon.paratenic_connector.launch_presetsstringoptionalOwner-private reviewed managed-launch preset descriptor.
└ agents.pi_daemon.session_environmentmap[string, string]optionalNon-secret environment defaults enforced on every configured logical Pi session.
└ agents.ahp_hosts.<name>mapoptionalNamed AHP hosts that ahp agents' sessions live on; node-local entries win per name; the name pi-daemon falls back to agents.pi_daemon.ahp.
└ agents.ahp_hosts.<name>.urlstringrequiredws:// or wss:// URL of the AHP host's /ahp endpoint (for example pi-daemon 1.0).
└ agents.ahp_hosts.<name>.token_filestringrequiredOwner-private bearer-token file reference; bearer bytes are forbidden in config.
└ agents.ahp_hosts.<name>.profilestringoptionalcacophonyHost profile (AHP provider) agent sessions are created with.
└ agents.ahp_hosts.<name>.client_idstringoptionalcacophonyStable AHP client id; a resent message keeps its request id only while this is unchanged.
└ agents.ahp_hosts.<name>.request_timeout_secsu64optional30Connection and request timeout in seconds.
└ agents.ahp_hosts.<name>.turn_follow_secsu64optional3600How long Cacophony follows a turn for its end state; only an explicit delivery deadline cancels a turn.
└ agents.ahp_hosts.<name>.identityenum[session_env_file, none]optionalsession_env_fileHow the host learns the agent's identity: session_env_file writes the agent's session.env beside its checkout for the host profile to load.
└ agents.ahp_hosts.<name>.kindenum[ahp, pi-daemon]optionalahpWhat the host is: pi-daemon hosts also serve /chord and are attached with pi-client; the pi-daemon host defaults to pi-daemon.
└ agents.ahp_hosts.<name>.chord_urlstringoptionalws:// or wss:// URL of a pi-daemon host's /chord endpoint; defaults to url with its trailing /ahp replaced by /chord.
└ agents.ahp_hosts.<name>.apply_to_pibooloptionalfalseOpt pi and pi-on-demand TUI agents into /chord delivery through this pi-daemon host's node bridge, falling back to their native pane when the bridge has not accepted a message.
└ agents.ahp_hosts.<name>.adaptor_extensionstringoptionalpi-durable-adaptor extension (absolute or ~/ path) that managed pi and pi-on-demand workspaces load with apply_to_pi, so the node's pi-daemon bridge serves their /chord session; unset loads nothing.
└ agents.pi_client_binstringoptionalpi-clientpi-client binary that attaches to agents on kind: pi-daemon AHP hosts over /chord; a bare name is looked up on PATH.
└ agents.groupsmap[string, list[string]]optionalCluster-scoped named agent groups keyed by group name; values are ordered agent IDs or persistent declaration names..
└ agents.retrymapoptionalRetry policy for managed worker failures.
└ agents.retry.max_retriesu32optional10Maximum automatic retry attempts.
└ agents.retry.initial_backoff_secsu64optional5Initial backoff delay in seconds.
└ agents.retry.max_backoff_secsu64optional300Maximum backoff delay cap.
└ agents.retry.backoff_multiplierf64optional2.0Multiplier applied after each retry.
└ agents.stall_timeout_secsi64optional300Seconds before a running agent with no tool activity is marked Stalled.
└ agents.stall_escalation_timeout_secsi64optional600Seconds a Stalled agent is allowed before its tmux is killed.
└ agents.agent_cleanup_grace_secsu64optional300Seconds after completion before auto-discarding a completed agent. 0 disables.
└ agents.agent_directory_warn_age_secsu64optional604800Doctor warning threshold for old managed-agent runtime directories; diagnostic only, not a pruning policy.
└ agents.stale_socket_threshold_secsu64optional86400Seconds before stale orphan tmux sockets are pruned.
└ agents.runtimemapoptionalGlobal managed shell/runtime defaults.
└ agents.runtime.multiplexerstringoptionalherdrPersistent terminal host for new shell agents: herdr or tmux. Existing agents retain their backend.
└ agents.runtime.herdrmapoptionalHerdr terminal host settings.
└ agents.runtime.herdr.sessionstringoptionalcacoNamed Herdr session shared by Caco agents; default selects the user's main Herdr session.
└ agents.runtime.herdr.binarystringoptionalherdrHerdr executable on the owning node.
└ agents.runtime.shellmapoptionalShell/interpreter configuration.
└ agents.runtime.shell.programstringoptionalbashShell binary path or name.
└ agents.runtime.shell.initstringoptionalminimalInit mode: minimal (default), user, or file.
└ agents.runtime.shell.init_filestringoptionalCustom init file path (when init is 'file').
└ agents.runtime.shell.argslist[string]optionalExtra arguments passed to the shell.
└ agents.runtime.shell.shell_rcstringoptionalInline shell init content sourced into every agent shell (concatenated across layers).
└ agents.runtime.pathmapoptionalOrdered PATH additions.
└ agents.runtime.path.prependlist[string]optionalDirectories prepended to PATH.
└ agents.runtime.environmentmap[string, string]optionalNon-secret environment defaults.
└ agents.pi_extra_config_dirslist[string]optionalGlobal extra config directories merged into every managed Pi workspace.
└ agents.override_pi_agent_dirstringoptionalGlobal read-only Pi agent directory override passed directly to managed Pi launches.