Settings Reference
Tempest has two settings surfaces. Settings (the app-level panel) holds preferences that apply everywhere — appearance, terminal, git behavior, agent defaults. Project Settings (per project) holds the security and data configuration that applies when agents run inside that project.App-level sections
The Settings panel has 13 sections, grouped as General plus a Help group. Section ids are as they appear insrc/components/SettingsPanel.tsx.
App settings
Every field inAppSettings (src/store/appSettings.ts), with its type and default. Defaults live in SETTINGS_DEFAULTS in that file.
Where settings persist: app settings are one JSON blob in the SQLite
app_state table under the key runtime, read and written through the db_load_app_state / db_set_app_state Tauri commands. See State.tempest-dark and tempest-light — see Themes for what each contains and how to add your own.
Project Settings
Project Settings (ProjectSettingsPanel) are per project and configure what agents may do inside that project’s sessions. There are seven sections in three groups:
Project Settings live per project: each project’s blob is stored as its own row in the same SQLite
app_state table, keyed project-settings:{projectId}. When a repo contains a tempest.yml, its security config is clamped over the stored settings — the file may only tighten, never loosen — and that clamp is not persisted back into the row. See Security.