Skip to main content
Settings methods expose the gateway-owned runtime settings that clients can read and update over JSON-RPC. These settings are gateway-scoped, not workspace-scoped. Provider API keys, MCP secrets, skills, tasks, artifacts, and workspace state remain separate workspace-owned surfaces. The gateway loads settings from app config defaults and its runtime settings file, then returns the effective snapshot. Updates are persisted to the same gateway settings file. Runtime systems that depend on these settings, such as memory hooks, thread episodic context, CLI runtime instances, keep-awake, and remote access, are refreshed through the gateway instead of requiring clients to edit files directly. This matters for remote gateways. A desktop or mobile client should call settings/get and settings/update; it should not write gateway-settings.toml on disk.

Methods

Snapshot shape

The response contains a settings object with general, memory, thread_episodic, cli_runtimes, and remote_access sections. Model selection objects use:

Reading settings

settings/get accepts an empty params object.
Response:

Updating settings

settings/update takes an update object. general is a patch: omitted fields keep their current effective value. thread_episodic is also a patch. memory is a complete memory settings object when present, so clients should send the full memory section they want to keep. cli_runtimes is a complete runtime instance list when present. remote_access is a patch for user-facing remote-access controls.
To update memory settings, send the full memory section:
The response shape is the same as settings/get and contains the new effective snapshot. To update one thread-context setting, send only that field under thread_episodic:
Disabling 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 CLI runtime instances, send the full cli_runtimes.instances list you want the gateway to keep:
Runtime ids and display names must be unique after normalization. binary_path, home_path, and shadow_home_path are validated before the settings file is saved. To enable remote access, send the enable flag and key. The key is written to the gateway keystore and is not serialized into gateway-settings.toml.
To clear the remote-access key:
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_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_cli_runtime_settings.json
  • /schemas/gateway_cli_runtime_instance_settings.json
  • /schemas/gateway_remote_access_settings.json
  • /schemas/gateway_remote_access_settings_update.json
  • /schemas/gateway_remote_access_status_snapshot.json