# Settings

> View server settings changed from defaults, MergeTree engine settings, and the in-app configuration UI.

| | |
|---|---|
| **Routes** | `/settings`, `/mergetree-settings`, `/replicated-merge-tree-settings` |
| **Feature id** | `settings` |
| **Default access** | `public` |
| **Requires auth** | No (set `CHM_FEATURE_SETTINGS_ACCESS=authenticated` to gate) |
| **System tables** | `system.settings`, `system.merge_tree_settings`, `system.replicated_merge_tree_settings` |
| **ClickHouse grants** | `SELECT` on the system tables above |

## What it does

The Settings section has two distinct purposes.

**ClickHouse server settings** (at `/settings`) queries `system.settings` to list all server-level configuration values. The table highlights values that have been changed from their defaults, making it easy to audit non-default configuration. Use it to spot unexpected overrides or verify that a setting change took effect.

**MergeTree settings** (at `/mergetree-settings`) queries `system.merge_tree_settings` to show engine-specific settings for MergeTree tables. Similarly, the **Replicated MergeTree settings** page (at `/replicated-merge-tree-settings`) queries `system.replicated_merge_tree_settings`.

**In-app settings UI** — chmonitor also has an application-level settings page where operators configure the dashboard itself (connection details, theme preferences, and feature toggles). See [Settings](/settings) for that reference.

## Pages

| Page | Route | What it shows | System tables |
|---|---|---|---|
| Settings | `/settings` | All server settings; highlights non-defaults | `system.settings` |
| MergeTree Settings | `/mergetree-settings` | MergeTree engine settings and values | `system.merge_tree_settings` |
| Replicated MergeTree Settings | `/replicated-merge-tree-settings` | Replicated MergeTree settings; flags changed-from-default | `system.replicated_merge_tree_settings` |

## Permissions & access

All three pages share the `settings` feature id.

To gate this section behind authentication (recommended if settings values are sensitive):

```bash
CHM_FEATURE_SETTINGS_ACCESS=authenticated
```

Disable entirely:

```bash
CHM_FEATURE_SETTINGS_ENABLED=false
```

Config file:

```toml
[features.settings]
enabled = true
access = "authenticated"
```

## Configuration

No feature-specific environment variables. The pages are read-only — chmonitor never writes to ClickHouse settings.

## Notes & limitations

- `system.settings` reflects the settings in effect for the connection user, not global defaults. User-level overrides via profiles can differ from server defaults.
- `system.merge_tree_settings` and `system.replicated_merge_tree_settings` are available on all recent ClickHouse versions (23.x+). On older versions they may be absent, in which case the page shows an empty state.
- These pages are read-only. To change a setting, use ClickHouse SQL (`SET`, `ALTER TABLE ... MODIFY SETTING`) or edit the server config.

## Related

- [Settings reference](/settings)
- [Feature permissions](/advanced/feature-permissions)
- [ClickHouse system.settings docs](https://clickhouse.com/docs/en/operations/system-tables/settings)
- [ClickHouse system.merge_tree_settings docs](https://clickhouse.com/docs/en/operations/system-tables/merge_tree_settings)
