---
title: "Settings"
id: "346"
type: "page"
slug: "settings"
published_at: "2026-05-19T11:30:45+00:00"
modified_at: "2026-06-11T14:20:24+00:00"
url: "https://xedant.com/code/docs/settings"
markdown_url: "https://xedant.com/code/docs/settings.md"
excerpt: "Customize your Xedant Code experience through the Settings dialog. Access it by selecting “Settings” from…"
---

# Settings

[https://xedant.com/code/docs/settings.md](https://xedant.com/code/docs/settings.md)

Customize your Xedant Code experience through the Settings dialog. Access it by selecting “Settings” from the main menu. The settings are organized into accordion sections, and changes are saved automatically.

 ![Xedant Code Settings dialog showing accordion sections for Appearance, Chat, Sound, Speech Recognition, Tags, Hooks, and Clipboard](https://xedant.com/wp-content/uploads/2026/06/settings-dialog.png) ## Appearance

The Appearance section lets you control the visual theme of Xedant Code. Toggle between light and dark mode to match your preference or environment. You can also switch themes directly from the header using the theme toggle button.

 ![Appearance Settings section in Xedant Code Settings dialog](https://xedant.com/wp-content/uploads/2026/06/settings-appearance.png) This section also includes a “Show Licensing Info” toggle to show or hide the license information line at the bottom of the status panel.

## Chat

The Chat section contains toggles and options that control how your chat conversations are displayed:

 ![Chat Settings section in Xedant Code Settings dialog](https://xedant.com/wp-content/uploads/2026/06/settings-chat.png) - **Double Enter to Send** — When enabled, pressing Enter twice in a row sends the message instead of using a single Enter. This allows you to compose multi-line messages without holding Shift.
- **Compact Mode** — Reduces spacing between messages for a denser chat layout, useful for long conversations.
- **Show To-Do List** — Display the AI’s task list (created with TodoWrite) in the conversation.
- **Show Message Source** — Show a “View Raw JSON” button in message titles. Clicking it displays the actual message JSON, useful for debugging when something goes wrong.
- **Show Message Tokens** — Display token counts and pricing next to messages, showing how many tokens each message consumed and its cost.
- **Show Message Context** — Show a context utilization progress bar on individual messages. Clicking it reveals a context utilization chart (hidden in compact mode to reduce visual noise).
- **Show Chat Context** — Show a context utilization progress bar at the top of the message input control. Clicking it shows a context utilization chart.
- **Show System Messages** — Display system-level messages (status updates, tool use notifications) in the conversation. Useful mainly for debugging — adds a lot of noise to the conversation.

The section also includes a **Code Highlighting** dropdown with dozens of syntax highlighting themes (e.g., GitHub, GitHub Dark, Nord, Monokai, Night Owl, Tokyo Night) for rendered code blocks in messages.

## Sound

The Sound section gives you fine-grained control over audio notifications in Xedant Code. At the top are two toggles:

 ![Sound Settings section in Xedant Code Settings dialog](https://xedant.com/wp-content/uploads/2026/06/settings-sound.png) - **Sounds On/Off** — Master switch to enable or disable all sounds.
- **Confetti On** — When enabled, a confetti animation plays on certain events (like git commits).

Below the toggles, each sound type has its own volume slider and a test button:

- **Master Volume** — Overall volume slider affecting all sounds.
- **Message** — Plays when a new AI response message arrives in the conversation.
- **Notification** — Plays when the AI finishes processing and is waiting for user input (AskUserQuestion).
- **Complete** — Plays when the AI finishes processing a regular response, and when background scripts finish executing.
- **Error** — Plays when a server error event is received.
- **Commit** — Plays when a git commit is created. Triggers a confetti animation if the Confetti On toggle is enabled.
- **Deploy** — Plays when a deployment is started or restarted.

Each sound has its own volume slider, so you can customize which events are audible and at what level. You can replace any built-in sound by placing an MP3 file with the same name into the `.xedant/sounds/` folder in your project (e.g. `message.mp3`, `complete.mp3`, `error.mp3`, `notification.mp3`, `commit.mp3`, `deploy.mp3`). Custom sounds take priority over the built-in defaults.

## Speech Recognition

Xedant Code includes speech recognition capabilities, powered by OpenAI’s Whisper model. The model runs entirely on the server side and is automatically downloaded the first time you enable this option — no third-party API or additional cost is required. The only trade-off is a brief delay while the model downloads on first use. Before using voice input, you need to configure the speech recognition settings.

 ![Speech Recognition Settings section in Xedant Code Settings dialog](https://xedant.com/wp-content/uploads/2026/06/settings-speech-recognition.png) - **Enable Speech Recognition** — Master toggle to enable or disable speech recognition. When enabled, the microphone button appears in the message input area.
- **Whisper Model** — Choose which Whisper model to use for transcription. Six models are available: Tiny (39M), Base (74M), Small (244M, default), Medium (769M), Large (1.5GB), and Turbo (809M). Larger models are more accurate but slower and require more memory.
- **Language** — Select the primary language you’ll be speaking from a list of 31 supported languages. This improves accuracy when auto-detect is off.
- **Auto-detect Language** — When enabled, the spoken language is detected automatically instead of using a fixed selection.

Once configured, click the microphone button in the input area to start dictating your messages. Audio is processed entirely on the server — no data is sent to external services.

**Note:** The first time you use speech recognition, you may need to grant microphone permissions to Xedant Code.

## Tags

Tags are used to label and categorize cards on the [Kanban Board](/code/docs/kanban-board)
. Each tag has a name, a background color, and a text color, making it easy to visually distinguish different card types at a glance.

 ![Tags Settings section in Xedant Code Settings dialog](https://xedant.com/wp-content/uploads/2026/06/settings-tags.png) - **Add Tag** — Click “Add Tag” to create a new tag. Give it a name, pick background and text colors from the color pickers.
- **Edit Tags** — Change the background or text color of any existing tag using the inline color pickers.
- **Delete Tag** — Remove individual tags you no longer need.
- **Reset** — Restore the original default tags (bug, done, tweak, feature, idea, sent). This deletes all custom tags.

Tags are stored on the server and synced across all clients. Changes are applied instantly via SignalR.

## Hooks

The Hooks section controls tool restrictions and behavioral rules that are enforced during AI conversations. Hooks are defined in `hooks.yaml` and fall into two categories: **PreToolUse** (rules evaluated before a tool is used) and **UserPromptSubmit** (rules evaluated when the user submits a prompt).

 ![Hooks Settings section in Xedant Code Settings dialog](https://xedant.com/wp-content/uploads/2026/06/settings-hooks.png) The settings here provide high-level controls:

- **Enable Hooks** — Master toggle to activate or deactivate all hook rules. When disabled, all tools are allowed without restrictions. This is useful for debugging but should be re-enabled in production for security.
- **Enforce assistant messages in English** — When enabled, Claude Code is forced to respond in English through hidden prompts. If the model fails to follow the rule, it is killed and restarted with the reminder.
- **User prompt suffix** — A text string that is automatically appended to all your messages. This is used to enforce certain model behavior (the English enforcement, for example, works this way).

For detailed hook configuration (defining deny/execute rules, matchers, and tool-specific restrictions), use the Hooks dialog accessible from the chat interface. See the [Hooks](/code/docs/hooks)
 documentation for details.

## Clipboard

The Clipboard section controls how images and files from your clipboard are handled when pasted into the chat input:

 ![Clipboard Settings section in Xedant Code Settings dialog](https://xedant.com/wp-content/uploads/2026/06/settings-clipboard.png) - **Paste images** — Toggle whether images copied to the clipboard can be pasted into the input area.
- **Images path** — The relative path where pasted images are saved in the project (default: `assets/images`).
- **Paste files** — Toggle whether files copied to the clipboard can be pasted into the input area.
- **Files path** — The relative path where pasted files are saved in the project (default: `assets/files`).
- **File size limit (MB)** — Maximum file size for clipboard paste operations (default: 100 MB).

**← Previous:** [Git](/code/docs/git)

**Next:** [MCP Servers](/code/docs/mcp-servers)
 →
