chmonitor

Settings

Configure alert thresholds, browser connections, AI agent options, UI theme, and workspace navigation from the in-app Settings dialog, or via server-side environment variables.

The in-app Settings page (feature id: settings, route /settings) lets operators configure alert thresholds, manage browser connections, tune agent session options, and change the UI theme — without redeploying.

To reach it, open the dashboard and click the Settings gear (or ⌘,). Workspace / Navigation lives in that dialog, not on the /settings system.settings table page.

What you can configure in-app

Setting areaWhat you control
Alert thresholdsCPU %, memory %, replication lag limits for health sweep alerts
Browser connectionsAdd/remove personal ClickHouse connections stored in the browser
Agent sessionModel picker, token/cost display, conversation store selection
ThemeLight / dark / system
Workspace / NavigationRole preset, hide/show pages, pin favorites; local to this browser

Settings changes made in-app are stored per browser session or in the configured conversation store. They do not affect server-side environment variables.

Workspace / Navigation

Open Settings → Workspace → Navigation. The dialog header says Local to this browser — the role and hide list live in this browser, not on the server, and they do not change anyone else's sidebar.

Narrative walkthrough: A DBA, an SRE, and an engineer should not share a sidebar.

Roles

PresetGroups kept
FullEvery page the host and deployment already allow. New pages stay visible.
DBAOverview, Tools, Queries, Tables, Merges, Metrics, Keeper, Security, Logs, Cluster, System
EngineerOverview, Tools, Queries, Tables, Insights, AI Agent
SREOverview, Tools, Health, Insights, Queries, Tables, System, Operations, Metrics, Logs
CustomStart from a role, then hide extra leaves

Picking a role remounts the Settings tree collapsed. Expand only what you care about; search filters the tree. The pill flips to Custom only when Hide/Show on a leaf diverges from that role's hide list. Collapsing a parent does not count.

Footer About is not hideable. The Settings gear and host switcher are never filtered. Hidden pages stay reachable by URL; the sidebar and command palette drop them.

Hide, pin, restore

  • In Settings, leaves have Hide / Show. Hidden rows stay in the tree, dimmed.
  • In the sidebar, hover a leaf: Hide sits next to Pin. A toast offers Undo and Open Navigation.
  • Restore always lives at Settings → Workspace → Navigation.
  • Pin adds the page to Favorites at the top of the sidebar; drag to reorder. Pins are local to this browser too.

Theme, units, and layout stay on the other Settings tabs (local chrome). The role plus hide list is the menu IA. Workspace visibility is applied last — permission, cloud, and engine gates still win.

Tools

Tools is the last Main group: SQL Console, Data Explorer, Explain, Advisor (recommend-only; never applies DDL), Chart Builder, Schema Compare, Settings Diff. AI Agent stays its own top-level group. Postgres hosts do not see Tools (ClickHouse-family only). DBA, Engineer, and SRE presets all keep Tools.

Conversation history (agent settings sidebar)

The agent settings sidebar includes a read-only "Conversation History" section that names the backend currently storing agent chats. The backend is chosen at deploy time by environment variables — it cannot be switched from the UI. Labels you may see:

LabelMeaning
BrowserHistory stays in localStorage (server persistence is off)
AgentStateManaged/self-hosted AgentState service; when AI enrichment is on, the chat also suggests follow-up questions
D1Cloudflare D1 (SQLite) database
PostgresA PostgreSQL-compatible database

To change the active backend, set the relevant server-side env vars and redeploy. See Conversation history backends in the AI Agent docs for the full env-var reference and setup steps.

Gating or disabling Settings

By default, the Settings page is public — any visitor can open it. To restrict or remove it, use env vars or a config file.

# Require authentication to access Settings
CHM_FEATURE_SETTINGS_ACCESS=authenticated

# Disable the Settings page entirely (removes it from nav)
CHM_FEATURE_SETTINGS_ENABLED=false
[features.settings]
access = "authenticated"

Server-side configuration

Most operational configuration is done through environment variables, not the in-app Settings UI. The key variables, grouped by area:

On this page