Skip to content

Configuration

Where TrueDeck stores settings, what you can change, and which environment variables matter.

App data directory

Default global data root:

PlatformPath
Windows%APPDATA%\TrueDeck\data (Electron userData + /data)
macOS~/Library/Application Support/TrueDeck/data
Linux~/.config/TrueDeck/data (or XDG equivalent)

Override:

powershell
$env:TRUEDECK_DATA_DIR = "C:\path\to\TrueDeck\data"

Also read by the hub MCP server (truedeck-mcp.mjs) for the same store files.

Home convenience path helper: ~/.truedeck (getHomeTrueDeckDir) - used for some home-level TrueDeck files; primary app state is still under Electron userData.

Settings file

settings.json in the data directory. Loaded/saved by electron/main/index.ts.

Defaults (defaultSettings)

KeyDefaultDescription
injectMemoryOnAgentStarttrueInject memory paths / refresh context on agent spawn
theme"dark"UI theme
fontSize13Terminal font size (UI range 11-20)
layoutMode"tabs""tabs" or "grid"
autoGridfalseAuto-switch grid when 2+ panes
showQuickAgentsfalseTitle-bar agent chips
reopenLastProjecttrueRestore last project + tabs on launch
preferredAgentIdunsetOnboarding / default palette focus
palacePathunsetMemPalace (or compatible) data directory
memoryProvidersbuilt-in listSee memory-providers.md
maxPanes16Soft max agent panes
worktreeIsolationDefaultfalseFuture dispatch worktrees
agentFrameTuitrueWrap agents in frame TUI
frameShellPanesfalseAlso frame shell/command panes

Edit via Settings UI when possible. Invalid JSON falls back to defaults merged with whatever can be read.

Other store files

FilePurpose
projects.jsonProject list, on-open commands, default agents
agents.jsonAgent presets (merged with built-ins)
session-layout.jsonSaved tabs + pane tree
tasks.jsonBoard tasks
mcp-servers.jsonUser-managed MCP servers
memory-providers.jsonMemory backend list (may live here; see memory docs)

Per-project files (inside the repo)

PathPurpose
.memory/Repo-scoped TrueMemory markdown
.truedeck/auto-context.mdGenerated session context for agents
.truedeck/tasks/*.mdDispatched task instructions
.truedeck/current-focus.mdFocus line for agent frame
.mcp.jsonProject MCP map (when hub injects)
AGENTS.md / CLAUDE.mdOften receive a TrueDeck memory pointer

Project config shape

ProjectConfig (types.ts):

ts
{
 id: string
 name: string
 root: string
 lastOpened?: number
 onOpenCommands: { id, label, command, enabled }[]
 defaultAgents: string[]
 color?: string
}

Configure on-open commands under Settings → Project.

Environment variables

Process / tooling

VariablePurpose
TRUEDECK_DATA_DIROverride app data directory
TRUEDECK_BACKEND_BINPath to truedeck-backend executable

| SHELL | Unix shell for shell agent | | TERM / COLORTERM | Inherited; TrueDeck sets defaults on spawn if missing |

Injected into agent PTYs

VariablePurpose
TRUEDECK1 - marks process as under TrueDeck
TRUEDECK_AGENTAgent preset id
TRUEDECK_PROJECTProject root (cwd)
TRUEDECK_RESOLVEDResolve source (+ +frame)
TRUEDECK_PTYPTY backend id
TRUEDECK_MEMORYauto when memory env applied
TRUEDECK_REPO_MEMORYPath to repo .memory
TRUEDECK_GLOBAL_MEMORYPath to global memory dir
TRUEDECK_PALACEPalace path
TRUEDECK_AUTO_CONTEXTPath to auto-context.md
TRUEDECK_MEMORY_WINGWing name derived from project
TRUEDECK_TASKTask id (dispatch)
TRUEDECK_TASK_FILETask markdown path
TRUEDECK_TASK_TITLETask title
TRUEDECK_TASK_IDEAIdea line for frame
TRUEDECK_FRAME1 when framed
TRUEDECK_FRAME_HEADERHeader row count for frame
TRUEDECK_INTENTIntent / idea when set
TERM_PROGRAMTrueDeck

Agents config

Path: agents.json in the data directory. Prefer Settings / reset rather than hand-editing. Built-in command fields are re-asserted from defaults for known ids so Cursor stays CLI-only.

Theme and terminal

  • Theme: Settings → General
  • Font size: Settings → Terminal (slider 11-20)
  • Layout mode: tabs vs grid

MIT Licensed · Terminal-first multi-agent deck