CHouseUI
Reference & help

Troubleshooting

Common failure modes — login, connections, migrations, SSO, MCP — and how to diagnose them.

Find the symptom, check the cause, apply the fix. Server logs are JSON (Pino) on stdout; most problems name themselves there.

Sign-in & sessions

SymptomCauseFix
Default login rejectedThe seeded admin is only created with a new RBAC database; its password may have been changedSign in as another admin and reset it in Admin › Users
"Password sign-in is disabled"AUTH_PASSWORD_LOGIN_ENABLED=false with a working SSO providerUse SSO, or set it back to true
Signed out after a deploy, or randomly with several replicasJWT_SECRET differs between pods or changedUse one fixed secret everywhere — see Sessions & JWT
SSO button missingAUTH_SSO_ENABLED is not true, or no valid providerSee SSO
SSO callback failsRedirect URI at the IdP ≠ <AUTH_SSO_BASE_URL>/auth/sso/callbackMake them identical
SSO change not visible on some podsPropagation intervalWait AUTH_CONFIG_WATCH_INTERVAL_MS (15 s by default)

Connections & queries

SymptomCauseFix
Connection refusedClickHouse isn't reachable from the server containerUse a host the server can reach (in Compose, the service name such as clickhouse-server:8123, not localhost)
A user sees no connectionsNo data access policy on their roles allows a connectionAttach a policy with an allow rule scoped to the connection — see Data access rules
Query blocked: no matching ruleNo allow rule matches the table, or a higher-priority deny doesAdjust the policy's rules and priorities
DDL refused with SCHEMA_PREFLIGHT_BREAKSThe change would break a dependent view, job, promise or saved queryFollow the safer plan shown, or have someone with schema:override confirm — see schema preflight
Results cut offYour result row limitRaise Max result rows in Preferences or add LIMIT
Stored connections can't be decrypted after a restartRBAC_ENCRYPTION_KEY or RBAC_ENCRYPTION_SALT changedRestore the original values; re-enter passwords if they are lost

Data, monitoring & fleet

SymptomCauseFix
A Monitoring tab or Data tab is missingPermission not grantedCheck Preferences › Identity & access and the permission catalog
Data shows "No tables observed yet" or unsupported featuresThe collector's first pass hasn't finished, or the connection user lacks system-table grantsAdmin › Connections › Edit › Check privileges and run the listed GRANTs
Empty query logsquery_log disabled or not flushed yet, or no grant on system.query_logEnable query logging; wait for the first flush; grant read access
Fleet shows Snapshot worker stalledNo fresh samplesCheck server logs for collector errors and the connection's grants — see Fleet
Fixes approved but never runNo remediation credential on the connection, outside the maintenance window, or the target changed since approvalAdd the credential; wait for the window; re-propose — see fixes
Codec trials failThe connection user can't write to OBSERVE_SCRATCH_DATABASECreate the database and grant write access on it

AI, alerts & agents

SymptomCauseFix
AI buttons missing for everyoneNo active AI deploymentAdd a provider, model and deployment in AI models
AI buttons missing for one userNo ai:optimize / ai:chatGrant them through a role
No alert deliveredChannel misconfigured or disabledSend test on the channel in Alerting
Doctor scheduled scan didn't runSchedule disabled, or no AI modelCheck Scheduled scans on the Doctor page
MCP returns 404 MCP_DISABLEDThe endpoint is off (the default)Turn it on in AI Governance › MCP — see MCP
MCP returns 403 ORIGIN_NOT_ALLOWEDThe client sends an Origin that isn't allowedAdd the origin in AI Governance › MCP, or use a client that sends none
MCP or CLI returns 401Token revoked, expired or mistypedCreate a new token
An agent can't see a toolThe tool is off, or the token lacks its permissionCheck the tool in AI Governance › MCP and the tool catalog
Agent queries blockedA budget policy, or agent access is pausedSee AI Governance › Policies — see AI Governance

Start-up & upgrades

SymptomCauseFix
Refuses to start in productionJWT_SECRET, RBAC_ENCRYPTION_KEY or RBAC_ENCRYPTION_SALT missing or the wrong lengthGenerate them as in Secrets
Logs an error about the scheduler and HASQLite with CHOUSE_HA=trueUse PostgreSQL for more than one replica
Warning about MCP_* or FLEET_POLLER_ENABLEDSettings removed or deprecated in 3.14Remove them — see What's new
Migration fails on upgradeUnexpected database stateRestore the backup, run the previous version, and open an issue with the log

Collect diagnostics

bash
docker logs -f chouse-ui                   # server logs (JSON)
docker logs chouse-ui 2>&1 | grep RBAC     # migrations and seeding
curl -s http://localhost:5521/api/health   # liveness
chouse status --debug                      # server version, CLI compatibility, request ids

Still stuck? Open an issue with the log excerpt, the request id from the error and the steps to reproduce.

Edit this page on GitHub ↗