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_modeExpected 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.
| Evidence | What it tells you | Where to inspect |
|---|---|---|
| Source initializer | The fallback when no stored value is present. | The reviewed tables below. |
| Stored app preference | Your local choice for the relevant control. | Settings. |
| Resolved role binding | A role's effective value and source. | Loadouts and commandem roles PROJECT --json. |
| Dispatched account | The identity recorded for an actual run. | Run receipts, not an initializer table. |
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_modeExpected 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.
| Control / preference | Source evidence |
|---|---|
| Add | Button labelConditional availability and execution permissions still apply. |
| Cancel | Button labelConditional availability and execution permissions still apply. |
| Configure shortcuts… | Button labelConditional availability and execution permissions still apply. |
| Configure… | Button labelConditional availability and execution permissions still apply. |
| Done | Button labelConditional availability and execution permissions still apply. |
| Edit policy… | Button labelConditional availability and execution permissions still apply. |
| Loadout presets… | Button labelConditional availability and execution permissions still apply. |
| Manage Loadouts… | Button labelConditional availability and execution permissions still apply. |
| Manage Profiles… | Button labelConditional availability and execution permissions still apply. |
| Open Settings File… | Button labelConditional availability and execution permissions still apply. |
| Profile evidence… | Button labelConditional availability and execution permissions still apply. |
| Reset | Button labelConditional availability and execution permissions still apply. |
| Reset appearance & behavior to defaults | Button labelConditional availability and execution permissions still apply. |
| Save | Button labelConditional availability and execution permissions still apply. |
| Unhide | Button labelConditional availability and execution permissions still apply. |
| Unpin | Button labelConditional availability and execution permissions still apply. |
| Accent | Picker labelConditional availability and execution permissions still apply. |
| Appearance | Picker labelConditional availability and execution permissions still apply. |
| Background | Picker labelConditional availability and execution permissions still apply. |
| Bubble color | Picker labelConditional availability and execution permissions still apply. |
| Control density | Picker labelConditional availability and execution permissions still apply. |
| Default privacy mode | Picker labelConditional availability and execution permissions still apply. |
| Default second pane | Picker labelConditional availability and execution permissions still apply. |
| Fallback model | Picker labelConditional availability and execution permissions still apply. |
| Font | Picker labelConditional availability and execution permissions still apply. |
| Group projects by | Picker labelConditional availability and execution permissions still apply. |
| Guarded auto after restart | Picker labelConditional availability and execution permissions still apply. |
| Guarded auto behavior | Picker labelConditional availability and execution permissions still apply. |
| Menu bar icon | Picker labelConditional availability and execution permissions still apply. |
| On quit, busy chats | Picker labelConditional availability and execution permissions still apply. |
| Open file links in | Picker labelConditional availability and execution permissions still apply. |
| Project sidebar | Picker labelConditional availability and execution permissions still apply. |
| Sidebar double-click | Picker labelConditional availability and execution permissions still apply. |
| Sidebar single-click | Picker labelConditional availability and execution permissions still apply. |
| Sort projects by | Picker labelConditional availability and execution permissions still apply. |
| Status colors | Picker labelConditional availability and execution permissions still apply. |
| Tab icon size | Picker labelConditional availability and execution permissions still apply. |
| Text animation | Picker labelConditional availability and execution permissions still apply. |
| Text size | Picker labelConditional availability and execution permissions still apply. |
| Unsent messages after relaunch | Picker labelConditional availability and execution permissions still apply. |
| When a usage limit hits mid-chat | Picker labelConditional availability and execution permissions still apply. |
| Agent name | TextField labelConditional availability and execution permissions still apply. |
| Name | TextField labelConditional availability and execution permissions still apply. |
| Recipe registry URL | TextField labelConditional availability and execution permissions still apply. |
| Row template ({name} {branch} {ahead} {behind} {dirty} {stall} {action} {ago} {tags}) | TextField labelConditional availability and execution permissions still apply. |
| Search settings | TextField labelConditional availability and execution permissions still apply. |
| commandem args, e.g. check {project} | TextField labelConditional availability and execution permissions still apply. |
| emoji | TextField labelConditional availability and execution permissions still apply. |
| Allow elevated tools (with per-tool approval) | Toggle labelConditional availability and execution permissions still apply. |
| Arm hard-floor overrides (prompt for ssh, cloud CLIs, publishers, history rewrite) | Toggle labelConditional availability and execution permissions still apply. |
| Auto-detach unattended runs started from the app | Toggle labelConditional availability and execution permissions still apply. |
| Condense steps into one line | Toggle labelConditional availability and execution permissions still apply. |
| Fall back to another model when rate-limited | Toggle labelConditional availability and execution permissions still apply. |
| Full roadmap in the companion pane | Toggle labelConditional availability and execution permissions still apply. |
| Icons-only detail tabs | Toggle labelConditional availability and execution permissions still apply. |
| Launch at Login | Toggle labelConditional availability and execution permissions still apply. |
| Open in dual-pane by default | Toggle labelConditional availability and execution permissions still apply. |
| Quit when the window is closed | Toggle labelConditional availability and execution permissions still apply. |
| Render the transcript as a document (fast; visual pass still owed) | Toggle labelConditional availability and execution permissions still apply. |
| Show actions under each message | Toggle labelConditional availability and execution permissions still apply. |
| Show chat suggestion chips | Toggle labelConditional availability and execution permissions still apply. |
| Show hidden + ignored files | Toggle labelConditional availability and execution permissions still apply. |
| Show roadmap companion pane | Toggle labelConditional availability and execution permissions still apply. |
| Show sender name | Toggle labelConditional availability and execution permissions still apply. |
| Show thinking | Toggle labelThe 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 timestamps | Toggle labelConditional availability and execution permissions still apply. |
| Show workbenches and research fixtures | Toggle labelConditional availability and execution permissions still apply. |
| Simple layout (single pane, no split) | Toggle labelConditional availability and execution permissions still apply. |
| Smart replies (on-device, per turn) | Toggle labelConditional availability and execution permissions still apply. |
| Split panes vertically | Toggle labelConditional availability and execution permissions still apply. |
| Suggest a cheaper model for simple tasks | Toggle labelConditional availability and execution permissions still apply. |
| accentName | ThemePrefs.accentKey → "system"Source initializer only; stored values may differ. |
| agentModelCatalog | AgentModelPreferences.key → ""Source initializer only; stored values may differ. |
| agentName | AgentIdentityPrefs.key → AgentIdentityPrefs.defaultNameSource initializer only; stored values may differ. |
| allowElevated | "commandem.chatAllowElevated" → falseSource initializer only; stored values may differ. |
| allowOverride | "commandem.chatAllowOverride" → falseSource initializer only; stored values may differ. |
| appearanceMode | ThemePrefs.modeKey → "system"Source initializer only; stored values may differ. |
| bubbleColor | ChatAppearancePrefs.colorKey → "Blue"Source initializer only; stored values may differ. |
| bubbleRadius | ChatAppearancePrefs.bubbleRadiusKey → 14.0Source initializer only; stored values may differ. |
| chatAnimationSpeed | ChatAppearancePrefs.speedKey → "Normal"Source initializer only; stored values may differ. |
| chatAutonomy | "commandem.chatAutonomy" → "standard"Source initializer only; stored values may differ. |
| chatBackground | ChatBackgroundCatalog.key → "none"Source initializer only; stored values may differ. |
| chatFontDesign | ChatAppearancePrefs.designKey → "System"Source initializer only; stored values may differ. |
| chatFontSize | ChatAppearancePrefs.sizeKey → "100"Source initializer only; stored values may differ. |
| chatShowSender | ChatAppearancePrefs.senderKey → trueSource initializer only; stored values may differ. |
| chatShowThinking | ChatAppearancePrefs.showThinkingKey → trueSource initializer only; stored values may differ. |
| chatShowTimestamp | ChatAppearancePrefs.stampKey → trueSource initializer only; stored values may differ. |
| chatSuggestions | "commandem.chatSuggestions" → trueSource initializer only; stored values may differ. |
| companionFullPane | "commandem.companionFullPane" → trueSource initializer only; stored values may differ. |
| controlDensity | ControlDensityPrefs.key → ControlDensityPrefs.defaultNameSource initializer only; stored values may differ. |
| defaultAgent | ChatAgentPrefs.defaultKey → "claude"Source initializer only; stored values may differ. |
| defaultSecondPane | "commandem.defaultSecondPane" → SecondPanePreference.defaultModeSource initializer only; stored values may differ. |
| detachUnattendedOnQuit | ChatLifecyclePrefs.detachUnattendedKey → trueSource initializer only; stored values may differ. |
| dualPaneDefault | "commandem.dualPaneDefault" → trueSource initializer only; stored values may differ. |
| flagFallbackModel | "commandem.flagFallbackModel" → "opus"Source initializer only; stored values may differ. |
| foldSteps | ChatAppearancePrefs.foldStepsKey → trueSource initializer only; stored values may differ. |
| fullAutoRestartMode | ChatAutoContinuePrefs.restartModeKey → "all"Source initializer only; stored values may differ. |
| hiddenRaw | "commandem.hiddenProjects" → ""Source initializer only; stored values may differ. |
| inlineActions | ChatAppearancePrefs.inlineActionsKey → falseSource initializer only; stored values may differ. |
| modelNudge | "commandem.chatModelNudge" → trueSource initializer only; stored values may differ. |
| openFilesApplication | FileLinkOpen.applicationPathKey → ""Source initializer only; stored values may differ. |
| openFilesIn | FileLinkOpen.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" → falseSource initializer only; stored values may differ. |
| pauseOnQuitRaw | ChatLifecyclePrefs.pauseOnQuitKey → ChatLifecyclePrefs.PauseOnQuit.bounded.rawValueSource initializer only; stored values may differ. |
| pinnedRaw | "commandem.pinnedProjects" → ""Source initializer only; stored values may differ. |
| privacyModeRaw | PrivacyModePrefs.globalKey → PrivacyMode.standard.rawValueSource initializer only; stored values may differ. |
| quitOnWindowClose | "commandem.quitOnWindowClose" → falseSource initializer only; stored values may differ. |
| recipeRegistry | "commandem.recipeRegistry" → ""Source initializer only; stored values may differ. |
| replyingLabel | CustomMessages.replyingLabelKey → ""Source initializer only; stored values may differ. |
| resumeUnsentRaw | ChatLifecyclePrefs.resumeUnsentKey → ChatLifecyclePrefs.ResumeUnsent.autoResend.rawValueSource initializer only; stored values may differ. |
| roadmapCompanionHidden | "commandem.roadmapCompanionHidden" → falseSource initializer only; stored values may differ. |
| selectedTab | "commandem.settingsTab" → "agents"Source initializer only; stored values may differ. |
| sendAtReset | ChatLifecyclePrefs.sendAtResetKey → trueSource initializer only; stored values may differ. |
| showHiddenFiles | "commandem.files.showIgnored" → trueSource initializer only; stored values may differ. |
| sidebarCollapsed | "commandem.sidebarCollapsed" → falseSource 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" → falseSource initializer only; stored values may differ. |
| sidebarSingleClick | "commandem.sidebarSingleClick" → "open"Source initializer only; stored values may differ. |
| simpleLayout | "commandem.simpleLayout" → falseSource initializer only; stored values may differ. |
| smartReplies | "commandem.chatSmartReplies" → falseSource initializer only; stored values may differ. |
| sortMode | "commandem.sortMode" → "name"Source initializer only; stored values may differ. |
| statusStyle | StatusPalette.styleKey → StatusPalette.style.rawValueSource initializer only; stored values may differ. |
| switchOnFlag | "commandem.switchModelOnFlag" → falseSource initializer only; stored values may differ. |
| tabBarIconsOnly | "commandem.tabBarIconsOnly" → falseSource initializer only; stored values may differ. |
| tabIconSizeRaw | "commandem.tabIconSize" → "medium"Source initializer only; stored values may differ. |
| thinkingIcon | ChatAppearancePrefs.thinkingIconKey → ""Source initializer only; stored values may differ. |
| thinkingWords | CustomMessages.thinkingWordsKey → ""Source initializer only; stored values may differ. |
| Auto-scroll to latest | Picker labelChoose Always, Only when at bottom (default), or Never. Latest remains available; opening a conversation and explicit navigation are separate actions. |
| chatAutoScroll | ChatAutoScrollPrefs.key → ChatAutoScrollPrefs.defaultModecommandem.chatAutoScroll uses atBottomOnly by default. This global appearance preference does not switch agent accounts. |
| Long messages | Picker labelChoose Block, Pills or Document for long user messages. Changes apply to the current conversation view. |
| longUserStyle | ChatAppearancePrefs.longUserStyleKey → "block"commandem.longUserBubbleStyle starts as block. Applying a preset may change it; later individual edits are retained. |
| Last chat tab fallback | Picker 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.defaultModeThe 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 labelDiscovery 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 labelExplicit 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 labelExplicit 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 style | Picker labelLayout: 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. |
| toolbarStyleRaw | ThemePrefs.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.
| Control / preference | Source evidence |
|---|---|
| Reject a gamed verify pass (verify-guard) | Toggle labelConditional availability and execution permissions still apply. |
| cadence | AutoContinuePrefs.progressCadenceKey → 30Source initializer only; stored values may differ. |
| effort | AutoContinuePrefs.effortKey → "default"Source initializer only; stored values may differ. |
| maxBudget | AutoContinuePrefs.maxBudgetKey → 10.0Source initializer only; stored values may differ. |
| maxTurns | AutoContinuePrefs.maxTurnsKey → 25Source initializer only; stored values may differ. |
| model | AutoContinuePrefs.modelKey → "default"Source initializer only; stored values may differ. |
| progressDetail | AutoContinuePrefs.progressDetailKey → "status"Source initializer only; stored values may differ. |
| progressModel | AutoContinuePrefs.progressModelKey → "cheap"Source initializer only; stored values may differ. |
| verifyGuard | AutoContinuePrefs.verifyGuardKey → trueSource 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.
| Control / preference | Source evidence |
|---|---|
| Save for All Projects | Button labelConditional availability and execution permissions still apply. |
| After the fallback chain | Picker labelConditional availability and execution permissions still apply. |
| When provider quota is exhausted | Picker labelConditional availability and execution permissions still apply. |
| Fallback chain (one account:, model:, or agent: link per line) | TextField labelConditional availability and execution permissions still apply. |
| Maximum wait | TextField labelConditional availability and execution permissions still apply. |
| Window overrides (one five_hour=wait entry per line) | TextField labelConditional availability and execution permissions still apply. |
| Notify when a limit rule activates | Toggle labelConditional 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.
| Control / preference | Source evidence |
|---|---|
| Input device | Picker labelConditional availability and execution permissions still apply. |
| Listen for spoken command confirmation | Toggle labelConditional availability and execution permissions still apply. |
| handsFreeConfirmation | VoiceCommandPrefs.handsFreeConfirmationKey → trueSource initializer only; stored values may differ. |
| micUID | micDeviceUIDKey → ""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.
| Control / preference | Source evidence |
|---|---|
| End | Button labelConditional availability and execution permissions still apply. |
| Listen now | Button labelConditional availability and execution permissions still apply. |
| Voice | Picker labelConditional availability and execution permissions still apply. |
| Preview text | TextField labelConditional availability and execution permissions still apply. |
| Automatically read completed responses | Toggle labelConditional availability and execution permissions still apply. |
| autoRead | SpeechPlaybackPrefs.autoReadKey → falseSource initializer only; stored values may differ. |
| rate | SpeechPlaybackPrefs.rateKey → SpeechPlaybackPrefs.defaultRateSource initializer only; stored values may differ. |
| voiceID | SpeechPlaybackPrefs.voiceKey → ""Source initializer only; stored values may differ. |
| volume | SpeechPlaybackPrefs.volumeKey → SpeechPlaybackPrefs.defaultVolumeSource initializer only; stored values may differ. |
| Refresh voice list | Button labelRefresh 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.
| Control / preference | Source evidence |
|---|---|
| Back up everything… | Button labelConditional availability and execution permissions still apply. |
| Export… | Button labelConditional availability and execution permissions still apply. |
| Import… | Button labelConditional availability and execution permissions still apply. |
| Workspace | Picker labelConditional 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.
| Control / preference | Source evidence |
|---|---|
| Pair a device… | Button labelConditional availability and execution permissions still apply. |
| Refresh | Button labelConditional availability and execution permissions still apply. |
| Device name | TextField labelConditional 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.
| Control / preference | Source evidence |
|---|---|
| Open macOS Notification Settings… | Button labelConditional 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.
| Control / preference | Source evidence |
|---|---|
| Cancel | Button labelConditional availability and execution permissions still apply. |
| Discover models | Button labelConditional availability and execution permissions still apply. |
| New profile | Button labelConditional availability and execution permissions still apply. |
| Remove | Button labelConditional availability and execution permissions still apply. |
| Remove profile | Button labelConditional availability and execution permissions still apply. |
| Test connection | Button labelConditional availability and execution permissions still apply. |
| Credential | Picker labelConditional availability and execution permissions still apply. |
| Default model | Picker labelConditional availability and execution permissions still apply. |
| Protocol | Picker labelConditional availability and execution permissions still apply. |
| https://api.example.com/v1 | TextField labelConditional availability and execution permissions still apply. |
| model-id | TextField labelConditional availability and execution permissions still apply. |
| team-openai | TextField labelConditional availability and execution permissions still apply. |
| Advertise Commandem tools | Toggle labelConditional availability and execution permissions still apply. |
| Streaming responses | Toggle labelConditional availability and execution permissions still apply. |
| preferencesRaw | AgentModelPreferences.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.
| Control / preference | Source evidence |
|---|---|
| Apply | Button labelConditional availability and execution permissions still apply. |
| Agent | Picker labelConditional availability and execution permissions still apply. |
| Effort | Picker labelConditional availability and execution permissions still apply. |
| Model | Picker labelConditional availability and execution permissions still apply. |
| Super agent floor | Picker labelConditional availability and execution permissions still apply. |
| 0 | TextField labelConditional availability and execution permissions still apply. |
| Super agent delegates edits | Toggle labelConditional availability and execution permissions still apply. |
| When a chat turn would demote | Picker labelGlobal 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.
| Control / preference | Source evidence |
|---|---|
| Current passphrase | SecureField labelConditional 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.
| Control / preference | Source evidence |
|---|---|
| Add (deny) | Button labelConditional availability and execution permissions still apply. |
| Allow all in this group | Button labelConditional availability and execution permissions still apply. |
| Allow it | Button labelConditional availability and execution permissions still apply. |
| Ask for all | Button labelConditional availability and execution permissions still apply. |
| Ask-first | Button labelConditional availability and execution permissions still apply. |
| Cancel | Button labelConditional availability and execution permissions still apply. |
| Deny all (default) | Button labelConditional availability and execution permissions still apply. |
| Disable all guardrails | Button labelConditional availability and execution permissions still apply. |
| Done | Button labelConditional availability and execution permissions still apply. |
| Reset to safe defaults | Button labelConditional availability and execution permissions still apply. |
| Restore floor | Button labelConditional availability and execution permissions still apply. |
| Restore full floor | Button labelConditional availability and execution permissions still apply. |
| Scope | Picker labelConditional availability and execution permissions still apply. |
| Add a custom command, e.g. docker push | TextField labelConditional 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.
| Control / preference | Source evidence |
|---|---|
| Apply | Button labelConditional availability and execution permissions still apply. |
| Cancel | Button labelConditional availability and execution permissions still apply. |
| Done | Button labelConditional availability and execution permissions still apply. |
| Propagate to all projects… | Button labelConditional availability and execution permissions still apply. |
| Write to every project's CLAUDE.md | Button labelConditional availability and execution permissions still apply. |
| Tests | Picker labelConditional availability and execution permissions still apply. |
| optional — blank = use your real name | TextField labelConditional availability and execution permissions still apply. |
| Hide commit email (use a GitHub noreply address) | Toggle labelConditional 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.