
# More settings (B–G)

Plain-language reference for every Omniscio setting whose key begins with the letters B through G.

---

## Include screen recordings in backup mirror {#backupMirrorIncludeScreenRecordings}

Controls whether the Backup Mirror bundles your screen recording files when it syncs. Default is **off**. Screenshots are always included regardless of this setting; only the larger video recording files are gated here. A single recording can be 1–3 GB, and the mirror assembles the bundle in memory, so bundling recordings by default would risk running out of memory and bloating every sync. Turn it on only if you want irreplaceable recordings backed up and your system has enough RAM for the operation. Toggle; accepted values: `true | false`.

---

## Bug intake append prompt {#bugIntakeAppendPrompt}

Free-form operator text that is appended to the agent investigation prompt for every bug report the intake system receives — whether it arrives by email, Sentry, or the in-app form. Stacks before any per-project append prompt. Use it to inject standing instructions ("Always check the error logs first" or "CC the back-end team in your report"). Empty by default, meaning no extra instructions are injected. Text field; accepted values: `string (≤10,000 characters)`.

---

## Bug intake {#bugIntakeEnabled}

Shows the Bug Intake entry in the sidebar — a feature that collects bug reports from configured Sentry sources, deduplicates them, and triages each one by spawning an agent session. When off, the Sentry poller is paused and all intake request handlers refuse connections. Off by default. Toggle; accepted values: `true | false`.

---

## Today's Agenda card {#calendarDailyAgendaEnabled}

Posts one "Today's Agenda" card to your inbox each morning, listing today's calendar events — each one a link that opens or edits it in Google Calendar. On by default, and it only runs while the Google Calendar integration is also on. You get at most one card per day, so a restart or a re-sync never gives you a second copy. Turn it off to stop the daily card without affecting the "starting soon" reminders. Toggle; accepted values: `true | false`.

## Week starts on {#calendarWeekStartDay}

Which day the calendar grid starts on. **Monday** is the default because that is what the calendar has always done — a Sunday default would have quietly shifted everyone's grid on upgrade. Choose **Sunday** if that matches how you read a week. Display only; it does not change any event's time or any reminder. Select; accepted values: `"monday" | "sunday"`.

## Calendar notification delivery {#calendarNotificationDelivery}

Chooses where calendar event reminders appear. **inbox** (default) creates a dismissible alert card in your inbox. **toast** shows a transient pop-up that disappears on its own. **both** does both at once. Change this in Settings → Notifications if you find one channel too easy to miss or too distracting. Select; accepted values: `"inbox" | "toast" | "both"`.

---

## Calendar reminder lead time {#calendarReminderMinutes}

How many minutes before an event starts Omniscio fires the "starting soon" reminder. Default is **15 minutes**. Set to **0** to be notified exactly at start time; the maximum is 120 minutes (two hours). Only fires while the Google Calendar integration and background sync are enabled. Number; accepted values: integer `0–120`.

---

## Chat depth style {#chatDepth}

Sets the visual depth style of the chat message list. **flat** renders messages with no card lift. **soft** adds a light surface separation between messages. **glass** uses a translucent frosted treatment. This is a display-only preference with no effect on performance or functionality. Select; accepted values: `"flat" | "soft" | "glass"`.

---

## Utility AI model {#cheapUtilityModel}

The single model that all of Omniscio's background AI helpers use — session title generation, reply suggestions, summaries, digests, and similar lightweight tasks. **Automatic** (the default) uses DeepSeek V4 Flash on your own DeepSeek key when one is configured (cheaper, billed to you), and falls back to the built-in model otherwise. Set a specific model ID here to override that choice everywhere. Advanced setting; found in Settings → Sessions. Text; accepted values: `string (≤100)`.

---

## Keep running when the window is closed {#closeToTray}

When enabled, closing the Omniscio window keeps the app and all your sessions alive in the system tray rather than quitting. Reopen the window from the tray icon. Default is **off** — closing the window quits the app. If you frequently run long background sessions, turning this on ensures they keep running while you work in other apps. Toggle; accepted values: `true | false`.

---

## AI coaching {#coachingEnabled}

Enables the AI Coaching engine, which provides contextual tips and nudges based on how you work. Off by default. Turn it on in Settings → AI Coach if you want coaching input. Related settings let you choose which coaching categories are active and whether coaching artifacts mirror into your KMS vault. Toggle; accepted values: `true | false`.

---

## Codex approval mode {#codexApprovalMode}

Sets how much autonomy Codex sessions have when executing commands. **inherit** (default, shown as "Follow Agent Permission Level") follows the [Agent Permission Level](controls-privacy-and-general.md#agentPermissionLevel): Read-only and Guarded act like **ask**, Autonomous like **ask-on-request** plus internet access, and Full trust like **auto**. **ask** grants full machine access but asks before every command. **ask-on-request** allows workspace-level writes freely but asks before reaching outside the workspace — including any command that needs the internet, because Codex's workspace sandbox has no network. **auto** grants full access and never asks. Pick a value other than inherit only to run Codex at a different level from Claude. Changes apply to newly started Codex sessions. Select; accepted values: `"inherit" | "ask" | "ask-on-request" | "auto"`.

---

## Codex virtual project {#codexProjectEnabled}

Shows a dedicated Codex virtual project in the sidebar so you can run OpenAI Codex sessions alongside Claude sessions. Off by default; requires a Codex API key configured in Settings → Accounts. Toggle; accepted values: `true | false`.

---

## Content-free mobile push {#contentFreeMobilePush}

When enabled (the default), mobile push notifications strip the session name and any other content before the notification is sent to the push provider — the provider sees only ciphertext and transport metadata, never the actual session text. Turn it off only if your push provider already encrypts everything end-to-end and you want richer notification previews. Toggle; accepted values: `true | false`.

---

## Catch-Up Card {#continuousSummaryEnabled}

Pins a short catch-up card at the top of any session that is sitting in "Needs You," giving you a 4-line summary of what the agent did since you last looked. Off by default — it costs an AI call each time the card is generated. Turn it on in Settings → Sessions if you often return to sessions you haven't checked in a while. Toggle; accepted values: `true | false`.

---

## Catch-Up Card model {#continuousSummaryModel}

Which model generates the catch-up card summary. Defaults to Sonnet 4.5 when unset. Set a specific model ID to use a different (for example, cheaper or faster) model for these lightweight summaries. Only applies when the Catch-Up Card feature is enabled. Text; accepted values: `string (≤200)`.

---

## Catch-Up Card "originally" length cap {#continuousSummaryOriginallyLengthCap}

Maximum character count of the "what I originally did" section in the catch-up card prompt. Keeps the summarization input from ballooning on very long sessions. Default is **1,000 characters**; range is 50–10,000. Increase if the truncated context causes the summary to miss important earlier context. Number; accepted values: integer `50–10,000`.

---

## Catch-Up Card "originally" prompt template {#continuousSummaryOriginallyPromptTemplate}

The editable prompt template used to generate the "what I originally did" part of the catch-up card. Leaving it unset uses the built-in default template. Edit only if you want to change the phrasing or structure of that section of the summary. Text; accepted values: `string (≤50,000)`.

---

## Catch-Up Card recent turns visible {#continuousSummaryRecentTurnsVisible}

How many of the most recent conversation turns are shown in full below the catch-up card summary, giving you immediate context alongside the generated overview. Default is determined by the built-in constant; range is 1–5 turns. Increase if you need more recent history visible at a glance. Number; accepted values: integer `1–5`.

---

## Show agent summary in Catch-Up Card {#continuousSummaryShowAgentSummary}

When on, the catch-up card also includes the agent's own self-reported summary (if the session produced one), in addition to the generated overview. Off by default. Toggle; accepted values: `true | false`.

---

## AI Council evaluator model {#councilEvaluatorModel}

The model that plays the "evaluator" role in an AI Council run — the blind critic agents that score each builder's attempt against the goal. Unset uses the Council's built-in default. Override here to use a specific model for evaluation across all Council runs. Text; accepted values: `string (≤120)`.

---

## AI Council synthesizer model {#councilSynthesizerModel}

The model that plays the "synthesizer" role in an AI Council run — combining the top-scoring attempts into a final answer. Unset uses the Council's built-in default. Text; accepted values: `string (≤120)`.

---

## Cron failure alerts always fire {#cronFailureAlertsAlwaysFire}

When on, cron-job failure alerts bypass Focus Mode and fire immediately regardless of your focus settings. Off by default, meaning they respect Focus Mode like other alerts. Turn it on if a permanently failed scheduled job is important enough that you never want Focus Mode to delay the notification. Toggle; accepted values: `true | false`.

---

## Cron failure alerts {#cronFailureAlertsEnabled}

When on (the default), Omniscio shows an OS toast and creates a persistent inbox card whenever a scheduled cron job fails permanently. Turn it off to silence those notifications entirely, though you will then need to check job status manually. Toggle; accepted values: `true | false`.

---

## Custom prompt rules {#customPromptRules}

Your list of per-model or per-provider custom instruction rules. Each rule targets one or more engine families or specific model IDs; any session whose provider or model matches gets all the matching rules' text injected as extra instructions at the start of the conversation. Empty by default, meaning no extra instructions are added. Manage rules in Settings → Sessions → Custom Prompt Rules. List of objects; each object has `id`, `targets` (array), and `text`.

---

## Daily digest sources {#dailyDigestSources}

Which data sources are pulled into your Daily Digest briefing. Each source (calendar, Gmail, RSS, Slack, sessions, and others) can be toggled independently. Turn off sources that are too noisy or not relevant to your workflow to keep the digest focused. Object with boolean fields for each source.

---

## Daily journal time {#dailyJournalTime}

The wall-clock time (as a string, e.g. `"08:00"`) when the daily journaling check-in nudge fires. Works together with `dailyJournalWeeklyDay` (for the weekly review) and the auto-captured time zone. Requires AI Coaching and the Daily Journal feature to be enabled. Text; accepted values: `string`.

---

## Daily journal weekly review day {#dailyJournalWeeklyDay}

Which day of the week your weekly review nudge fires. Uses JavaScript's day numbering: **0** = Sunday, **1** = Monday, …, **6** = Saturday. Requires the Daily Journal to be enabled. Number; accepted values: integer `0–6`.

---

## Default agent instructions (custom text) {#defaultAgentInstructionsCustom}

The custom instructions text that is injected into every new session when the default agent instructions feature is enabled. Use this to set standing context — coding standards, your preferred response style, project conventions — that you want every session to know from the start. Up to 10,000 characters. Text; accepted values: `string (≤10,000)`.

---

## Default agent instructions {#defaultAgentInstructionsEnabled}

Master switch that injects your custom instructions text into every new session. When on, the content of `defaultAgentInstructionsCustom` is prepended to each session's context. On by default — write your instructions in Settings → Agent Instructions. Turn it off to stop the injection without deleting the text. Toggle; accepted values: `true | false`.

---

## Default projects folder {#defaultProjectsFolder}

The file-system path Omniscio suggests first when you create a new project and need to pick a working directory. Set this to your usual development workspace so you spend less time navigating the folder picker. Text; accepted values: `string (≤1,000)`.

---

## DeepSeek balance warning lead time {#deepSeekBalanceAlertLeadHours}

How much warning the DeepSeek balance forecast gives you before the projected run-out, in hours. Default `24`. Raise it toward the `720` (30-day) maximum to hear about a slow drain much earlier; set it to `0` to turn the card off entirely while the balance history keeps being recorded. Only relevant when `deepSeekBalanceMonitorEnabled` is on. Number; accepted values: `0`–`720`.

---

## DeepSeek balance forecast {#deepSeekBalanceMonitorEnabled}

When enabled, Omniscio reads your DeepSeek API account balance every 15 minutes, measures how fast the money is actually draining, and raises one inbox alert with a one-click Recharge button when the account is projected to reach zero inside `deepSeekBalanceAlertLeadHours`. On by default (turn it off here and it stays off). Requires a DeepSeek API key stored in Accounts & Providers. The alert fires only on a **measured drain** — a balance that is merely low while nothing is spending raises nothing — and it is withdrawn once the drain stops. It only ever reads the balance: it never spends, recharges, or resumes a session. If the balance cannot be read several times in a row it raises its own notice rather than going quietly blind. Kill switch: `AMC_DISABLE_DEEPSEEK_BALANCE_MONITOR`. Toggle; accepted values: `true | false`.

---

## App icon attention badge {#desktopIconBadgeEnabled}

Shows a count badge on the Omniscio taskbar / dock icon indicating how many sessions need your attention. On by default. Turn it off for a quieter desktop if you prefer to check the inbox on your own schedule. Toggle; accepted values: `true | false`.

---

## Dev Pipeline archive guard {#devPipelineArchiveGuardEnabled}

Refuses to archive a session whose worktree branch still holds unshipped work — not tagged ready-to-merge, not landed on master, and with no open PR — so a branch of finished-but-unlanded work cannot be closed away by accident. The session stays fully alive instead. Fail-open: if the git check itself errors, the archive is allowed through. Off by default. Toggled from the Dev Pipeline panel's **Setup** tab, and mirrored in Settings → Features → Advanced. Toggle; accepted values: `true | false`.

---

## Custom pipeline phases {#devPipelineCustomPhasesEnabled}

Turns on the Dev Pipeline's custom-phase editor, so you can add phases of your own (and their approval gates) at the point in the flow where they belong, alongside the built-in ones — each custom gate then gets its own auto-approve switch at its true position. Your phases are stored in `~/.claude/dev-pipeline/phases.json`, which is the one file both Omniscio and the Claude skill read, so a phase you define is visible to the run it configures. Off by default. Toggle; accepted values: `true | false`.

---

## Dev Pipeline repositories {#devPipelineRepos}

Which repositories the Dev Pipeline — and through it the auto-lander — is on for, one entry per project. An **empty list is not "off"**: it means the list is _derived_ for you from the projects the Dev Pipeline is already set up for, and the moment you add a repository by hand your list is used verbatim instead. Nothing is written to your settings on your behalf, so there is nothing to undo. Edited from the Dev Pipeline panel's **Setup** tab. List of objects; accepted values: `array of object { enabled: true | false; projectId: string (≤100) }`.

---

## Dev Pipeline sidebar item {#devPipelineSidebarEnabled}

Whether the Dev Pipeline panel's row appears in the sidebar. On by default. This is a visibility toggle and nothing more: hiding the row does not turn off the controls inside the panel and does not stop the background jobs behind it. Settings → Sidebar. Toggle; accepted values: `true | false`.

---

## Diff viewer font size {#diffFontSize}

Font size (in pixels) used for code content in the diff viewer and code-review panel. Range is 10–20. Increase it if the diff text is hard to read at a glance; decrease it to see more context on screen at once. Number; accepted values: integer `10–20`.

---

## Diff viewer tab width {#diffTabSize}

How many spaces wide a tab character appears in the diff viewer. Range is 2–8; default behavior matches your code-review panel. Adjust to match the convention of the projects you review most often. Number; accepted values: integer `2–8`.

---

## Distribute sessions across accounts {#distributeSessionsAcrossAccounts}

When on, new sessions are spread across all your logged-in Claude accounts by usage load rather than always filling the first account first. This keeps costs and rate limits balanced across accounts. Off by default since 2026-08-29 — fresh installs run a single account, and multi-account users opt in here (the toggle appears with 2+ login accounts); installs from before that date keep the setting they had. When off, new sessions always go to your primary account. Toggle; accepted values: `true | false`.

---

## Drip campaigns {#dripEnabled}

Enables the Drip feature — a workflow that sends a sequence of scheduled messages (a "drip") to a recipient over time. Off by default. Use it to automate follow-ups, onboarding sequences, or spaced reminders. Toggle; accepted values: `true | false`.

---

## Pause all drips {#dripGlobalPause}

A global kill switch for Drip: when on, every active drip sequence is paused immediately and no scheduled messages go out. Off by default. Use this when you need to stop all drip activity at once — for example, during a product incident — without deleting individual drips. Toggle; accepted values: `true | false`.

---

## Render HTML drip files live {#dripHtmlPreviewEnabled}

When on, HTML files attached to a drip step are rendered as a live preview rather than shown as raw markup. On by default. Turn it off if you would rather see the raw markup. Toggle; accepted values: `true | false`.

---

## ElevenLabs voice {#elevenlabsVoiceId}

The ElevenLabs voice ID used for text-to-speech playback when ElevenLabs is your selected TTS provider. Set the ID of any voice from your ElevenLabs account. Leave blank to use the provider's default. Text; accepted values: `string (≤100)`.

---

## Email inbound approved senders {#emailInboundApprovedSenders}

The list of email addresses (up to 50) whose incoming messages are accepted by the agent email inbox without pre-screening. Messages from senders not on this list are routed through the pre-screen prompt first. Add addresses you fully trust so their messages go straight to an agent session. List; accepted values: array of email strings.

---

## Agent email inbox {#emailInboundEnabled}

Enables the agent email inbox — an address (provided by Omniscio) that people can email to start or continue an agent session. Off by default. Once on, configure the inbox ID and approved senders. Toggle; accepted values: `true | false`.

---

## Agent email inbox ID {#emailInboundInboxId}

The ID of the email inbox associated with your agent email address. This is set automatically when you configure the agent email feature and is used to route arriving email to the right session. Text; accepted values: `string (≤200)`.

---

## Email inbound pre-screen prompt {#emailInboundPrescreenPrompt}

Instructions given to the pre-screener agent when an email arrives from a sender who is not on the approved list. The screener uses this prompt to decide whether to accept the message, ask a clarifying question, or reject it. Customize this to match your desired intake policy. Text; accepted values: `string (≤16,000)`.

---

## Archive summarized emails {#emailSummarizerArchiveEnabled}

When on, emails are automatically archived after the Email Summarizer processes them. Off by default — emails stay in your inbox after summarization. Turn it on if you prefer a clean inbox where only un-processed messages remain. Toggle; accepted values: `true | false`.

---

## Email summarizer daily cost cap {#emailSummarizerDailyCostCapUsd}

The maximum amount (in US dollars) the Email Summarizer is allowed to spend on AI calls in a single day. Default is **$1.00**; range is $0.10–$20. Raise it if summarization is being cut off because you receive a high volume of email; lower it to keep costs in check. Number; accepted values: `0.1–20`.

---

## Email summarizer default prompt {#emailSummarizerDefaultPrompt}

The prompt template the Email Summarizer uses when generating a summary for each email. Leave blank to use the built-in default template. Edit it to change the summary style — for example, to always include action items or to use bullet points. Text; accepted values: `string (≤20,000)`.

---

## Email summarizer {#emailSummarizerEnabled}

Enables the Email Summarizer, which reads each incoming email and generates a short summary that appears alongside the message in your inbox. Off by default; requires an email inbox configured. Toggle; accepted values: `true | false`.

---

## Summarize Gmail emails {#emailSummarizerGmailEnabled}

When on, the Email Summarizer also processes emails from your connected Gmail account in addition to the agent email inbox. Off by default; requires both the Email Summarizer and Google authentication to be set up. Toggle; accepted values: `true | false`.

---

## Email summarizer inbox ID {#emailSummarizerInboxId}

Identifies which inbox the Email Summarizer reads. Set automatically when you configure the feature. Text; accepted values: `string`.

---

## Engineering principles prompt {#engineeringPrinciplesPromptEnabled}

When on (the default), every regular session receives a short system-prompt note with senior-engineer discipline: keep solutions simple and scoped, fix the root cause instead of papering over symptoms, treat reported bugs as real, write genuine tests, and stay alert to performance and security issues. Skipped on Ask Omniscio helper sessions. Turn it off in Settings → Features if you find the added instructions interfere with specialized tasks. Toggle; accepted values: `true | false`.

---

## Execution bias prompt {#executionBiasPromptEnabled}

When on (the default), every regular session gets a short system-prompt nudge to act on an actionable request in the same turn rather than just describing a plan, to keep going to a genuine finish rather than stopping early, and to retry a weak or empty result a different way. It still asks when it needs you and never overrides an explicit stop or approval gate. Skipped on Ask Omniscio helper sessions. Turn it off in Settings → AI Coach. Toggle; accepted values: `true | false`.

---

## Always hide final message marker {#finalMessageMarkerAlwaysHide}

When on, the final-message marker is hidden from the chat view in all circumstances, even in debug situations where it would normally be visible. Advanced toggle; most users will not need this. On by default. Toggle; accepted values: `true | false`.

---

## Final message marker debug mode {#finalMessageMarkerDebug}

When on, extra debug information about the final-message marker detection is surfaced in the chat. Useful for diagnosing why a session's final message is or is not being identified correctly. Off by default; intended for developers and advanced users. Toggle; accepted values: `true | false`.

---

## Show all blocks in final message {#finalMessageMarkerShowAllBlocks}

When on, all message blocks — including tool calls and thinking steps — are shown even when "Show only the final message" is active. Normally those intermediate steps are hidden to keep the view clean. Turn this off if you would rather keep the view clean and see the final message only. On by default. Toggle; accepted values: `true | false`.

---

## Final message structural floor {#finalMessageStructuralFloor}

A sub-option of "Show only the final message." When on, the final-message marker can hide tool calls and thinking, but it can never hide the actual answer or any live question the model wrote after its last tool step. This fixes non-Claude models such as DeepSeek, Codex, and GLM that sometimes place the marker in the wrong position, which would otherwise bury the answer you need to act on. Single-step turns without tool use are not affected. On by default. Toggle; accepted values: `true | false`.

---

## Favourite models {#favoriteModels}

The models you star in Settings → Sessions, under "Favourite models". When an agent starts a
session it reads this list along with every model it may pick, so your favourites are the ones it
reaches for first. **Starring a model never restricts anything** — a model you have not starred
stays exactly as usable, the list is never reordered, and a favourite naming a model that has since
been retired is simply ignored. Empty by default, so nothing changes for anyone who never stars
one. Select the models you want favoured; the list holds model ids (≤200 entries).

---

## Focus Mode {#focusModeFeatureEnabled}

Enables the Focus Mode feature, which suppresses non-critical notifications and reduces visual interruptions while you need to concentrate. When off, the Focus Mode controls are hidden throughout the app. Toggle; accepted values: `true | false`.

---

## Gemini virtual project {#geminiProjectEnabled}

Adds a dedicated Gemini virtual project to the sidebar so you can run Google Gemini sessions alongside Claude sessions. Off by default; requires a Gemini API key configured in Settings → Accounts. Toggle; accepted values: `true | false`.

---

## Gemini voice ID {#geminiTtsVoiceId}

The voice Google Gemini speaks with when Gemini TTS is selected as your Read Aloud provider. Choose a prebuilt voice from the picker in Settings → Voice, or type any other Gemini prebuilt voice name (they are capitalised, for example `Kore` or `Puck`). Defaults to `Kore`. Gemini TTS runs on your own Google API key — the same key the app's other Google features use — so there is no separate credential to enter here.

---

## Git guardrails enforcement level {#gitGuardrailsEnforcementLevel}

Controls how strictly Omniscio's git safety rules are enforced in agent sessions. **required** (the default) hard-blocks a guarded operation — the agent cannot proceed. **advisory** logs a warning and lets the operation through. Lower to advisory only if you need to allow an operation that the guardrails would otherwise block and you are sure it is safe. Select; accepted values: `"advisory" | "required"`.

---

## Git guardrails protected branches {#gitGuardrailsProtectedBranches}

The list of branch names that agent sessions are not allowed to commit to, push to, or edit files on directly. Defaults to `["master", "main"]`. Add any other branches (for example a `release` or `production` branch) that should be treated as protected. List; accepted values: array of strings.

---

## Require ready-to-merge tag before push {#gitGuardrailsReadyTagGateEnabled}

When on, the git guardrails also require a current SHA-bound ready-to-merge tag on a feature branch before an agent can push it. This enforces the full ready-to-merge workflow (lint, typecheck, tests, and build must pass) for every push. Off by default because it imposes the workflow; opt in per team preference. Toggle; accepted values: `true | false`.

---

## Let an agent unblock itself briefly {#gitGuardrailsSelfPauseEnabled}

When on (the default), an agent that a git guardrail has just blocked may open a short, bounded self-pause window to carry on — up to **10 minutes**, and no more than **3 times an hour**. It is meant for the case where you have already told the agent to go ahead and it would otherwise have to stop and ask you the same question again. Every use posts an inbox notice, so you always learn it happened and what it did. The window cannot lift everything: it **never** allows pushing to a remote, and it expires on its own rather than staying open. Turn this off to require your explicit approval every single time an agent hits a guardrail — with it off, only you can lift a block. Toggle; accepted values: `true | false`.

---

## Invite-only sign-in gate {#globalAuthInviteOnly}

When on, new users can only sign in to this Omniscio install if they have received an invitation. This is a server-enforced policy (the cloud enforces it for all users); the local setting mirrors the state of the server toggle. Managed by administrators only; changing it writes a policy to the server. Toggle; accepted values: `true | false`.

---

## Global hotkey {#globalHotkey}

The system-wide keyboard shortcut that brings Omniscio to the foreground from any app. Set it in Settings → System by pressing a key combination. Supports multiple bindings (stored as an array); the first binding is shown as the primary shortcut. Accepts an Electron accelerator string or array of strings (≤100 characters each).

---

## Gmail default inbox query {#gmailDefaultQuery}

The Gmail search query used when the Gmail panel first loads, determining which messages appear by default. Default is `is:inbox`. Change it to any valid Gmail search syntax — for example `is:unread` or `label:important` — to have a different starting view. Text; accepted values: `string (≤500)`.

---

## Export to Google Docs {#googleDocsExportEnabled}

Enables the Google Docs export feature, which lets sessions write their output directly to a Google Doc. Off by default; requires Google authentication. Configure the destination folder and optional template after enabling. Toggle; accepted values: `true | false`.

---

## Google Docs destination folder {#googleDocsDestFolderId}

The Google Drive folder ID where exported Google Docs are saved. Paste the ID from the folder's URL. Leave blank to save to the root of your Drive. Text; accepted values: `string`.

---

## Google Docs template {#googleDocsTemplateId}

The ID of a Google Doc to use as a template when creating new exported documents. The new document is created as a copy of this template. Leave blank to create plain, untitled documents. Text; accepted values: `string`.

---

## Google Workspace tools

**Retired (2026-09-19).** No AMC-built MCP server composes into a session any more, so the Google Workspace MCP toggle is gone. Google access is unaffected — it still runs through the gws/gog CLI backend (`googleCliBackend`) and the composed `google-drive` MCP server.

---

## Grandfather existing mobile devices {#grandfatherExistingMobileDevices}

When on (the default), mobile devices that were already paired before the device-approval feature shipped are automatically treated as approved and keep working without requiring a manual approval step. Flip it off to force those grandfathered devices through the full pending → approve flow — useful for testing or enforcing approval for all devices going forward. Explicit approvals are not affected. Toggle; accepted values: `true | false`.

---

## Grok voice {#grokVoiceId}

The voice ID used for text-to-speech playback when Grok (xAI) is your selected TTS provider. Set the ID of a preset Grok voice. Leave blank to use the provider's default. Text; accepted values: `string (≤100)`.
