Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/miu-ll/Cody-assistant/llms.txt

Use this file to discover all available pages before exploring further.

Cody stores all user preferences in a single AppSettings object that is persisted alongside your tasks and meetings. Every setting has a sensible default so the app works on first launch without any configuration. The sections below describe every field, its type, default value, and where to change it inside the Cody interface.
Settings are persisted as part of AppState in a local JSON file at %APPDATA%/cody-desktop-assistant/cody-data.json. The file is written atomically (via a .tmp swap) and is never uploaded to any server. All data — including API keys — stays on your machine.

AppSettings interface

The full TypeScript definition from src/types.ts:
export type PetVariant = 'bunny' | 'froggo' | 'panda' | 'cow' | 'cat' | 'dog'
export type AiProvider = 'azure' | 'openai'

export interface AppSettings {
  userName: string
  reminderMinutes: number
  autoSyncMinutes?: number
  briefingsEnabled?: boolean
  briefingHour?: number
  closingHour?: number
  textScale?: number
  petVariant?: PetVariant
  launchAtLogin?: boolean
  onboarded?: boolean
  aiProvider?: AiProvider
  aiApiKey?: string
  aiEndpoint?: string
  aiDeployment?: string
  outlookAccount?: string
  lastOutlookSync?: string
}

Settings reference

Identity

SettingTypeDefaultDescription
userNamestring''Your name, shown in greetings and the morning briefing
onboardedbooleanfalseWhether the first-run onboarding wizard has been completed — Cody sets this automatically after the welcome screen
userName is displayed in the greeting header and changes based on time of day (“Good morning, Ana”, “Good evening, Ana”). You set it during the welcome screen on first launch and can update it any time in Settings → General.

Reminders & sync

SettingTypeDefaultDescription
reminderMinutesnumber30Minutes before a task due date to fire a Windows reminder notification
autoSyncMinutesnumber10Outlook auto-sync interval in minutes — accepted values are 5, 10, or 30
lastOutlookSyncstringISO 8601 timestamp of the last successful Outlook sync, displayed in the sidebar as a relative time (e.g. “3 minutes ago”)
outlookAccountstringOutlook account name populated automatically after the first sync — used for display only

Daily briefings

SettingTypeDefaultDescription
briefingsEnabledbooleantrueEnable morning briefing and end-of-day closing summary
briefingHournumber8Hour in 24-hour format to trigger the morning briefing (e.g. 8 = 08:00)
closingHournumber18Hour in 24-hour format to trigger the end-of-day summary (e.g. 18 = 18:00)
Morning briefing (at briefingHour): today’s meetings, your three highest-priority tasks, and a text-to-speech read-aloud option.Closing summary (at closingHour): tasks completed vs. still pending, what’s due tomorrow, and a one-click button to reschedule today’s unfinished tasks to tomorrow.

Appearance

SettingTypeDefaultDescription
textScalenumber1Text size multiplier applied across the assistant panel
petVariantPetVariant'bunny'Pet character displayed in the floating desktop widget
textScale values:
ValueLabel
1Normal
1.15Large
1.3Very large
petVariant options:

bunny

Default conejito — soft pastel theme

froggo

Ranita — green accent theme

panda

Panda — black and white theme

cow

Vaquita — warm cream theme

cat

Gatito — warm orange theme

dog

Perrito — earthy brown theme
Each pet applies its own full visual theme — palette, accent colours, brand icon, and greeting character.

Windows integration

SettingTypeDefaultDescription
launchAtLoginbooleanfalseStart Cody automatically when Windows starts
launchAtLogin calls app.setLoginItemSettings({ openAtLogin: true }) via Electron. This only takes effect in the packaged build — it has no effect when running in development mode (npm run dev). Under MSIX or Microsoft Store packaging this mechanism requires a StartupTask entry in the app manifest (Package.appxmanifest) rather than a registry key — consult the MSIX startup task docs if you plan to distribute via the Store.

AI classification

SettingTypeDefaultDescription
aiProviderAiProvider'azure'AI provider used to classify email suggestions by category
aiApiKeystringAPI key for the configured AI provider
aiEndpointstringAzure OpenAI resource endpoint URL (e.g. https://your-resource.openai.azure.com/)
aiDeploymentstringAzure OpenAI deployment name (e.g. gpt-4o)
Azure OpenAI (recommended for corporate use): classification requests stay within your company’s Microsoft tenant and Microsoft does not use them for model training. Requires an endpoint URL, deployment name, and API key from your IT department.OpenAI: uses the public OpenAI API. Requires only an API key from platform.openai.com.No AI configured: Cody falls back to its built-in local keyword classifier — no network connection required.For privacy, only the email subject and sender are ever sent to the AI provider. The message body is never transmitted.

Full AppState structure

AppSettings lives inside the AppState wrapper that is written to disk:
{
  "tasks": [],
  "suggestions": [],
  "categories": [],
  "meetings": [],
  "dismissedSuggestionIds": [],
  "settings": {
    "userName": "Ana",
    "reminderMinutes": 30,
    "autoSyncMinutes": 10,
    "briefingsEnabled": true,
    "briefingHour": 8,
    "closingHour": 18,
    "textScale": 1,
    "petVariant": "bunny",
    "launchAtLogin": false,
    "onboarded": true,
    "aiProvider": "azure"
  }
}

Build docs developers (and LLMs) love