Settings getUserSettings
Retrieves the application settings for the authenticated user.
Responses
Successful response
idstring · requiredthemestring · requireddiffControlstring · requiredshellExecutionstring · requiredemailNotificationsboolean · requiredpushNotificationsboolean · requireddataAnalyticsboolean · requiredplaySoundOnTaskCompleteboolean · requiredshowTodoCompletionToastboolean · required
previewAutoColumnsnumberPreferred column count used by the automatic preview-window layout. Defaults to 3.
todoListThemeshowOpenElsewherebooleanOpt-in: board cards show which of my other frontends (tab / desktop app / phone) have the todo open. Off = this frontend neither reports nor tracks presence.
tabNotificationModeHow the browser-tab red "done" dot behaves after a TODO finishes.
todoOpenModeWhat opening a TODO from the board does: a floating preview window over the board (default, the advanced workspace) or the full-page chat.
disabledMentionSourcesstring[]Disabled
keyboardBindingsobjectConstruct a type with a set of properties K of type T
keyboardShortcutsEnabledbooleandefaultViewModestringmodelMentionAliasesstring[]Enabled model-mention aliases (e.g. 'claude', 'gpt') for
showDiffMergeControlsbooleanShow accept/reject chunk controls in the diff (merge) view. Off by default — with auto-apply the diff is just a record of what got applied, so the controls are unnecessary noise.
showAgentColorsbooleanshowAgentNameInComposerbooleanShow the selected agent's name (with an expand chevron) on the collapsed composer trigger instead of the plain settings cog icon.
showAllowAllButtonbooleanshowAutoDoneButtonbooleanShow the Auto-Done toggle in the message toolbar. When the toggle is on, the next run's successful completion lands the todo in DONE instead of READY.
showSystemPromptbooleanShow the agent's system prompt (and its diffs) inline in chat. Also makes the backend ask the agent for it: the prompt is only attached to a finished message when this is on (or an x-tfa-debug turn), since it is tens of KB per message.
developerModebooleanDeveloper mode: reveals the Developer group in View settings (debug-only toggles). Purely cosmetic — it gates no capability, every toggle inside works on its own. Staff-granted:
adminUser.setDeveloperModeis the only writer — updateUserSettings drops the key, so no client can reveal the group for itself.showAgentJsonExportbooleanShow the JSON export button in the agent settings modal header.
surfaceModeHow much of the machine layer the UI exposes — see
SurfaceMode. Unset meansbasicfor accounts with no paired machine andadvancedonce one exists, so existing users never lose their cards.useDeviceWallpaperbooleanPaint each device card with that machine's real desktop wallpaper, captured by the bridge when it reconnects. Off keeps every card on the built-in OS-themed gradient. Individual devices can still opt out on their own via
Device.metadata.wallpaper.mode. Default off — the wallpaper is a personal image, so uploading it is opt-in.showProjectPickerInSidebarProject picker at the top of the todo sidebar (team plan only).
offhides it,autoshows it only when you have more than one project,alwayskeeps it pinned. Defaults toauto.toolDisplayVerbosityDesktopTool-block display density, resolved per viewport.
collapsedkeeps non-essential tool blocks collapsed (one-line summary, click to expand).normalopens them by default.debugadditionally surfaces internal fields (pid, timeout, …) on shell/bash blocks. Desktop defaults tonormal, mobile tocollapsed.toolDisplayVerbosityMobilegroupToolDisplaybooleanCollapse consecutive tool-only assistant messages into a single group row. Backend defaults to true (the recommended workflow); set false to render each tool block individually. Independent of verbose tool display.
showThinkingTracesWhich finished reasoning ("Thinking") blocks stay in chat. Default 'last'; hidden reason blocks render nothing, which also lets more consecutive tool messages collapse into a single group.
showShellFileChangesbooleanShow the files a shell command touched (edge/bridge git tracking) under Shell blocks. Default off: the heuristic can pick up unrelated concurrent edits. When on, each diff still renders collapsed.
vaultProvidervaultConfigvaultProvidershostDesktopItemsobjectConstruct a type with a set of properties K of type T
todoContributorFilterobjectConstruct a type with a set of properties K of type T
aiDataConsentAtnumberWhen the user agreed that their content is sent to the provider of the AI model they pick.
companyNamestringvatNumberstringaddressLine1stringaddressLine2stringcitystringstatestringpostalCodestringcountryISOstringaddressValidbooleanvatStatusRead-only: set from Stripe, never accepted from the client.
Settings updateBillingInfo
Updates the billing address and tax information for the user.
Request Body
companyNamestringvatNumberstringaddressLine1stringaddressLine2stringcitystringstatestringpostalCodestringcountryISOstringaddressValidboolean
Responses
Successful response
successboolean · required
addressValidbooleanmessagestringvatNumberstringThe VAT number as Stripe stored it — normalized, so the user sees the country-prefixed value that will actually appear on the invoice.
vatStatus
Settings getProjectSettings
Retrieves the settings for a specific project.
path Parameters
projectIdstring · required
Responses
Successful response
idstring · requiredprojectIdstring · required
llmModelstringllmConfigobjectConstruct a type with a set of properties K of type T
workspacePathsstring[]skillsobjectConstruct a type with a set of properties K of type T
diffstringpreferencesobjectConstruct a type with a set of properties K of type T