Skip to content
FunCoding

editing-letta-code-desktop-preferences

Edits Letta Code Desktop (LCD) preferences by safely reading and updating ~/.letta/desktop_preferences.json. Use only when the user asks to change current Desktop/LCD settings such as theme, default working directory, remote access preference, or remote environment name via the preferences JSON.

Star
3,590
License
Apache-2.0
Last commit
Oct 13, 2026

src/skills/builtin/editing-letta-code-desktop-preferences/SKILL.md

View on GitHub

Editing Letta Code Desktop Preferences

Use this skill only to edit the active Letta Code Desktop preferences JSON file. Do not use it for Desktop product-code changes, Electron IPC work, UI changes, or general Letta Cloud Desktop implementation tasks.

Preferences file

The Desktop preferences file is:

~/.letta/desktop_preferences.json

User-editable preference keys:

  • defaultWorkingDirectory: default folder for new local sessions.
  • theme: auto, light, or dark.
  • allowRemoteAccess: boolean for whether remote access should be enabled in preferences.
  • runInBackground: boolean for whether Desktop stays alive in tray/menu bar when all windows close.
  • startAtLogin: boolean for whether Desktop starts hidden at login.
  • remoteEnvName: environment name shown in the Letta Cloud environment picker for the cloud listener.
  • localBackendDirectory: directory containing local backend agents, conversations, and memory.
  • allowLocalAgentsWhenSignedIn: boolean for whether signed-in Desktop sessions can see local/offline agents.

System-managed keys (do not edit directly):

  • artifactsByAgent: per-agent artifacts panel state, written by Desktop UI.
  • debugPanelEnabled: developer debug panel, controlled via app menus.
  • remoteAppServerEnabled: Remote App Server toggle, applied at startup.
  • remoteAppServerUrl: Remote App Server URL, configured via preferences UI.

Workflow

  1. Read the existing JSON first.
  2. Preserve unknown keys.
  3. Merge only the requested preference updates.
  4. Write pretty JSON with a trailing newline.
  5. Do not edit token, provider, secret, agent, conversation, memory, or unrelated state files.
  6. Changes apply live within ~100ms via Desktop's file watcher; if Desktop is not running, changes take effect on next startup.

Safe edit command

Use a merge-style edit like this, changing only the requested keys:

node - <<'NODE'
const fs = require('fs');
const os = require('os');
const path = require('path');

const file = path.join(os.homedir(), '.letta', 'desktop_preferences.json');
fs.mkdirSync(path.dirname(file), { recursive: true });

const current = fs.existsSync(file)
  ? JSON.parse(fs.readFileSync(file, 'utf8'))
  : {};

const next = {
  ...current,
  // Example update. Replace this with the user's requested setting.
  theme: 'dark',
};

fs.writeFileSync(file, JSON.stringify(next, null, 2) + '\n');
NODE

Validation

After editing, read the file back or parse it to confirm valid JSON:

node -e "JSON.parse(require('fs').readFileSync(require('os').homedir() + '/.letta/desktop_preferences.json', 'utf8')); console.log('desktop_preferences.json is valid')"

Similar Skills

prototype

MAmattpocock/skills288k10,178 new stars in the last 7 days

angular-developer

AFaffaan-m/ECC278k4,046 new stars in the last 7 days

Official

firecrawl-build-scrape

FIfirecrawl/firecrawl191k2,010 new stars in the last 7 days

Featured

frontend-design

Set visual direction and typography for UI, avoiding templated defaults.

ANanthropics/skills181k1,119 new stars in the last 7 days

Featured

theme-factory

Apply color and font themes to slides, docs and web pages, with 10 built-in themes.

ANanthropics/skills181k1,119 new stars in the last 7 days

Featured

web-artifacts-builder

Build complex HTML artifacts with React, Tailwind CSS, state management and routing.

ANanthropics/skills181k1,119 new stars in the last 7 days