Skip to main content
The Config Editor lets you view and tweak your Comis settings without opening a text file. It is the in-browser alternative to editing ~/.comis/config.yaml by hand. Click Config in the sidebar to open it. Who it’s for: operators who want a guided UI with form controls and validation, plus a safety net (git history + rollback) for every change.

How saves work

Saves are persistent and atomic. When you click Save, the dashboard sends a config.patch (single key) or config.apply (whole section) RPC to the daemon. The daemon:
  1. Validates the patch against the full config schema (Zod).
  2. Deep-merges the change into your local YAML file (last entry of COMIS_CONFIG_PATHS, typically ~/.comis/config.yaml).
  3. Writes atomically (temp file + rename, mode 0o600).
  4. Records a git commit in the config history (best-effort).
  5. Schedules a SIGUSR2 daemon restart (200 ms after the response flushes) so every subsystem picks up the new config consistently.
This means:
  • Changes survive a restart — they are written to your YAML file before the response returns.
  • A brief daemon restart follows every save (sessions, channels, and queues reconnect on its own).
  • Validation failures abort the save — nothing is written, and the in-memory config is unchanged.
  • Each change is logged to the History tab and to the audit log.
The Config Editor writes to the last path in COMIS_CONFIG_PATHS. If your environment overrides this to a read-only path, saves will fail. The default is ~/.comis/config.yaml — safe to edit either from the dashboard or by hand.

Tabs

The Config Editor has three top-level tabs:
The main configuration editing tab. A section navigation sidebar on the left lists the available config sections. Click a section to load its settings into the editor area.Two modes are available:
  • Form — Shows controls generated from the config schema. Change the values you need, review the diff, then click Apply Changes.
  • Schema — A read-only reference view showing the structure and validation rules for the selected section. Useful for understanding which fields exist, what types they expect, and constraints like minimum or maximum values.
Export downloads the loaded configuration as YAML. Applying replaces the selected section through config.apply; it does not provide a raw YAML editor.

Common Tasks

End-to-end: change a key, see it take effect

This walkthrough demonstrates that saves are persistent.
1

Open the editor

Click Config in the sidebar.
2

Pick a section

Click gateway in the section list. The Form sub-mode loads with all gateway fields.
3

Edit a value

Find the rateLimit field and change rateLimit.requestsPerMinute from 60 to 120.
4

Save

Click Apply Changes. The dashboard reports whether the section was accepted. The daemon schedules a restart after a successful write.
5

Verify on disk

Open ~/.comis/config.yaml in any text editor. The new requestsPerMinute: 120 line is there. The change persisted.
6

Verify in History

Switch to the History tab. The latest entry shows your rate limit change with a SHA, timestamp, and diff button.

Other common tasks

1

Edit individual gateway settings

Switch to the Gateway tab for fast single-field edits (rotate a token, add a CORS origin, tweak TLS). Each field saves on its own.
2

Roll back a bad change

Switch to History, click the entry from before the change, click Rollback. The daemon writes the older config back, commits the rollback, and restarts.
3

Discard unsaved edits

Navigate away without applying, or reload the page, to discard pending form changes. Saved changes can be reversed from History.
Every apply is validated before the config file is replaced. Invalid values are rejected and the existing configuration remains in place.
The route is #/config. RPC methods used: config.read, config.patch, config.apply, config.history, config.diff, config.rollback, config.schema. All require admin trust on the gateway token. See JSON-RPC reference for the wire format.

Configuration Guide

Learn how to write and manage your permanent config.yaml configuration file.

Security View

Manage security settings, API tokens, and approval policies.