Skip to content
Development
Skill

/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

From plugin
letta-code
3k20 skills8 hooks
Install
$ npx -y skills add letta-ai/letta-code --skill editing-letta-code-desktop-preferences --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/editing-letta-code-desktop-preferences

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

editing-letta-code-desktop-preferences.SKILL.md
name: editing-letta-code-desktop-preferences
description: 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.

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

Known 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.
  • `remoteEnvName`: environment name shown for remote access.

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. Tell the user that the change applies live only if their Desktop build watches preference-file changes; otherwise they should reload/restart Desktop or use Preferences → General.

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')"
Read more
Ships withletta-code

Letta Code is a stateful agent harness for creating agents that are more like people than tools. Letta Code agents have memory, identity, and a sense of experience over time.

Get the whole plugin

Other skills on letta-code.