settings/get and settings/update; it should not write gateway-settings.toml on disk.
Methods
Snapshot shape
The response contains asettings object with general, memory, self_improvement, thread_episodic, cli_runtimes, remote_access, and voice_input sections.
Model selection objects use:
Self-improvement model selections use a separate object with
provider and model. They are workspace settings, and they must name native API providers. CLI runtime ids and local providers are not valid self-improvement model selections.
Vector search reports both configuration and readiness. provider_key tells the client whether the selected remote provider needs a key and whether one is present. refill_status reports index work, while local_model_status reports local model installation. Refill status values are disabled, unknown, required, running, complete, and failed. Local model status values are not_selected, unknown, missing, downloading, installed, and failed.
Voice runtime phases are disabled, model_not_selected, missing, downloading, installing, loading, ready, and failed. effective_enabled reports whether the gateway can accept voice input after applying configuration and runtime readiness.
Reading settings
settings/get accepts an empty params object.
Updating settings
settings/update takes an update object. general is a patch: omitted fields keep their current effective value. thread_episodic and its nested vector_search object are patches. memory is a complete memory settings object when present, so clients should send the full memory section they want to keep. self_improvement is a complete workspace settings object when present. cli_runtimes is a complete runtime instance list when present. remote_access and voice_input are patches for their user-facing controls.
memory section:
settings/get and contains the new effective snapshot.
To update one thread-context setting, send only that field under thread_episodic:
thread_episodic.enabled turns off the thread context layer as a whole. Disabling only indexing_enabled stops new indexing work while leaving existing state in place. Disabling only recall_enabled keeps indexing available but prevents recalled thread snippets from entering future prompts.
To update vector search, send only the fields that should change inside thread_episodic.vector_search:
provider, model, or local_model to null to clear a selection. The gateway reports embedding_dimension and readiness fields; clients cannot set those fields.
To enable workspace self-improvement, send the complete section with native API provider and model selections:
cli_runtimes.instances list you want the gateway to keep:
binary_path, home_path, and shadow_home_path are validated before the settings file is saved.
To update voice input, send a patch. provider and model accept null when the current selection should be cleared. Set retry_install to true to retry a failed local model installation.
gateway-settings.toml.
remote_access.status is live runtime state. Clients receive gateway/remote_access/status_changed when the relay connection moves through states such as starting, connected, reconnecting, failed, or stopped.
Schemas
Generated schemas include:/schemas/gateway_settings_get_params.json/schemas/gateway_settings_get_response.json/schemas/gateway_settings_update_params.json/schemas/gateway_settings_update_response.json/schemas/gateway_settings_snapshot.json/schemas/gateway_general_settings.json/schemas/gateway_general_settings_update.json/schemas/gateway_self_improvement_settings.json/schemas/gateway_self_improvement_model_selection.json/schemas/gateway_memory_settings.json/schemas/gateway_memory_model_selection.json/schemas/gateway_memory_model_selection_source.json/schemas/gateway_thread_episodic_settings.json/schemas/gateway_thread_episodic_settings_update.json/schemas/gateway_thread_episodic_vector_search_settings.json/schemas/gateway_thread_episodic_vector_search_settings_update.json/schemas/gateway_thread_episodic_vector_provider.json/schemas/gateway_thread_episodic_vector_provider_key_status.json/schemas/gateway_thread_episodic_vector_refill_status.json/schemas/gateway_thread_episodic_vector_local_model_status.json/schemas/gateway_thread_episodic_vector_refill_status_changed_notification.json/schemas/gateway_cli_runtime_settings.json/schemas/gateway_cli_runtime_instance_settings.json/schemas/gateway_native_agent_config.json/schemas/gateway_remote_access_transport.json/schemas/gateway_remote_access_state.json/schemas/gateway_remote_access_error_kind.json/schemas/gateway_remote_access_status_changed_notification.json/schemas/gateway_remote_access_settings.json/schemas/gateway_remote_access_settings_update.json/schemas/gateway_remote_access_status_snapshot.json/schemas/gateway_settings_update.json/schemas/gateway_voice_input_provider.json/schemas/gateway_voice_input_settings.json/schemas/gateway_voice_input_settings_update.json/schemas/gateway_voice_input_runtime_snapshot.json/schemas/gateway_voice_input_runtime_phase.json/schemas/gateway_voice_input_status_changed_notification.json
Related pages
- Remote Access Architecture explains gateway-owned tunnel supervision and status projection.
- CLI Runtime Architecture explains CLI runtime settings and recovery behavior.
- Secret Storage explains why settings snapshots expose secret presence instead of raw values.