---
title: KMS callout blocks — Obsidian-compatible admonitions in the editor
---

# KMS callout blocks — Obsidian-compatible admonitions in the editor

## What it is

Callout blocks are styled admonition boxes inside the KMS TipTap editor that use Obsidian's blockquote-based syntax. A callout starts with `> [!type] Title` on the first line, followed by `>` prefixed content lines. In the editor, each callout renders as a colored box with a per-type icon and label, an editable content area for rich text, and an optional fold toggle.

Omniscio supports 12 callout types — note, info, tip, warning, danger, todo, bug, example, quote, success, question, abstract — each with a distinct color and icon. 14 Obsidian aliases are also recognized (e.g. `hint` → `tip`, `caution` → `warning`, `error` → `danger`). Unknown types render with the default "note" styling but preserve the original type string in the saved markdown, so importing an Obsidian vault with custom callout types won't lose data.

Callouts can be foldable: a `-` after the closing bracket (`> [!tip]- Title`) means the callout starts collapsed; a `+` means it starts expanded but can be folded. The fold state is transient — toggling a callout open or closed in the editor does not dirty the document.

## Where to find it

Inside the **KMS** note editor — a callout is typed as `> [!type] Title` and renders in place as a coloured box with that type's icon, an editable body, and (for foldable types) a toggle. There is nothing to switch on: the syntax is live wherever notes are edited.

## How it behaves

### How to use it

1. **Toolbar.** Open a note, click the **⋯ More formatting** overflow menu in the editor toolbar, and pick **Insert callout**. This inserts a "note" callout at the cursor.

2. **Slash commands.** Type `/` in the editor to open the slash command menu. Each callout type has its own entry (e.g. `/Note callout`, `/Warning callout`, `/Danger callout`) so you can insert the exact type you want.

3. **Command palette.** Open the command palette (`Ctrl+Shift+P`) and search for "callout". Six common types are available: Note, Warning, Tip, Danger, Bug, and Todo.

4. **Write the markdown directly.** In source view (`Ctrl+Shift+M`), type the Obsidian syntax:

   ```markdown
   > [!warning] Watch out
   > This is a warning callout with **rich text** inside.

   > [!tip]- Click to expand
   > This callout starts collapsed.
   ```

5. **Switch back to the editor** and the callout renders as a styled box. The content area inside the callout supports all the same formatting as the rest of the editor — bold, italic, links, lists, code blocks, images.

### Supported types

| Type     | Color  | Use for               |
| -------- | ------ | --------------------- |
| note     | Blue   | General information   |
| info     | Blue   | Informational context |
| tip      | Teal   | Helpful suggestions   |
| warning  | Amber  | Caution notices       |
| danger   | Red    | Critical warnings     |
| todo     | Blue   | Action items          |
| bug      | Red    | Known issues          |
| example  | Violet | Worked examples       |
| quote    | Gray   | Attributed quotations |
| success  | Green  | Positive outcomes     |
| question | Amber  | Open questions        |
| abstract | Cyan   | Summaries             |

### Obsidian compatibility

Callouts use the same `> [!type]` syntax as Obsidian, so notes with callouts can move freely between Omniscio and Obsidian. Alias names (like `hint`, `caution`, `error`, `cite`, `faq`, `tldr`) are recognized on import and preserved on export — Omniscio never rewrites an alias to its canonical name. Unknown type names (custom Obsidian callout types) are also preserved; they render with the default "note" styling in Omniscio but survive the round-trip intact.

## For agents

### Where to find the code

- Type registry (names, colors, icons, aliases): `src/renderer/src/features/kms/editor/extensions/callout-types.ts`
- TipTap node, markdown integration, NodeView: `src/renderer/src/features/kms/editor/extensions/CalloutBlock.ts`
- CSS (colors, fold, dark/glass overrides): `src/renderer/src/styles/globals.css` — `.callout-block` rules
- Toolbar button: `src/renderer/src/features/kms/toolbar/toolbar-commands.ts` — `callout` in insert group
- Contract: `.claude/memory/contracts/kms-callout-block-contract.md`

## Related

The rest of the note editor — the toolbar, slash commands, tables, footnotes and wiki-link autocomplete — is described on the [KMS](kms.md) page. Bringing an existing Obsidian vault across is the [KMS Obsidian Import Wizard](kms-obsidian-import.md).
