# Settings Reference
Every control in the Settings window, by tab, page, and section, with the
`config.yaml` key it edits. Open Settings with `F12` (`Cmd + ,` on macOS).
For how edits are previewed, saved, and reverted, see
[Saving and reverting](#saving-and-reverting). For the full key list with
types and defaults, see the [Configuration Reference](../CONFIG_REFERENCE.md).
## Saving and reverting
- Edits preview live in every window. Nothing is written to `config.yaml` until you
press **Save**.
- **Save** writes the config and any profile edits together. **Revert** restores every
window to how it was when Settings opened or last saved.
- An `* Unsaved changes` marker in the footer tracks pending edits. Closing with
unsaved edits asks whether to save, revert, or cancel.
- Font fields wait for **Apply font changes**. Save applies them too.
- Prompts, agent commands, plugins, shader installs, and shell integration write to
their own files at once. Save and Revert do not apply to them.
- A small reset arrow next to a control restores its default as an ordinary edit.
- A failed save, or a `config.yaml` that changed on disk, shows a banner at the top.
Some settings take effect only after a restart or in new windows. The control is
badged, and the banner after Save lists them.
## Contents
- [General](#general): Common, Startup & Restore, Closing & Quitting, Selection & Clipboard, Search & Links, Integration & Files, Updates
- [Appearance](#appearance): Theme, Text & Fonts, Cursor, Badge, Progress Bar
- [Windows & Tabs](#windows--tabs): Window, Tab Bar, Tab Bar Colors, Scrollbar
- [Panes](#panes): Layout & Dividers, Appearance, Pane Backgrounds
- [Sessions](#sessions): par-mux, tmux, Arrangements
- [Profiles](#profiles): Profiles, Dynamic Sources, SSH
- [Keys](#keys): Key Bindings, Leader Key, Option/Alt, Modifiers
- [Pointer](#pointer): Mouse, Word Selection, Copy Mode
- [Effects & Shaders](#effects--shaders): Background & Shader, Inline Images
- [Automation](#automation): Triggers, Snippets, Custom Actions, Coprocesses, Observer Scripts, Plugins
- [Assistant & Agents](#assistant--agents): Panel, Agents, Agent Commands, Prompt Library, Permissions, Agent Usage
- [Advanced](#advanced): Terminal Emulation, Notifications & Bell, Status Bar, Performance & Power, Logging, Import/Export, Security
## General
### Common
#### Common
A summary of the most-used settings. Each control also lives in the
section that owns it.
### Startup & Restore
#### Startup
- Restore windows on launch — `restore_session`
- Initial text to send when a new shell starts: — `initial_text`
- Delay: — `initial_text_delay_ms`
- Append newline after text — `initial_text_send_newline`
#### Auto-Restore on Startup
- Auto-restore: — `auto_restore_arrangement`
#### Shell
- Custom shell (optional): — `custom_shell`
- Shell args (space-separated): — `shell_args`
- Login shell (-l) — `login_shell`
- Mode: — `startup_directory_mode`
- Custom directory: — `startup_directory`
### Closing & Quitting
#### Closing & Quitting
- Confirm before quitting with open tabs — `prompt_on_quit`
- Confirm before closing a window with multiple tabs — `confirm_close_multiple_tabs`
- Confirm before closing tabs with running jobs — `confirm_close_running_jobs`
- Jobs to ignore (won't trigger confirmation): — `jobs_to_ignore`
- Shell exit action: — `shell_exit_action`
- Reopen closed tab for: — `session_undo_timeout_secs`
- Max entries: — `session_undo_max_entries`
- Keep the shell running while a closed tab can be reopened — `session_undo_preserve_shell`
### Selection & Clipboard
#### Selection & Clipboard
- Auto-copy selection — `auto_copy_selection`
- Include trailing newline when copying — `copy_trailing_newline`
- Middle-click paste — `middle_click_paste`
- Warn before pasting control characters — `warn_paste_control_chars`
- OSC 52 clipboard sync (programs set clipboard over SSH) — `osc52_clipboard`
- Paste delay: — `paste_delay_ms`
- Quote style: — `dropped_file_quote_style`
#### Clipboard Limits
- Max clipboard sync events: — `clipboard_max_sync_events`
- Max clipboard event bytes: — `clipboard_max_event_bytes`
### Search & Links
#### Search
- Match highlight: — `search_highlight_color`
- Current match: — `search_current_highlight_color`
- Case sensitive by default — `search_case_sensitive`
- Use regex by default — `search_regex`
- Wrap around when navigating — `search_wrap_around`
#### Semantic History
- Link handler: — `link_handler_command`
- Allow opening file:// links — `allow_file_scheme_urls`
- Enable file path detection — `semantic_history_enabled`
- Link highlight color: — `link_highlight_color`
- Change text color on hover — `link_highlight_color_enabled`
- Underline highlighted links — `link_highlight_underline`
- Underline style: — `link_underline_style`
- Editor mode: — `semantic_history_editor_mode`
- Editor command: — `semantic_history_editor`
#### Command History
- Max history entries: — `command_history_max_entries`
### Integration & Files
#### Shell Integration
No `config.yaml` keys. Actions and display only.
#### Screenshots
- Format: — `screenshot_format`
#### File Transfers
- Download save location: — `download_save_location`
### Updates
#### Updates
- Check for updates: — `update_check_frequency`
## Appearance
### Theme
#### Theme
- Theme: — `theme`
#### Auto Dark Mode
- Auto-switch theme with system appearance — `auto_dark_mode`
- Light theme: — `light_theme`
- Dark theme: — `dark_theme`
#### Command Separators
- Show separator lines between commands (requires shell integration) — `command_separator_enabled`
- Thickness: — `command_separator_thickness`
- Opacity: — `command_separator_opacity`
- Color by exit code (green=success, red=failure) — `command_separator_exit_color`
- Custom color: — `command_separator_color`
### Text & Fonts
#### Fonts
- Family (regular): — `font_family`
- Size: — `font_size`
- Line spacing: — `line_spacing`
- Char spacing: — `char_spacing`
#### Font Variants
- Bold font (optional): — `font_family_bold`
- Italic font (optional): — `font_family_italic`
- Bold-Italic font (optional): — `font_family_bold_italic`
#### Font Rendering
- Anti-aliasing — `font_antialias`
- Hinting — `font_hinting`
- Thin strokes: — `font_thin_strokes`
- Minimum contrast: — `minimum_contrast`
### Cursor
#### Cursor
- Style: — `cursor_style`, `unfocused_cursor_style`
- Cursor blink — `cursor_blink`
- Blink interval: — `cursor_blink_interval`
- Color: — `cursor_color`
- Text color (block cursor): — `cursor_text_color`
#### Cursor Locks
- Lock cursor visibility — `lock_cursor_visibility`
- Lock cursor style — `lock_cursor_style`
- Lock cursor blink — `lock_cursor_blink`
#### Cursor Effects
- Cursor guide (horizontal line) — `cursor_guide_enabled`
- Guide color: — `cursor_guide_color`
- Cursor shadow — `cursor_shadow_enabled`
- Shadow color: — `cursor_shadow_color`
- Shadow offset X: — `cursor_shadow_offset`
- Shadow offset Y: — `cursor_shadow_offset`
- Shadow blur: — `cursor_shadow_blur`
- Cursor boost (glow): — `cursor_boost`
- Boost color: — `cursor_boost_color`
#### Cursor Shader
- Shader: — `cursor_shader`
- Enable cursor shader — `cursor_shader_enabled`
- Enable cursor shader animation — `cursor_shader_animation`
- Animation speed: — `cursor_shader_animation_speed`
- Hide default cursor (let shader handle it) — `cursor_shader_hides_cursor`
- Disable cursor shader in alt screen (vim/less/htop) — `cursor_shader_disable_in_alt_screen`
- Cursor color: — `cursor_shader_color`
- Trail duration: — `cursor_shader_trail_duration`
- Glow radius: — `cursor_shader_glow_radius`
- Glow intensity: — `cursor_shader_glow_intensity`
##### Cursor Shader Settings: variant_cursor.glsl
No `config.yaml` keys. Actions and display only.
### Badge
#### General
- Enable badge — `badge_enabled`
- Badge format: — `badge_format`
#### Appearance
- Text color: — `badge_color`
- Opacity: — `badge_color_alpha`
- Font: — `badge_font`
- Bold — `badge_font_bold`
#### Position & Size
- Top: — `badge_top_margin`
- Right: — `badge_right_margin`
- Max width: — `badge_max_width`
- Max height: — `badge_max_height`
#### Available Variables
No `config.yaml` keys. Actions and display only.
### Progress Bar
#### General
- Enable progress bar — `progress_bar_enabled`
- Style: — `progress_bar_style`
- Position: — `progress_bar_position`
- Height: — `progress_bar_height`
- Opacity: — `progress_bar_opacity`
#### State Colors
- Normal: — `progress_bar_normal_color`
- Warning: — `progress_bar_warning_color`
- Error: — `progress_bar_error_color`
- Indeterminate: — `progress_bar_indeterminate_color`
## Windows & Tabs
### Window
#### Display
- Title: — `window_title`
- Allow apps to change window title — `allow_title_change`
- Columns: — `cols`
- Rows: — `rows`
- Padding: — `window_padding`
- Hide padding on split — `hide_window_padding_on_split`
- Snap window to grid — `snap_window_to_grid`
#### Transparency
- Opacity: — `window_opacity`
- Transparency affects only default background — `transparency_affects_only_default_background`
- Keep text opaque — `keep_text_opaque`
- Enable window blur — `blur_enabled`
- Blur radius: — `blur_radius`
#### Window Behavior
- Window decorations — `window_decorations`
- Always on top — `window_always_on_top`
- Lock window size — `lock_window_size`
- Show window number in title — `show_window_number`
- Window type: — `window_type`
- Auto — `target_monitor`
- Target Space: — `target_space`
### Tab Bar
#### Tab Bar
- Tab style: — `tab_style`
- Light tab style: — `light_tab_style`
- Dark tab style: — `dark_tab_style`
- Show tab bar: — `tab_bar_mode`
- Tab title mode: — `tab_title_mode`
- Remote tab title format: — `remote_tab_title_format`
- OSC title takes priority on remote hosts — `remote_tab_title_osc_priority`
- Position: — `tab_bar_position`
- Tab bar width: — `tab_bar_width`
- Tab bar height: — `tab_bar_height`
- Show tab index numbers — `tab_show_index`
- Show close button on tabs — `tab_show_close_button`
- Stretch tabs to fill bar — `tab_stretch_to_fill`
- HTML tab titles — `tab_html_titles`
- New tabs inherit current directory — `tab_inherit_cwd`
- New tab position: — `new_tab_position`
- Show profile drawer button — `show_profile_drawer_button`
- New tab shortcut shows profile picker — `new_tab_shortcut_shows_profiles`
- Maximum tabs: — `max_tabs`
### Tab Bar Colors
#### Tab Bar Appearance
- Minimum tab width: — `tab_min_width`
- Border width: — `tab_border_width`
- Border color: — `tab_border_color`
- Inactive tabs outline only — `tab_inactive_outline_only`
- Dim inactive tabs — `dim_inactive_tabs`
- Opacity: — `inactive_tab_opacity`
- Tab bar background: — `tab_bar_background`
- Active tab: — `tab_active_background`
- Inactive tab: — `tab_inactive_background`
- Hovered tab: — `tab_hover_background`
- Active tab text: — `tab_active_text`
- Inactive tab text: — `tab_inactive_text`
- Active tab border: — `tab_active_indicator`
- Activity indicator: — `tab_activity_indicator`
- Bell indicator: — `tab_bell_indicator`
- Close button: — `tab_close_button`
- Close button hover: — `tab_close_button_hover`
### Scrollbar
#### Scrollbar
- Show command markers (requires shell integration) — `scrollbar_command_marks`
- Show tooltips on hover — `scrollbar_mark_tooltips`
- Side: — `scrollbar_position`
- Width: — `scrollbar_width`
- Autohide delay (0 = never): — `scrollbar_autohide_delay`
- Thumb color: — `scrollbar_thumb_color`
- Track color: — `scrollbar_track_color`
## Panes
### Layout & Dividers
#### Split Panes
- Divider Width: — `pane_divider_width`
- Drag Hit Width: — `pane_divider_hit_width`
- Pane Padding: — `pane_padding`
- Divider Style: — `pane_divider_style`
- Show focus indicator — `pane_focus_indicator`
- Focus Color: — `pane_focus_color`
- Focus Width: — `pane_focus_width`
- Max Panes: — `max_panes`
- Min Pane Size: — `pane_min_size`
- Keyboard Resize Step: — `pane_resize_step`
- Splits run the tab's profile program — `split_inherits_profile`
- Balance After Split: — `split_balance`
### Appearance
#### Pane Appearance
- Divider Color: — `pane_divider_color`
- Hover Color: — `pane_divider_hover_color`
- Dim inactive panes — `dim_inactive_panes`
- Dim Style: — `inactive_pane_dim_mode`
- Inactive Brightness: — `inactive_pane_opacity`
- Show pane titles — `show_pane_titles`
- Show pane numbers in titles — `show_pane_numbers`
- Title Height: — `pane_title_height`
- Title Position: — `pane_title_position`
- Title text color: — `pane_title_color`
- Title background: — `pane_title_bg_color`
- Pane Opacity: — `pane_background_opacity`
### Pane Backgrounds
#### Per-Pane Background
No `config.yaml` keys. Actions and display only.
## Sessions
### par-mux
#### par-mux
- Attach on launch: — `mux_auto_attach`
### tmux
#### tmux Integration
- Enable tmux integration — `tmux_enabled`
- tmux path: — `tmux_path`
- Default session name: — `tmux_default_session`
- Auto-attach on startup — `tmux_auto_attach`
- Session to attach: — `tmux_auto_attach_session`
- Sync clipboard with tmux — `tmux_clipboard_sync`
- Profile for tmux tabs: — `tmux_profile`
- Hide control-mode tab — `tmux_hide_gateway_tab`
- Show tmux status bar — `tmux_show_status_bar`
- Refresh interval: — `tmux_status_bar_refresh_ms`
- Left format: — `tmux_status_bar_left`
- Right format: — `tmux_status_bar_right`
- Prefix key: — `tmux_prefix_key`
### Arrangements
#### Save Current Layout
No `config.yaml` keys. Actions and display only.
#### Saved Arrangements
No `config.yaml` keys. Actions and display only.
## Profiles
### Profiles
#### Profile Management
No `config.yaml` keys. Actions and display only.
#### Display Options
No `config.yaml` keys. Actions and display only.
### Dynamic Sources
#### Dynamic Profile Sources
- Edited row by row — `dynamic_profile_sources`
### SSH
#### SSH
- Auto-switch profile on SSH connection — `ssh_auto_profile_switch`
- Revert profile on SSH disconnect — `ssh_revert_profile_on_disconnect`
- Enable mDNS host discovery — `enable_mdns_discovery`
- Scan timeout: — `mdns_scan_timeout_secs`
## Keys
### Key Bindings
#### Keybindings
- Edited row by row — `keybindings`
### Leader Key
#### Leader Key
- Record — `leader_key`
- Timeout: — `leader_timeout_ms`
- Overlay delay: — `leader_overlay_delay_ms`
- Vim-style focus and swap keys — `leader_vim_keys`
### Option/Alt
#### Keyboard
- Left Option sends: — `left_option_key_mode`
- Right Option sends: — `right_option_key_mode`
- Use physical key positions for keybindings — `use_physical_keys`
### Modifiers
#### Modifier Remapping
- Edited row by row — `modifier_remapping`
## Pointer
### Mouse
#### Mouse
- Scroll speed: — `mouse_scroll_speed`
- Double-click threshold: — `mouse_double_click_threshold`
- Triple-click threshold: — `mouse_triple_click_threshold`
- Option+Click moves the cursor — `option_click_moves_cursor`
- Focus follows mouse — `focus_follows_mouse`
- Pane focus follows mouse — `pane_focus_follows_mouse`
- Report horizontal scroll events — `report_horizontal_scroll`
### Word Selection
#### Word Selection
- Word characters: — `word_characters`
- Enable smart selection — `smart_selection_enabled`
- Edited row by row — `smart_selection_rules`
### Copy Mode
#### Copy Mode
- Enable copy mode — `copy_mode_enabled`
- Auto-exit on yank — `copy_mode_auto_exit_on_yank`
- Show status bar — `copy_mode_show_status`
## Effects & Shaders
### Background & Shader
#### Background & Effects
- Background mode: — `background_mode`
- Shader: — `custom_shader`
- Enable custom shader — `custom_shader_enabled`
- Enable shader animation — `custom_shader_animation`
- Animation speed: — `custom_shader_animation_speed`
- Enable shader hot reload — `shader_hot_reload`
- Hot reload delay: — `shader_hot_reload_delay`
- Shader brightness: — `custom_shader_brightness`
- Shader text opacity: — `custom_shader_text_opacity`
- Auto-dim under text — `custom_shader_auto_dim_under_text`
- Auto-dim strength: — `custom_shader_auto_dim_strength`
- Readability/low-power mode — `custom_shader_readability_mode`
- Readability brightness cap: — `custom_shader_readability_brightness`
- Full content mode — `custom_shader_full_content`
- Cubemap: — `custom_shader_cubemap`
- Enable cubemap — `custom_shader_cubemap_enabled`
- iChannel0: — `custom_shader_channel0`
- iChannel1: — `custom_shader_channel1`
- iChannel2: — `custom_shader_channel2`
- iChannel3: — `custom_shader_channel3`
- Use background as iChannel0 — `custom_shader_use_background_as_channel0`
- Background blend mode: — `custom_shader_background_channel0_blend_mode`
- Background image path: — `background_image`
- Enable background image — `background_image_enabled`
- Background image mode: — `background_image_mode`
- Background image opacity: — `background_image_opacity`
- Background color: — `background_color`
##### Shader Settings: variant.glsl
No `config.yaml` keys. Actions and display only.
#### Custom Shaders
No `config.yaml` keys. Actions and display only.
### Inline Images
#### Inline Images (Sixel, iTerm2, Kitty)
- Scaling quality: — `image_scaling_mode`
- Preserve aspect ratio — `image_preserve_aspect_ratio`
## Automation
### Triggers
#### Triggers
- Edited row by row — `triggers`
### Snippets
#### Snippets
- Edited row by row — `snippets`
#### Variables Reference
No `config.yaml` keys. Actions and display only.
### Custom Actions
#### Custom Actions
- Prefix key: — `custom_action_prefix_key`
- Edited row by row — `actions`
### Coprocesses
#### Coprocesses
- Edited row by row — `coprocesses`
### Observer Scripts
#### Observer Scripts
- Edited row by row — `scripts`
### Plugins
#### Plugins
- Edited row by row — `plugins`
## Assistant & Agents
### Panel
#### Panel
- Enable Assistant Panel — `ai_inspector_enabled`
- Open on startup — `ai_inspector_open_on_startup`
- Default width: — `ai_inspector_width`
- Chat font size: — `ai_inspector_chat_font_size`
- Input history: — `ai_inspector_input_history_mode`
- Default scope: — `ai_inspector_default_scope`
- Default view: — `ai_inspector_view_mode`
- Live update — `ai_inspector_live_update`
- Show zone content — `ai_inspector_show_zones`
### Agents
#### Agent
- Default agent: — `ai_inspector_agent`
- Auto-launch agent — `ai_inspector_auto_launch`
- Auto-send context — `ai_inspector_auto_context`
- Max context lines: — `ai_inspector_context_max_lines`
- Edited row by row — `ai_inspector_extra_agent_roots`
#### Custom Agents
- Edited row by row — `ai_inspector_custom_agents`
#### Agents
- Edited row by row — `agents`
### Agent Commands
#### Agent Commands
No `config.yaml` keys. Actions and display only.
### Prompt Library
#### Prompt Library
No `config.yaml` keys. Actions and display only.
### Permissions
#### Permissions
- Yolo Mode — `ai_inspector_auto_approve`
- Allow Terminal Access — `ai_inspector_agent_terminal_access`
- Allow Agent Screenshots — `ai_inspector_agent_screenshot_access`
### Agent Usage
#### Agent Usage
- Enable agent usage panel — `agent_usage_enabled`
- Update command: — `agent_usage_update_command`
- Refresh interval (s): — `agent_usage_refresh_interval_sec`
- Edited row by row — `agent_usage_hidden_agents`, `agent_usage_extra_records_dirs`
## Advanced
### Terminal Emulation
#### Scrollback
- Scrollback lines: — `scrollback_lines`
#### Unicode
- Unicode version: — `unicode_version`
- Ambiguous width: — `ambiguous_width`
- Normalization: — `normalization_form`
- Answerback string: — `answerback_string`
#### Anti-Idle Keep-Alive
- Send code when idle — `anti_idle_enabled`
- Send after: — `anti_idle_seconds`
- Character to send: — `anti_idle_code`
### Notifications & Bell
#### Bell
- Visual bell — `notification_bell_visual`
- Flash color: — `notification_visual_bell_color`
- Audio bell volume: — `notification_bell_sound`
- Desktop notifications for bell — `notification_bell_desktop`
#### Activity
- Notify on activity after inactivity — `notification_activity_enabled`
- Activity threshold: — `notification_activity_threshold`
- Notify after prolonged silence — `notification_silence_enabled`
- Silence threshold: — `notification_silence_threshold`
- Notify when a shell exits — `notification_session_ended`
#### Alert Sounds
- Edited row by row — `alert_sounds`
#### Behavior
- Suppress notifications when focused — `suppress_notifications_when_focused`
- Max notification buffer: — `notification_max_buffer`
### Status Bar
#### General
- Enable status bar — `status_bar_enabled`
- Position: — `status_bar_position`
- Height: — `status_bar_height`
#### Styling
- Background color: — `status_bar_bg_color`
- Background opacity: — `status_bar_bg_alpha`
- Text color: — `status_bar_fg_color`
- Font size: — `status_bar_font_size`
- Separator: — `status_bar_separator`
#### Auto-Hide
- Hide in fullscreen — `status_bar_auto_hide_fullscreen`
- Hide on mouse inactivity — `status_bar_auto_hide_mouse_inactive`
- Timeout: — `status_bar_mouse_inactive_timeout`
#### Widget Options
- Time format: — `status_bar_time_format`
- Show git ahead/behind and dirty status — `status_bar_git_show_status`
#### Poll Intervals
- System monitor: — `status_bar_system_poll_interval`
- Git branch: — `status_bar_git_poll_interval`
- Disk free space: — `status_bar_disk_poll_interval`
- Follow active tab's directory — `status_bar_disk_follow_cwd`
#### Widgets
- Edited row by row — `status_bar_widgets`
### Performance & Power
#### Performance
- Max FPS: — `max_fps`
- VSync Mode: — `vsync_mode`
- GPU Power Preference: — `power_preference`
- Pause shader animations when unfocused — `pause_shaders_on_blur`
- Reduce refresh rate when unfocused — `pause_refresh_on_blur`
- Unfocused FPS: — `unfocused_fps`
- Inactive Tab FPS: — `inactive_tab_fps`
- Reduce flicker during fast updates — `reduce_flicker`
- Maximum delay: — `reduce_flicker_delay_ms`
- Maximize throughput — `maximize_throughput`
- Render interval: — `throughput_render_interval_ms`
### Logging
#### Output Recording
- Record every tab's output automatically — `auto_log_sessions`
- Log format: — `session_log_format`
- Log directory: — `session_log_directory`
- Redact passwords in recordings — `session_log_redact_passwords`
#### Debug Logging
- Log level: — `log_level`
### Import/Export
#### Import/Export Preferences
No `config.yaml` keys. Actions and display only.
### Security
#### Security
- Allow all environment variables in config substitution — `allow_all_env_vars`
- Allow dynamic profile sources over plain HTTP — `allow_http_profiles`
- Max OSC data length: — `max_osc_data_length`
## YAML-only keys
These keys have no Settings control on purpose.
- `pane_title_font`: no runtime reader (UX.md B7); a control would be a dead control
- `status_bar_font`: no runtime reader; a control would be a dead control
- `font_ranges`: per-codepoint-range font list; edited in YAML until a range editor exists
- `shell_env`: free-form environment map; edited in YAML until a key/value editor exists
- `tmux_status_bar_use_native_format`: no runtime reader (the native-format query is never issued)
- `working_directory`: legacy key still read (it overrides startup_directory_mode when set); startup_directory_mode and startup_directory are its Settings controls
- `enable_text_shaping`: renderer ignores it (UX.md B39); the control was removed until it is wired
- `enable_ligatures`: renderer ignores it (UX.md B39); the control was removed until it is wired
- `enable_kerning`: renderer ignores it (UX.md B39); the control was removed until it is wired
## Internal keys
par-term writes these itself. Settings does not show them, and edits would be overwritten.
- `collapsed_settings_sections`: Settings' own collapse state
- `last_working_directory`: recorded on exit for startup_directory_mode: previous
- `last_download_directory`: recorded after a download
- `last_update_check`: timestamp of the last update check
- `last_notified_version`: suppresses a repeat update notification
- `skipped_version`: set by Skip This Version; shown and cleared on General › Updates
- `shader_install_prompt`: state of the first-run shader install prompt
- `shell_integration_state`: state of the shell integration install prompt
- `agent_skill_state`: state of the agent skill install prompt
- `integration_versions`: installed integration versions
- `insecure_trigger_names`: computed at load, never serialized
- `unaccepted_risk_trigger_names`: computed at load, never serialized
- `shader_configs`: per-shader overrides, edited through each shader's controls
- `cursor_shader_configs`: per-cursor-shader overrides, edited through each shader's controls
- `pane_backgrounds`: per-pane images, edited row by row in Panes › Pane Backgrounds