Braide provides several layers of configuration — global settings, project-level settings, and UI preferences.
Click the gear icon in the top-right corner of the navigation bar to open the Settings modal.
Use the theme switcher in the top-right corner of the page to switch between:
Click the icon to cycle through themes, or click the dropdown arrow to select directly.
The settings modal uses a single sidebar on the left listing every available section. Sections appear under two headings — General Settings first, then Project Settings below a divider when a project is selected. The Fun section appears below a separator at the bottom.
Selecting a project-scoped section requires a project to be selected. When no project is selected, the "Project Settings" divider and its sections are hidden.
Settings can be opened programmatically to a specific section using the acp:open-settings custom event. The event detail supports a section field — every section has a unique ID, so no tab or scope disambiguation is needed.
Global settings apply across all projects.
Configure which registries Braide uses to discover agents.
Manage agent processes from the active registry. See Managing Agents for full details.
_meta attached to every ACP request. Changes are staged until you click the Apply button that appears on the agent card, which restarts the agent without interrupting unrelated sessions. See Managing Agents > Additional Settings.Define reusable slash commands that can be invoked from any session's prompt input by typing /command-name. Commands are global — they are available across all projects and sessions.
Each command has two fields:
run-tests, fix-lint). This is what you type after / in the prompt input.When you type /command-name in a prompt and send it, the /command-name token is stripped from the prompt text and the command's text is sent alongside the prompt as an additional content block. This means the agent receives both your instructions and the expanded command content. Multiple commands can be used in a single prompt.
Commands can also be referenced in action prompts — for example, setting a Commit action's prompt to /commit will expand the commit command's text when the action button is clicked.
To manage commands:
Manage credentials used by Braide for integrations. Currently supports storing a GitHub Personal Access Token for the GitHub integration. The token is stored locally in your Braide settings directory.
Monitor and manage all running processes. This section is primarily a fallback for when normal operation experiences issues — for example, if an agent becomes unresponsive or a terminal session gets stuck. See Managing Agents for more details.
Configure log verbosity for console and file outputs. Open Settings > Logging to see two independent level pickers:
info)debug)Changes take effect immediately when a level is selected. For full details on log levels, areas, output format, and configuration options, see the Logging reference.
The View Log button on the File Log Level card opens a near-full-screen viewer for browsing the global log file (~/.braide/logs/acp.log).
Configure the home directory used by Braide for storing all data — projects, settings, sessions, and agent data.
~/.braide directory by entering a custom pathThis is useful when you want to keep Braide data on a different volume, share configuration across environments, or isolate data for testing purposes.
Toggle between Work and Life modes, and configure custom word lists for fun mode.
The Project Settings section of the sidebar is only visible when a project is selected.
A read-only display of the project's basic information:
Define reusable roles that bundle agent preferences, custom instructions, MCP servers, and per-agent config options into a single selectable profile. Personas replace the agent dropdown in the session prompt input — instead of choosing an agent directly, you choose a persona.
Each persona includes:
When editing a persona, selecting an agent as preferred or fallback triggers a config probe — Braide creates a temporary session with the agent to discover its available configuration options, then displays them as toggles and dropdowns.
For full details on creating and using personas, see the Personas guide.
Configure tools and arguments that agents can execute without asking for permission.
ToolName — Approve all uses of a tool (e.g., Read)ToolName(arg) — Approve a specific tool with specific arguments (e.g., Bash(npm test))*) are supported for flexible matching (e.g., Bash(git * --no-edit))*/.braide/*/worktree in a path pattern to limit changes to session worktrees instead of the broader filesystemActions are configurable buttons that appear in the session UI, allowing you to trigger agent prompts or terminal commands with a single click. Each action type is defined per-project and supports multiple named actions.
The following action types are available:
| Action Type | UI Location | Description |
|---|---|---|
| Commit | Diff report header | Commits the current changes |
| Merge | Diff report header | Merges session branch into base branch |
| Pull Request | Diff report header | Creates a pull request from the session branch |
| Run | Prompt input toolbar | Runs the application |
| Build | Prompt input toolbar | Builds the application |
| Test | Prompt input toolbar | Runs the test suite |
| Browse | Prompt input toolbar | Opens the application in a web browser |
To add an action:
Each type can have multiple actions. When multiple actions exist for a type, use the up/down arrows to reorder them — the first action is the default and is marked with a badge. To remove an action, click the delete icon (×) and confirm.
Action buttons only appear in the session UI when at least one action of that type has been configured. When a type has multiple actions, a split button is shown — the primary button runs the default action, and a dropdown provides access to the alternatives.
Terminal mode actions open the session terminal (if not already open) and execute the command there. Output appears in the terminal pane at the bottom of the session view.
Agent mode actions send the prompt text to the active agent as if you had typed it into the prompt input. The agent's response appears in the session's message stream. Agent-mode prompts support user command expansion — /command-name tokens are resolved before sending.
For more details on where these buttons appear and how they behave, see Running a Session and Actions.
Configure automatic pruning of archived sessions to reclaim disk space. Archived sessions include full git worktrees with installed dependencies and can grow to several gigabytes over time.
Individual sessions can be protected from pruning by enabling retention protection, regardless of their age. For full details, see the Archive Retention guide.
Global settings are stored in a single file:
~/.braide/settings.json
This includes theme preference, diff view mode, selected project, enabled agents, registry configuration, and user commands.
Per-project settings are stored alongside the project metadata:
~/.braide/projects/<project-id>/settings.json
This includes approved commands, actions, the selected agent, and agent config options.
All project data, session data, and worktrees are organized under the ~/.braide/ directory:
~/.braide/
├── settings.json # Global app settings
└── projects/
└── <project-id>/
├── settings.json # Project settings & preferences
└── sessions/
└── <session-id>/
├── session.json # Session metadata (agent, label, worktree path)
└── worktree/ # Isolated git worktree for this session
| Setting | Scope | Description |
|---|---|---|
| Theme | Global | Light, dark, or system |
| Diff view mode | Global | Unified, split, or raw |
| Selected project | Global | Last active project ID |
| Enabled agents | Global | Which agents are toggled on |
| Agent meta | Global | Per-agent JSON attached as _meta on every ACP request |
| Registries | Global | List of agent registries |
| User commands | Global | Reusable slash commands available in all sessions |
| Personas | Per-project | Reusable roles with agent preferences, instructions, and MCP servers |
| Approved commands | Per-project | Commands agents can run without permission |
| Actions | Per-project | Configurable buttons for agent prompts or terminal commands |
| Agent config | Per-project | Agent-specific configuration options |
| Archive retention | Per-project | Auto-prune archived sessions after N days |
| Terminal states | Per-session | Terminal open/closed and height |