Integrations and telemetry configuration
Chat, mobile access, and local telemetry settings.
Defaults come from the schema when declared, otherwise from the bundled YAML. An object
with listed children is expanded below; {…} and […] summarize compound defaults. A
dash means the schema has no finite allowed-value list.
chat_install
| Config key |
Type |
Default |
Allowed values |
Description |
chat_install |
object |
{timeout_seconds, restart_attempts} (values below) |
— |
Configuration for chat-driven update workflows |
chat_install.timeout_seconds |
integer |
900 |
— |
Maximum runtime for sase update --json before returning exit code 124. |
chat_install.restart_attempts |
integer |
3 |
— |
Number of scheduler readiness polls after requesting its service proc start when the scheduler is not running after the update. |
feature_flags
| Config key |
Type |
Default |
Allowed values |
Description |
feature_flags |
object |
not set |
— |
Code-owned SASE feature flags keyed by flag name. |
feature_flags.artifacts_agent_pane_retired |
boolean |
true |
— |
Artifacts has no Agent sub-tab: Stitch becomes digit 1 and agent history lives in the Agents tab Archive. |
feature_flags.claude_explicit_instructions |
boolean |
true |
— |
Deliver Claude root and helper instruction bundles through explicit system-prompt files. |
feature_flags.codex_explicit_instructions |
boolean |
true |
— |
Deliver the Codex root bundle through developer_instructions and suppress SASE native instruction duplicates. |
feature_flags.grok_explicit_instructions |
boolean |
true |
— |
Deliver Grok instruction bundles through --rules |
feature_flags.muse_explicit_instructions |
boolean |
true |
— |
Deliver Muse instruction bundles as a prompt prefix |
feature_flags.<key> |
boolean |
not set |
— |
— |
mobile_gateway
| Config key |
Type |
Default |
Allowed values |
Description |
mobile_gateway |
object |
{…} (13 keys; values below) |
— |
Configuration for the workstation-hosted mobile gateway |
mobile_gateway.bind_address |
string |
"127.0.0.1" |
— |
Host address to bind the mobile gateway. |
mobile_gateway.port |
integer |
7629 |
— |
TCP port for the mobile gateway HTTP API. |
mobile_gateway.state_dir |
string |
"" |
— |
State directory passed to the gateway as the SASE home. Empty string uses the runtime default. |
mobile_gateway.allow_non_loopback |
boolean |
false |
— |
Allow explicit non-loopback gateway binds. |
mobile_gateway.command |
string |
"" |
— |
Gateway command override, parsed without a shell. Empty string uses PATH/sibling-repo discovery. |
mobile_gateway.agent_bridge_command |
string |
"" |
— |
Agent bridge command override passed through to the gateway. |
mobile_gateway.helper_bridge_command |
string |
"" |
— |
Helper bridge command override passed through to the gateway. |
mobile_gateway.push_provider |
string |
"disabled" |
"disabled", "test", "fcm" |
Push notification provider for mobile clients. |
mobile_gateway.fcm_project_id |
string |
"" |
— |
Firebase Cloud Messaging project ID. |
mobile_gateway.fcm_service_account_json |
string |
"" |
— |
Path to a Firebase service account JSON file. Empty string disables file credentials. |
mobile_gateway.fcm_credential_env |
string |
"" |
— |
Environment variable containing Firebase credentials JSON. |
mobile_gateway.fcm_dry_run |
boolean |
false |
— |
Send FCM notifications in dry-run mode. |
mobile_gateway.push_timeout_seconds |
number |
5 |
— |
Seconds to wait for each push notification request. |
mobile_gateway.push_retry_limit |
integer |
1 |
— |
Number of push notification retry attempts. |
mobile_gateway.startup_timeout_seconds |
number |
10 |
— |
Seconds to wait for the gateway to become ready. |
telegram
| Config key |
Type |
Default |
Allowed values |
Description |
telegram |
object |
{commands} (values below) |
— |
Configuration for the SASE Telegram integration. |
telegram.commands |
object |
{} |
— |
Custom Telegram slash commands keyed by their bot-command name. |
telegram.commands.<key> |
object |
not set |
— |
The executable and delivery settings for one custom Telegram slash command. |
telegram.commands.<key>.description |
string |
not set |
— |
Description shown for the command in Telegram's slash-command menu. |
telegram.commands.<key>.run |
string |
not set |
— |
Executable and fixed arguments to run without a shell. |
telegram.commands.<key>.output |
string |
"message" |
"message", "pdf" |
How the command's Markdown stdout is delivered to Telegram. |
telegram.commands.<key>.timeout |
string |
"60s" |
— |
Maximum command runtime as a duration ending in seconds, minutes, or hours. |
telemetry
| Config key |
Type |
Default |
Allowed values |
Description |
telemetry |
object |
{enabled, flush_interval_seconds, retention, health_thresholds} (values below) |
— |
Local telemetry settings |
telemetry.enabled |
boolean |
true |
— |
Whether telemetry collection is enabled |
telemetry.flush_interval_seconds |
number |
15 |
— |
Seconds between local telemetry store flushes in long-lived processes |
telemetry.retention |
object |
{raw_seconds, rollup_5m_seconds, rollup_1h_seconds} (values below) |
— |
Retention windows for raw and rolled-up metric samples |
telemetry.retention.raw_seconds |
integer |
172800 |
— |
Seconds to retain raw metric samples |
telemetry.retention.rollup_5m_seconds |
integer |
2592000 |
— |
Seconds to retain five-minute metric rollups |
telemetry.retention.rollup_1h_seconds |
integer |
31536000 |
— |
Seconds to retain hourly metric rollups |
telemetry.prometheus |
object |
not set |
— |
Deprecated legacy settings accepted for compatibility and ignored |
telemetry.prometheus.exposition_port |
integer |
9464 |
— |
Port for the Prometheus metrics exposition endpoint |
telemetry.prometheus.pushgateway_url |
string |
"localhost:9091" |
— |
URL of the Prometheus Pushgateway |
telemetry.prometheus.url |
string |
"localhost:9090" |
— |
URL of the Prometheus server |
telemetry.health_thresholds |
object |
{…} (6 keys; values below) |
— |
Thresholds for the telemetry health traffic-light check |
telemetry.health_thresholds.error_rate_warn |
number |
10.0 |
— |
Error rate percentage to trigger a warning |
telemetry.health_thresholds.error_rate_critical |
number |
25.0 |
— |
Error rate percentage to trigger a critical alert |
telemetry.health_thresholds.retry_rate_warn |
number |
10.0 |
— |
Retry rate percentage to trigger a warning |
telemetry.health_thresholds.retry_rate_critical |
number |
25.0 |
— |
Retry rate percentage to trigger a critical alert |
telemetry.health_thresholds.p95_latency_warn |
number |
300.0 |
— |
P95 latency in seconds to trigger a warning |
telemetry.health_thresholds.p95_latency_critical |
number |
600.0 |
— |
P95 latency in seconds to trigger a critical alert |
_[project]: A sase project is a named unit of work registered with SASE. _[workspace]: A
sase workspace is a numbered clone of a project's primary repo, managed by the workspace
store and tracked in that project's registry.json. _[agent]: A sase agent is an agent
session or a single agent that does not belong to a session. _[prompt]: A prompt is the
text SASE hands to a provider to start an agent turn. _[macro]: A macro is a reusable
prompt triggered with #name in agent prompts. _[Patch]: A Patch is SASE's local unit of
change. _[bead]: A bead is one tracked work item in SASE's git-native issue tracker.
_[plan]: A plan is a persisted, approved artifact recording the intent behind agent
work. _[TUI]: The TUI is SASE's terminal interface for running agents and reviewing
results. _[epic]: An epic is an executable multi-phase plan run with sase bead work.
_[gate]: A sase gate is a durable, command-backed request for one user decision, created
when work must pause for the user. _[monitor]: A sase monitor is a monitor turn that
runs one long command under a detached supervisor, so the command outlives the agent
that started it. *[stitch]: A stitch is the lightweight ordered change record inside a
Patch's STITCHES: section.