Chat Interface

Master the BraceKit chat interface with markdown, code blocks, and message actions.

Chat Interface

The BraceKit chat interface is designed for clarity and productivity. Hereโ€™s everything you can do.

Message Types

Text Messages

Full markdown rendering with support for:

  • Bold, italic, and inline code
  • [Links](https://example.com)
  • Lists (ordered and unordered)
  • Blockquotes
  • Headers

Code Blocks

Code blocks include syntax highlighting and a copy button:

```javascript
function greet(name) {
  return `Hello, ${name}!`;
}
```

Hover over a code block to see:

  • Copy button (copies to clipboard)
  • Language indicator

Tables

Tables are rendered with proper formatting:

Column 1Column 2
Data 1Data 2

Table actions (hover to reveal):

  • Copy as Markdown
  • Copy as CSV
  • Download CSV
  • Fullscreen view

Mermaid Diagrams

Mermaid diagrams are rendered inline:

```mermaid
graph LR
    A[Start] --> B{Decision}
    B -->|Yes| C[Action 1]
    B -->|No| D[Action 2]
```

Streaming Responses

By default, responses stream token-by-token in real-time:

  1. Type your message and press Enter
  2. Watch the response appear character by character
  3. Markdown renders as it streams

Stop Streaming

To stop a streaming response, click the stop button (square icon) that appears in place of the send button during streaming.

Reasoning / Extended Thinking

For models that support extended thinking (Claude, DeepSeek R1, Gemini thinking, Ollama think mode), BraceKit displays the reasoning process in a collapsible section:

reasoning example

Click the header to expand/collapse the reasoning section.

Enabling Reasoning Mode

  1. Click the brain icon (๐Ÿง ) in the toolbar โ€” this opens the Thinking & Reasoning popover
  2. Toggle Extended thinking on with the switch
  3. (Optional) Pick an effort level โ€” Minimal / Low / Medium / High / Max (the available levels depend on the provider/model)
  4. Send your message
  5. The model will show its thinking process

The effort level maps per provider:

ProviderParameterLevels
OpenAI (gpt-5.x)reasoning_effortminimal / low / medium / high
Anthropic (Claude 4.6+, 5.x)thinking.type: "adaptive" + effortlow / medium / high (max on Opus)
Anthropic (Claude โ‰ค4.5)thinking.type: "enabled" + budget_tokenslevel โ†’ token budget
Gemini 3+thinkingConfig.thinkingLevelminimal / low / medium / high
Gemini 2.5thinkingConfig.thinkingBudgetlevel โ†’ token budget
xAI (Grok 4.x)reasoning_effortlow / medium / high
DeepSeek (V4)thinking + reasoning_effortlow / medium / high / max
Groq (gpt-oss, kimi-k2)reasoning_effortminimal / low / medium / high
Ollamathink: trueon / off only

Note: Reasoning only turns on for models whose specs allow it. If you enable thinking on a model that does not support it, BraceKit shows a warning and keeps thinking off. Use Configure here to open Settings โ†’ AI and fix the spec (custom providers) or pick a reasoning-capable model.

Compatible endpoints that reject thinking parameters get an automatic retry without them, so the request still succeeds.

Function calling (tools)

The wrench icon in the composer toolbar turns MCP and built-in tools on or off.

Tools only run when the selected model supports them. Image-generation models and any model with Tools turned off in its specs will not send tool calls. Trying to enable the wrench in that case shows a warning with Configure here.

Message Actions

For User Messages

Hover over your messages to see:

ActionDescription
CopyCopy the message content
EditModify the message and resubmit
RegenerateGet a different response from this point
BranchCreate a new conversation from this point

When you edit a message:

  1. The message becomes editable
  2. Make your changes
  3. Press Enter to resubmit
  4. All subsequent messages are removed
  5. A new response is generated

For Assistant Messages

ActionDescription
CopyCopy the entire response
BranchCreate a new conversation from this point

Quoting Text

  1. Select any text within a message
  2. A quote button appears
  3. Click to add the quote to your input as a markdown blockquote

Conversation Management

Starting a New Chat

Click the + button in the header to start a fresh conversation. Your current conversation is automatically saved.

Conversation History

Click the history icon in the header to:

  • View all past conversations
  • Search by title or content
  • Pin important conversations
  • Delete old conversations
  • Export as Markdown

conversation history

Auto-Generated Titles

After the first exchange, BraceKit automatically generates a title for your conversation based on the content. You can:

  • Double-click to rename manually
  • Type /rename to regenerate automatically

Slash Commands

Type / in the input area to see available commands:

CommandDescription
/compactSummarize and compress conversation history
/renameGenerate a new conversation title

Commands execute immediately when you press Enter.

slash commands

Context Window Indicator

When auto-compact is enabled and youโ€™re within 15% of the threshold, a warning appears above the input area:

  • โ‰ค15% remaining: Gray indicator
  • โ‰ค10% remaining: Yellow warning
  • โ‰ค5% remaining: Red pulsing warning

Hover over the indicator to see exact token usage.

See Auto-Compact for details.

Tool Calls

When the AI uses tools (MCP or built-in), youโ€™ll see:

Detailed Tool Calls

Detailed tool calls

Compacted Tool Calls

Compacted tool calls

The display format depends on your preferences setting:

  • Detailed: Full tool arguments and results
  • Compact: Minimal display, just tool name and status

Images in Chat

Viewing Images

When the AI generates an image or you attach one:

  1. Images appear inline in the conversation
  2. Click to open in a lightbox
  3. In lightbox: navigate with arrows, copy, download

Generated Images

Images created by AI (Gemini, xAI) are:

  • Saved to local IndexedDB storage
  • Available in the Gallery view
  • Can be favorited for quick access