Feature reference · pre-release

Controls and source defaults

Exact static Settings labels and code initializers, with configuration context, not private user values.

Reviewed October 23, 2026. This reflects the current source code, not a certified running build or a public release announcement.

The file-link fallback row additionally reviews source 4ac3b262. The previous handbook-wide source was 11249a60; the current review is shown above and requires its freshness gate before release.

Read this appendix correctly

This is a reviewed extraction of static control labels and AppStorage source initializers from fourteen explicitly selected Settings-related files. It is not a dump of preferences, accounts, device identifiers or secrets. Conditional and dynamically named controls are not all enumerated; they still require contextual review.

Literal initializers show the code fallback, not the current stored value. Expressions remain expressions so the reference does not guess a default that is resolved elsewhere. An empty string can represent unset/automatic configuration, not disabled functionality. Labels for buttons document available actions, not actions already performed. See Settings for the category map.

Example: a fallback is not your current value

This reads the stored CLI override, or reports that it is not set. It does not inspect every app preference or a running chat's selected mode.

commandem prefs default_mode

Expected result: the stored CLI default mode, or “not set (built-in default applies).” Compare the source initializers below, but do not treat either as proof of an active run's configuration.

EvidenceWhat it tells youWhere to inspect
Source initializerThe fallback when no stored value is present.The reviewed tables below.
Stored app preferenceYour local choice for the relevant control.Settings.
Resolved role bindingA role's effective value and source.Loadouts and commandem roles PROJECT --json.
Dispatched accountThe identity recorded for an actual run.Run receipts, not an initializer table.
This compares kinds of evidence, not a universal precedence chain. Inspect the scope that actually controls your action.

Set and clear one CLI override

Record the previous value first. This changes local CLI configuration for future compatible calls; it does not restart an active chat or authenticate an account.

commandem prefs default_mode plan
commandem prefs default_mode --clear
commandem prefs default_mode

Expected result: the override is set, then removed; the final read reports “not set (built-in default applies).” Clearing does not restore a previous override. To undo, explicitly set the value you recorded. Do not pass arbitrary AppStorage keys to prefs. See persistence and scope.

General settings controls

These controls span the twelve Settings categories above, including appearance/layout, chat defaults and system actions. Use Settings search for the exact label. Conditional controls may appear only after another option is enabled; a button label does not mean the operation already happened.

Reset appearance & behavior also restores the Home feed project, significance and maintenance filters, and the project-news significance and maintenance filters, to their defaults. Reset also restores saved resizable-section layouts. Pinned/hidden projects, shortcuts and Launch at Login remain unchanged.

Source-declared controls and initializers: SettingsWindow.swift
Control / preferenceSource evidence
AddButton label
Conditional availability and execution permissions still apply.
CancelButton label
Conditional availability and execution permissions still apply.
Configure shortcuts…Button label
Conditional availability and execution permissions still apply.
Configure…Button label
Conditional availability and execution permissions still apply.
DoneButton label
Conditional availability and execution permissions still apply.
Edit policy…Button label
Conditional availability and execution permissions still apply.
Loadout presets…Button label
Conditional availability and execution permissions still apply.
Manage Loadouts…Button label
Conditional availability and execution permissions still apply.
Manage Profiles…Button label
Conditional availability and execution permissions still apply.
Open Settings File…Button label
Conditional availability and execution permissions still apply.
Profile evidence…Button label
Conditional availability and execution permissions still apply.
ResetButton label
Conditional availability and execution permissions still apply.
Reset appearance & behavior to defaultsButton label
Conditional availability and execution permissions still apply.
SaveButton label
Conditional availability and execution permissions still apply.
UnhideButton label
Conditional availability and execution permissions still apply.
UnpinButton label
Conditional availability and execution permissions still apply.
AccentPicker label
Conditional availability and execution permissions still apply.
AppearancePicker label
Conditional availability and execution permissions still apply.
BackgroundPicker label
Conditional availability and execution permissions still apply.
Bubble colorPicker label
Conditional availability and execution permissions still apply.
Control densityPicker label
Conditional availability and execution permissions still apply.
Default privacy modePicker label
Conditional availability and execution permissions still apply.
Default second panePicker label
Conditional availability and execution permissions still apply.
Fallback modelPicker label
Conditional availability and execution permissions still apply.
FontPicker label
Conditional availability and execution permissions still apply.
Group projects byPicker label
Conditional availability and execution permissions still apply.
Guarded auto after restartPicker label
Conditional availability and execution permissions still apply.
Guarded auto behaviorPicker label
Conditional availability and execution permissions still apply.
Menu bar iconPicker label
Conditional availability and execution permissions still apply.
On quit, busy chatsPicker label
Conditional availability and execution permissions still apply.
Open file links inPicker label
Conditional availability and execution permissions still apply.
Project sidebarPicker label
Conditional availability and execution permissions still apply.
Sidebar double-clickPicker label
Conditional availability and execution permissions still apply.
Sidebar single-clickPicker label
Conditional availability and execution permissions still apply.
Sort projects byPicker label
Conditional availability and execution permissions still apply.
Status colorsPicker label
Conditional availability and execution permissions still apply.
Tab icon sizePicker label
Conditional availability and execution permissions still apply.
Text animationPicker label
Conditional availability and execution permissions still apply.
Text sizePicker label
Conditional availability and execution permissions still apply.
Unsent messages after relaunchPicker label
Conditional availability and execution permissions still apply.
When a usage limit hits mid-chatPicker label
Conditional availability and execution permissions still apply.
Agent nameTextField label
Conditional availability and execution permissions still apply.
NameTextField label
Conditional availability and execution permissions still apply.
Recipe registry URLTextField label
Conditional availability and execution permissions still apply.
Row template ({name} {branch} {ahead} {behind} {dirty} {stall} {action} {ago} {tags})TextField label
Conditional availability and execution permissions still apply.
Search settingsTextField label
Conditional availability and execution permissions still apply.
commandem args, e.g. check {project}TextField label
Conditional availability and execution permissions still apply.
emojiTextField label
Conditional availability and execution permissions still apply.
Allow elevated tools (with per-tool approval)Toggle label
Conditional availability and execution permissions still apply.
Arm hard-floor overrides (prompt for ssh, cloud CLIs, publishers, history rewrite)Toggle label
Conditional availability and execution permissions still apply.
Auto-detach unattended runs started from the appToggle label
Conditional availability and execution permissions still apply.
Condense steps into one lineToggle label
Conditional availability and execution permissions still apply.
Fall back to another model when rate-limitedToggle label
Conditional availability and execution permissions still apply.
Full roadmap in the companion paneToggle label
Conditional availability and execution permissions still apply.
Icons-only detail tabsToggle label
Conditional availability and execution permissions still apply.
Launch at LoginToggle label
Conditional availability and execution permissions still apply.
Open in dual-pane by defaultToggle label
Conditional availability and execution permissions still apply.
Quit when the window is closedToggle label
Conditional availability and execution permissions still apply.
Render the transcript as a document (fast; visual pass still owed)Toggle label
Conditional availability and execution permissions still apply.
Show actions under each messageToggle label
Conditional availability and execution permissions still apply.
Show chat suggestion chipsToggle label
Conditional availability and execution permissions still apply.
Show hidden + ignored filesToggle label
Conditional availability and execution permissions still apply.
Show roadmap companion paneToggle label
Conditional availability and execution permissions still apply.
Show sender nameToggle label
Conditional availability and execution permissions still apply.
Show thinkingToggle label
The composer’s Thinking → Show thinking updates uses this same preference. This presentation choice applies across chats and does not enable or disable model reasoning. Conditional availability and execution permissions still apply.
Show timestampsToggle label
Conditional availability and execution permissions still apply.
Show workbenches and research fixturesToggle label
Conditional availability and execution permissions still apply.
Simple layout (single pane, no split)Toggle label
Conditional availability and execution permissions still apply.
Smart replies (on-device, per turn)Toggle label
Conditional availability and execution permissions still apply.
Split panes verticallyToggle label
Conditional availability and execution permissions still apply.
Suggest a cheaper model for simple tasksToggle label
Conditional availability and execution permissions still apply.
accentNameThemePrefs.accentKey → "system"
Source initializer only; stored values may differ.
agentModelCatalogAgentModelPreferences.key → ""
Source initializer only; stored values may differ.
agentNameAgentIdentityPrefs.key → AgentIdentityPrefs.defaultName
Source initializer only; stored values may differ.
allowElevated"commandem.chatAllowElevated" → false
Source initializer only; stored values may differ.
allowOverride"commandem.chatAllowOverride" → false
Source initializer only; stored values may differ.
appearanceModeThemePrefs.modeKey → "system"
Source initializer only; stored values may differ.
bubbleColorChatAppearancePrefs.colorKey → "Blue"
Source initializer only; stored values may differ.
bubbleRadiusChatAppearancePrefs.bubbleRadiusKey → 14.0
Source initializer only; stored values may differ.
chatAnimationSpeedChatAppearancePrefs.speedKey → "Normal"
Source initializer only; stored values may differ.
chatAutonomy"commandem.chatAutonomy" → "standard"
Source initializer only; stored values may differ.
chatBackgroundChatBackgroundCatalog.key → "none"
Source initializer only; stored values may differ.
chatFontDesignChatAppearancePrefs.designKey → "System"
Source initializer only; stored values may differ.
chatFontSizeChatAppearancePrefs.sizeKey → "100"
Source initializer only; stored values may differ.
chatShowSenderChatAppearancePrefs.senderKey → true
Source initializer only; stored values may differ.
chatShowThinkingChatAppearancePrefs.showThinkingKey → true
Source initializer only; stored values may differ.
chatShowTimestampChatAppearancePrefs.stampKey → true
Source initializer only; stored values may differ.
chatSuggestions"commandem.chatSuggestions" → true
Source initializer only; stored values may differ.
companionFullPane"commandem.companionFullPane" → true
Source initializer only; stored values may differ.
controlDensityControlDensityPrefs.key → ControlDensityPrefs.defaultName
Source initializer only; stored values may differ.
defaultAgentChatAgentPrefs.defaultKey → "claude"
Source initializer only; stored values may differ.
defaultSecondPane"commandem.defaultSecondPane" → SecondPanePreference.defaultMode
Source initializer only; stored values may differ.
detachUnattendedOnQuitChatLifecyclePrefs.detachUnattendedKey → true
Source initializer only; stored values may differ.
dualPaneDefault"commandem.dualPaneDefault" → true
Source initializer only; stored values may differ.
flagFallbackModel"commandem.flagFallbackModel" → "opus"
Source initializer only; stored values may differ.
foldStepsChatAppearancePrefs.foldStepsKey → true
Source initializer only; stored values may differ.
fullAutoRestartModeChatAutoContinuePrefs.restartModeKey → "all"
Source initializer only; stored values may differ.
hiddenRaw"commandem.hiddenProjects" → ""
Source initializer only; stored values may differ.
inlineActionsChatAppearancePrefs.inlineActionsKey → false
Source initializer only; stored values may differ.
modelNudge"commandem.chatModelNudge" → true
Source initializer only; stored values may differ.
openFilesApplicationFileLinkOpen.applicationPathKey → ""
Source initializer only; stored values may differ.
openFilesInFileLinkOpen.prefKey → "chat-tab"
Source initializer only; stored values may differ. With no stored preference, this selects Commandem tab, not the separate preview pane. Existing choices are preserved. This row additionally reviews source 4ac3b262; it is not an installed-app verification.
paneSplitVertical"commandem.paneSplitVertical" → false
Source initializer only; stored values may differ.
pauseOnQuitRawChatLifecyclePrefs.pauseOnQuitKey → ChatLifecyclePrefs.PauseOnQuit.bounded.rawValue
Source initializer only; stored values may differ.
pinnedRaw"commandem.pinnedProjects" → ""
Source initializer only; stored values may differ.
privacyModeRawPrivacyModePrefs.globalKey → PrivacyMode.standard.rawValue
Source initializer only; stored values may differ.
quitOnWindowClose"commandem.quitOnWindowClose" → false
Source initializer only; stored values may differ.
recipeRegistry"commandem.recipeRegistry" → ""
Source initializer only; stored values may differ.
replyingLabelCustomMessages.replyingLabelKey → ""
Source initializer only; stored values may differ.
resumeUnsentRawChatLifecyclePrefs.resumeUnsentKey → ChatLifecyclePrefs.ResumeUnsent.autoResend.rawValue
Source initializer only; stored values may differ.
roadmapCompanionHidden"commandem.roadmapCompanionHidden" → false
Source initializer only; stored values may differ.
selectedTab"commandem.settingsTab" → "agents"
Source initializer only; stored values may differ.
sendAtResetChatLifecyclePrefs.sendAtResetKey → true
Source initializer only; stored values may differ.
showHiddenFiles"commandem.files.showIgnored" → true
Source initializer only; stored values may differ.
sidebarCollapsed"commandem.sidebarCollapsed" → false
Source initializer only; stored values may differ.
sidebarDoubleClick"commandem.sidebarDoubleClick" → "sidebar-files"
Source initializer only; stored values may differ.
sidebarGroup"commandem.sidebarGroup" → "status"
Source initializer only; stored values may differ.
sidebarShowInfra"commandem.sidebarShowInfra" → false
Source initializer only; stored values may differ.
sidebarSingleClick"commandem.sidebarSingleClick" → "open"
Source initializer only; stored values may differ.
simpleLayout"commandem.simpleLayout" → false
Source initializer only; stored values may differ.
smartReplies"commandem.chatSmartReplies" → false
Source initializer only; stored values may differ.
sortMode"commandem.sortMode" → "name"
Source initializer only; stored values may differ.
statusStyleStatusPalette.styleKey → StatusPalette.style.rawValue
Source initializer only; stored values may differ.
switchOnFlag"commandem.switchModelOnFlag" → false
Source initializer only; stored values may differ.
tabBarIconsOnly"commandem.tabBarIconsOnly" → false
Source initializer only; stored values may differ.
tabIconSizeRaw"commandem.tabIconSize" → "medium"
Source initializer only; stored values may differ.
thinkingIconChatAppearancePrefs.thinkingIconKey → ""
Source initializer only; stored values may differ.
thinkingWordsCustomMessages.thinkingWordsKey → ""
Source initializer only; stored values may differ.
Auto-scroll to latestPicker label
Choose Always, Only when at bottom (default), or Never. Latest remains available; opening a conversation and explicit navigation are separate actions.
chatAutoScrollChatAutoScrollPrefs.key → ChatAutoScrollPrefs.defaultMode
commandem.chatAutoScroll uses atBottomOnly by default. This global appearance preference does not switch agent accounts.
Long messagesPicker label
Choose Block, Pills or Document for long user messages. Changes apply to the current conversation view.
longUserStyleChatAppearancePrefs.longUserStyleKey → "block"
commandem.longUserBubbleStyle starts as block. Applying a preset may change it; later individual edits are retained.
Last chat tab fallbackPicker in Chat settings: Roadmap (default) or Stay on Chat. When the last tab closes, Stay on Chat keeps its conversation; when it moves to another pane, the source opens a fresh chat.
rawMode (last chat tab fallback)ChatTabFallbackPrefs.key → ChatTabFallbackPrefs.defaultMode
The source resolves the storage key to commandem.lastChatTabFallback and the default to Roadmap. This affects the next last-tab close or move.
Import projects from a folder…Button label
Discovery precedes explicit selection; registration writes local state. Button in Settings → Projects. Opens ImportProjectsSheet; discovery is distinct from the later selected registration step. No new file-panel, installed scan or registration verification.
Source declaration only · 2026-10-17 · source 2e874387, SettingsWindow.swift; not runtime certification.
Read an imported archive…Button label
Explicit imported content; no native resume or rule activation. Button in Settings → Projects. Opens ImportedArchiveBrowserSheet for existing archive/operation inspection. Imported material remains external and inert. Real vendor export fidelity, file chooser acceptance and installed behavior remain unqualified.
Source declaration only · 2026-10-17 · source 2e874387, SettingsWindow.swift; not runtime certification.
Preview selected Cursor files…Button label
Explicit Markdown and inactive rules; no Apply or archive creation. Button in Settings → Projects. Opens CursorImportReviewSheet; acknowledgement and explicit file selection precede the read-only preview. File-panel delivery, real exports and installed UI remain unqualified.
Source declaration only · 2026-10-17 · source 2e874387, SettingsWindow.swift; not runtime certification.
Toolbar stylePicker label
Layout: Follow theme, Glass capsule or Underline (compact). Picker in Settings → Layout. Valid explicit override precedes theme choice, then built-in Glass. No new physical picker, pixel or installed-behavior verdict.
Source declaration only · 2026-10-17 · source 2e874387, SettingsWindow.swift; not runtime certification.
toolbarStyleRawThemePrefs.toolbarStyleKey → ""
ThemePrefs.toolbarStyleKey → "". Stored key commandem.toolbarStyle has an empty-string source initializer (Follow theme). An invalid override falls through to theme, then Glass. This is not the owner’s current value or a backend CLI preference registration.
Source declaration only · 2026-10-17 · source 2e874387, SettingsWindow.swift; not runtime certification.

Automatic continuation

This pane sets bounded turns, budget, model/effort, verification guard and progress reporting. Source initializers are 25 turns, 10.0 budget, default model/effort and verification guard true; actual stored settings can differ. Status progress is deterministic; optional model summaries can spend quota.

Source-declared controls and initializers: AutoContinueSettings.swift
Control / preferenceSource evidence
Reject a gamed verify pass (verify-guard)Toggle label
Conditional availability and execution permissions still apply.
cadenceAutoContinuePrefs.progressCadenceKey → 30
Source initializer only; stored values may differ.
effortAutoContinuePrefs.effortKey → "default"
Source initializer only; stored values may differ.
maxBudgetAutoContinuePrefs.maxBudgetKey → 10.0
Source initializer only; stored values may differ.
maxTurnsAutoContinuePrefs.maxTurnsKey → 25
Source initializer only; stored values may differ.
modelAutoContinuePrefs.modelKey → "default"
Source initializer only; stored values may differ.
progressDetailAutoContinuePrefs.progressDetailKey → "status"
Source initializer only; stored values may differ.
progressModelAutoContinuePrefs.progressModelKey → "cheap"
Source initializer only; stored values may differ.
verifyGuardAutoContinuePrefs.verifyGuardKey → true
Source initializer only; stored values may differ.

Quota exhaustion rules

Rules decide whether to wait, stop or use an explicitly permitted fallback chain. Check agent/account/model identity and the recorded exhaustion reason. A form placeholder or suggested wait duration is not an enforced source default.

Source-declared controls and initializers: LimitSettings.swift
Control / preferenceSource evidence
Save for All ProjectsButton label
Conditional availability and execution permissions still apply.
After the fallback chainPicker label
Conditional availability and execution permissions still apply.
When provider quota is exhaustedPicker label
Conditional availability and execution permissions still apply.
Fallback chain (one account:, model:, or agent: link per line)TextField label
Conditional availability and execution permissions still apply.
Maximum waitTextField label
Conditional availability and execution permissions still apply.
Window overrides (one five_hour=wait entry per line)TextField label
Conditional availability and execution permissions still apply.
Notify when a limit rule activatesToggle label
Conditional availability and execution permissions still apply.

Microphone and voice commands

Select an input device and dictation behavior. Device identifiers and OS authorization are local. Voice-command confirmation is a separate safety boundary; the UI does not grant unrestricted spoken execution.

Source-declared controls and initializers: MicSettings.swift
Control / preferenceSource evidence
Input devicePicker label
Conditional availability and execution permissions still apply.
Listen for spoken command confirmationToggle label
Conditional availability and execution permissions still apply.
handsFreeConfirmationVoiceCommandPrefs.handsFreeConfirmationKey → true
Source initializer only; stored values may differ.
micUIDmicDeviceUIDKey → ""
Source initializer only; stored values may differ.

Speech playback

Configure voice, rate, volume and auto-read where supported. Voice availability depends on the chosen playback implementation and installed resources; no universal cloud-free claim follows from this settings pane.

Source-declared controls and initializers: SpeechPlaybackSettings.swift
Control / preferenceSource evidence
EndButton label
Conditional availability and execution permissions still apply.
Listen nowButton label
Conditional availability and execution permissions still apply.
VoicePicker label
Conditional availability and execution permissions still apply.
Preview textTextField label
Conditional availability and execution permissions still apply.
Automatically read completed responsesToggle label
Conditional availability and execution permissions still apply.
autoReadSpeechPlaybackPrefs.autoReadKey → false
Source initializer only; stored values may differ.
rateSpeechPlaybackPrefs.rateKey → SpeechPlaybackPrefs.defaultRate
Source initializer only; stored values may differ.
voiceIDSpeechPlaybackPrefs.voiceKey → ""
Source initializer only; stored values may differ.
volumeSpeechPlaybackPrefs.volumeKey → SpeechPlaybackPrefs.defaultVolume
Source initializer only; stored values may differ.
Refresh voice listButton label
Refresh is unavailable while the physical lookup remains pending. Button in Settings → Audio. Requests SpeechVoiceCatalog session refresh; unavailable for a read-only session or while a physical lookup is pending. The last loaded list is labelled and retained. Actual OS voices, physical button/AX behavior and playback were not exercised.
Source declaration only · 2026-10-17 · source 2e874387, SpeechPlaybackSettings.swift; not runtime certification.

Backup and workspace export

Full backups and scoped workspace exports have different contents. Workspace exports exclude chats; a full state backup can include sensitive configuration. Inspect the archive and import scope, preserve backups and never publish private state by default.

Source-declared controls and initializers: BackupExportSettings.swift
Control / preferenceSource evidence
Back up everything…Button label
Conditional availability and execution permissions still apply.
Export…Button label
Conditional availability and execution permissions still apply.
Import…Button label
Conditional availability and execution permissions still apply.
WorkspacePicker label
Conditional availability and execution permissions still apply.

Device pairing

Pair the intended companion device and inspect its trust record. Network/hardware availability is external to the source defaults; physical-device verification remains separate.

Source-declared controls and initializers: PairingSettings.swift
Control / preferenceSource evidence
Pair a device…Button label
Conditional availability and execution permissions still apply.
RefreshButton label
Conditional availability and execution permissions still apply.
Device nameTextField label
Conditional availability and execution permissions still apply.

Notification policy

Per-type policy determines priority and delivery independently from durable unread state. Quiet/silent behavior is not deletion, and clearing a feed does not resolve the source project's health condition.

Reminders and Sync conflicts are separate per-type controls and source-default to Alert. Stored choices can override these defaults; OS permissions still gate banners and sound.

Source-declared controls and initializers: NotificationPreferences.swift
Control / preferenceSource evidence
Open macOS Notification Settings…Button label
Conditional availability and execution permissions still apply.

Provider account preferences

Keep provider defaults, named native accounts and endpoint profiles distinct. A serialized preference initializer is not authentication data. Inspect the selected account in the actual run receipt.

Source-declared controls and initializers: ProviderProfileSettings.swift
Control / preferenceSource evidence
CancelButton label
Conditional availability and execution permissions still apply.
Discover modelsButton label
Conditional availability and execution permissions still apply.
New profileButton label
Conditional availability and execution permissions still apply.
RemoveButton label
Conditional availability and execution permissions still apply.
Remove profileButton label
Conditional availability and execution permissions still apply.
Test connectionButton label
Conditional availability and execution permissions still apply.
CredentialPicker label
Conditional availability and execution permissions still apply.
Default modelPicker label
Conditional availability and execution permissions still apply.
ProtocolPicker label
Conditional availability and execution permissions still apply.
https://api.example.com/v1TextField label
Conditional availability and execution permissions still apply.
model-idTextField label
Conditional availability and execution permissions still apply.
team-openaiTextField label
Conditional availability and execution permissions still apply.
Advertise Commandem toolsToggle label
Conditional availability and execution permissions still apply.
Streaming responsesToggle label
Conditional availability and execution permissions still apply.
preferencesRawAgentModelPreferences.key → ""
Source initializer only; stored values may differ.

Roles and Loadouts

Role configuration supplies reusable account/tool/behavior references for supported dispatch paths. A Loadout binds names rather than copying credentials; validate bindings before unattended work.

Local role bindings use the shared discovered model catalog. Local agent/model choices carry the Local badge and available tier or estimate information; catalog metadata is not proof of live model readiness or safe tool use.

Source-declared controls and initializers: RolesSettings.swift
Control / preferenceSource evidence
ApplyButton label
Conditional availability and execution permissions still apply.
AgentPicker label
Conditional availability and execution permissions still apply.
EffortPicker label
Conditional availability and execution permissions still apply.
ModelPicker label
Conditional availability and execution permissions still apply.
Super agent floorPicker label
Conditional availability and execution permissions still apply.
0TextField label
Conditional availability and execution permissions still apply.
Super agent delegates editsToggle label
Conditional availability and execution permissions still apply.
When a chat turn would demotePicker label
Global defaults only; ask, auto or never. Picker in Roles and Loadouts. Default auto; ask exposes a 3–30-second countdown with source default 8. Saves the global roles.demotion_mode preference, then reloads the project view. Physical selection, installed preference writes and countdown behavior were not exercised.
Source declaration only · 2026-10-17 · source 2e874387, RolesSettings.swift; not runtime certification.

Protected capabilities

Configure the supported local capability broker and authentication factors. Passphrase-only operation has limits against same-UID access; tool approval and OS-factor authorization must remain explicit.

Source-declared controls and initializers: CapBrokerSettings.swift
Control / preferenceSource evidence
Current passphraseSecureField label
Conditional availability and execution permissions still apply.

Policy editor

Inspect and edit the actual local execution policy. Saving a policy changes future permission decisions; a policy label is not independent proof of sandbox enforcement.

Source-declared controls and initializers: PolicySettingsPane.swift
Control / preferenceSource evidence
Add (deny)Button label
Conditional availability and execution permissions still apply.
Allow all in this groupButton label
Conditional availability and execution permissions still apply.
Allow itButton label
Conditional availability and execution permissions still apply.
Ask for allButton label
Conditional availability and execution permissions still apply.
Ask-firstButton label
Conditional availability and execution permissions still apply.
CancelButton label
Conditional availability and execution permissions still apply.
Deny all (default)Button label
Conditional availability and execution permissions still apply.
Disable all guardrailsButton label
Conditional availability and execution permissions still apply.
DoneButton label
Conditional availability and execution permissions still apply.
Reset to safe defaultsButton label
Conditional availability and execution permissions still apply.
Restore floorButton label
Conditional availability and execution permissions still apply.
Restore full floorButton label
Conditional availability and execution permissions still apply.
ScopePicker label
Conditional availability and execution permissions still apply.
Add a custom command, e.g. docker pushTextField label
Conditional availability and execution permissions still apply.

Standing directives

View/edit shared project instructions and apply them through the supported propagation mechanism. Applying can write project instruction files; review the diff and do not let an untrusted advisory change owner authority.

Source-declared controls and initializers: DirectivesSettingsPane.swift
Control / preferenceSource evidence
ApplyButton label
Conditional availability and execution permissions still apply.
CancelButton label
Conditional availability and execution permissions still apply.
DoneButton label
Conditional availability and execution permissions still apply.
Propagate to all projects…Button label
Conditional availability and execution permissions still apply.
Write to every project's CLAUDE.mdButton label
Conditional availability and execution permissions still apply.
TestsPicker label
Conditional availability and execution permissions still apply.
optional — blank = use your real nameTextField label
Conditional availability and execution permissions still apply.
Hide commit email (use a GitHub noreply address)Toggle label
Conditional availability and execution permissions still apply.

Dependency diagnostics

Inspect detected tools and their configuration. Installation, version discovery, runtime compatibility and authenticated access are different checks; a dependency row is not a provider certification.

No static label or stored initializer is declared in this selected source. Dynamic controls and child views are outside this extraction.