User Preferences

April 17, 2026 · View on GitHub

Nanocoder automatically saves your preferences to remember your choices across sessions.

Preferences File Locations

Preferences follow the same location hierarchy as configuration files:

  1. Project-level: nanocoder-preferences.json in your current working directory (overrides user-level)
  2. User-level: Platform-specific configuration directory:
    • macOS: ~/Library/Preferences/nanocoder/nanocoder-preferences.json
    • Linux/Unix: ~/.config/nanocoder/nanocoder-preferences.json
    • Windows: %APPDATA%\nanocoder\nanocoder-preferences.json

What Gets Saved Automatically

PreferenceDescription
lastProviderThe AI provider you last selected
lastModelThe model you last used
providerModelsYour preferred model for each provider (remembered per-provider)
selectedThemeThe theme you last selected via /settings
titleShapeThe title shape style (e.g., box, rounded)
nanocoderShapeThe nanocoder ASCII art shape
trustedDirectoriesDirectories you've approved through the first-run security disclaimer
lastUpdateCheckTimestamp of the last update check (used to avoid checking too frequently)

Paste Configuration

The paste threshold is also stored in the preferences file under the nanocoder.paste namespace:

OptionTypeDefaultDescription
nanocoder.paste.singleLineThresholdnumber800Maximum characters for a single-line paste to be inserted directly. Longer or multi-line pastes become [Paste #N: X chars] placeholders.

You can change this via /settingsPaste Threshold, or by editing the file directly:

{
  "nanocoder": {
    "paste": {
      "singleLineThreshold": 1500
    }
  }
}

Reasoning Traces

Expanding reasoning traces can also be configured in the preferences file with the reasoningExpanded field:

OptionTypeDefaultDescription
reasoningExpandedbooleanfalseWhen set to true, displays the full reasoning traces of models which support thinking

You can change this by editing the preferences file directly:

{
  "reasoningExpanded": true
}

Reasoning traces can also be toggled dynamically with the Ctrl+R keyboard shortcut.

Notification Configuration

Desktop notification preferences are stored under the nanocoder.notifications namespace:

OptionTypeDefaultDescription
nanocoder.notifications.enabledbooleanfalseEnable desktop notifications
nanocoder.notifications.soundbooleanfalsePlay a sound with notifications
nanocoder.notifications.events.toolConfirmationbooleantrueNotify when a tool needs approval
nanocoder.notifications.events.questionPromptbooleantrueNotify when the AI asks a question
nanocoder.notifications.events.generationCompletebooleantrueNotify when a response is ready

You can change these via /settingsNotifications. See Desktop Notifications for full details including platform-specific setup.

When you restart Nanocoder, it automatically restores your last provider, model, theme, shape, paste threshold, and notification preferences.

Manual Management

  • View current preferences: The file is human-readable JSON
  • Reset preferences: Delete any nanocoder-preferences.json to start fresh

Application Data Directory

Nanocoder stores internal application data (such as usage statistics) in a separate application data directory:

  • macOS: ~/Library/Application Support/nanocoder
  • Linux/Unix: $XDG_DATA_HOME/nanocoder or ~/.local/share/nanocoder
  • Windows: %APPDATA%\nanocoder

You can override this directory using NANOCODER_DATA_DIR.