Skip to content
Install

docs/profile-keys.md

Terminal profile keys

Every /customize row is a terminal profile key you can set from a file or a package.

Every row of the /customize page is a key of the terminal profile (<data dir>/tui/profile.json). Each key is also the name customize_ui and api.settings.get/set take, and the name a package's activate.tuiProfile may carry (a package may not set the keys that start things or touch the clipboard, see customize). The page groups them in the sections below; the label is what the page calls the row. Allowed values, types and defaults of this version: mendcode control-plane tui schema; the values now: mendcode control-plane tui profile.

A test holds this list to the page: a row added to /customize without a line here fails it.

What each key changes on screen, in a user's words, is PROFILE_KEY_HELP (packages/protocol/src/tui-key-help.ts; a test holds it to every key). The model searches it with customize_ui {"action":"keys","query":"top bar"}, which returns the matching keys with their type, allowed values, default and current value and asks for no approval; without a query it lists every key name. mendcode docs screen-parts maps every part of the screen, top to bottom, to its keys.

Rows that remove a part outright: showTopbar (the row above the session), panelHeader (the right panel's first row), sidebarHeader (the session list's title row), showStatus (the footer under the prompt), showTasks (running sub-agents and background commands over the prompt), homeHeader (the home screen's first row: folder, product, version), homePanel (the session list or actions under the home logo), showPlaceholder (the empty prompt's example text; placeholderText replaces it). assistantName is the text of the assistant's label; set, the label shows whatever assistantLabel says (your own label is username with showUsername).

Rows that also have a command of their own (the user types it; it opens the row or toggles it, and where it takes an argument that value is applied): /view, /vim, /multiline, /accessible, /prompt-mode, /prompt-chrome, /presentation, /message-rendering, /submit-scroll, /timestamps, /thinking, /scrollbar, /jump-to-latest, /mascot, /comments, /activity, /username, /terminal-title, /tips, /sticky-prompt and /raw.

Look settings that live in the daemon, not in the profile: projectThemes maps a project's absolute directory to a theme name and wins over the profile's theme and the global theme there (/theme in that project updates it); MENDCODE_REDUCED_MOTION=1 (or screen-reader mode, accessibility) stops the animated spinner and ticking animations in the compaction card.

  • Extensions: extensions (UI modules), exportLook (Export look)
  • Views: views (Views), viewScaffold (New view file)
  • Slash menu: slashMenu (Menu layout), slashCommands (Edit commands)
  • Home: logoKind (Logo kind), homeMascot (Mascot), mascotMotion (Mascot motion), mascotSize (Mascot size), logoText (Logo text), logoFont (Logo font), customAscii (Custom ASCII), productName (Product name), tagline (Tagline), homeLayout (Welcome layout), homeRightPanel (Split panel), density (Density), homeTips (Tips), homeFooter (Home footer), homeHeader (Home header), homePanel (Home panel), showPlaceholder (Prompt example), placeholderText (Example text)
  • Prompt & footer: promptChrome (Prompt chrome), promptStatus (Status line), promptBorder (Prompt border), promptGlyphs (Border glyphs), promptLead (Prompt lead), statusSeparator (Separator), showAgent (Agent label), showModel (Model), showProvider (Provider), showEffort (Reasoning effort), showPermission (Permissions), footerQuota (Footer quota), quotaView (Quota shows), quotaColor (Quota colour), footerToday (Footer today), showStatus (Footer), showCommandHint (Commands hint), showAgentHint (Agents hint), attachmentChips (Attachments)
  • Session chrome: presentation (Chat presentation), messageRenderer (Message renderer), messageLayout (Message layout), userIcon (User icon), userLabel (User label), userLead (User lead), userTint (User tint), assistantIcon (Assistant icon), assistantLabel (Assistant label), assistantName (Assistant name), assistantLead (Assistant lead), messageMeta (Message meta), submitScroll (Submit scroll), timestamps (Timestamps), username (Username), showUsername (Show username), scrollbar (Scrollbar), scrollbarGlyphs (Scrollbar glyphs), jumpHint (Jump to latest), jumpText (Jump text), pasteSummary (Paste summaries), pasteSummaryMinChars (Paste threshold), copyOnSelect (Copy on select), vimMode (Vim mode), multiline (Enter adds a line), shortcutOverlay (? shortcut overlay), escBacktrack (Esc Esc backtrack), queueRestore (Interrupt restores queue), escRetract (Esc takes back unanswered), pasteBurst (Paste burst detection), draftRetentionDays (Draft retention, days), reasoning (Reasoning), toolOutput (Tool output), toolDensity (Tool density), codeMapCard (Code map card), contextBar (Context bar), contextStyle (Context style), topbarStats (Top bar stats), showTopbar (Top bar), showSessionTitle (Session title), stickyPrompt (Pinned prompt), showTasks (Running tasks), showProject (Project location), showDiffLines (Diff lines), showDiffFiles (Changed files), terminalTitle (Window title), titleTemplate (Title template), titleActivity (Title activity), sessionAccent (Session accent), activityPlacement (Activity status), activityParts (Activity parts), showActivity (Activity text), showElapsed (Elapsed time), showTokens (Activity tokens), showInterruptHint (Interrupt hint), showStalled (Stalled hint), usageNotices (Limit notices), cacheNotices (Cache notices), confirmNotices (Confirmations), activityMascot (Activity mascot), activityStates (Mascot states JSON), activityMessages (Activity text JSON), showActivityModel (Activity model), doneSymbol (Completion symbol)
  • Image generation: imageWait (Wait canvas), imageWaitPreset (Wait art), imageWaitSpeed (Frame time, ms), imageWaitColor (Wait colour), imageWaitMeta (Model and size); also imageWaitArt and imageWaitCanvas, set in the file (web and image tools)
  • Markdown: tableStyle (Table style), headingStyle (Heading style), markdownCopyHints (Copy hints), markdownRtl (Right-to-left), markdownColors (Markdown colors)
  • Status segments: statusLeft (Left segments), statusRight (Right segments), statusColors (Segment colors JSON)
  • Comments: comments (Comments), commentKey (Comment key), commentHint (Comment hint), commentHintSeconds (Hint seconds), commentChips (Comment chips), commentChipStyle (Chip style), commentCollapse (Collapse at), commentMax (Most comments), commentMarks (Margin marks), commentMarkGlyph (Mark glyph), commentReplyKeys (Reply keys), commentFolded (Fold sent), commentSentLayout (Sent layout), commentTemplate (Message template), commentEntry (Comment template)
  • Capabilities: capabilityCatalogue (Capabilities), promptContext (Prompt context)
  • Terminal: sidebar (Sidebar), sidebarSide (Sidebar side), sidebarHeader (Sidebar header), sidebarWidth (Right bar width), panelNarrow (Panel when narrow), panelHeader (Panel header), theme (Theme), turnBell (Bell), turnNotify (Desktop notice), notifyWhen (Notify when), autoRecap (Recap on return), idleReturn (Idle prompt), resumePrompts (Resume prompts), images (Images), transcriptImages (Transcript images), hyperlinks (Hyperlinks), fileOpener (File opener), pathClick (Click on a path), viewerNumbers (Viewer line numbers), viewerWrap (Viewer wrap), viewerFocus (Viewer takes focus), wheelLines (Wheel lines), altLabel (Alt key label), keyProtocol (Key reports), optionKeys (Option characters), rightClickPaste (Right-click paste), altScreen (Alternate screen), accessible (Screen reader), processMode (Processes), pet (Pet), petSize (Pet size), usageClock (Usage clock), reset (Reset to defaults), activitySound (Activity sound)
  • Compaction: limitCheckpoint (Pre-limit checkpoint), compactionPanel (Compaction panel), compactionStyle (Compaction card), compactionProgress (Stage progress), compactionScratchpad (Scratchpad)