Group Tabs combines related files into one native Obsidian tab. The tab displays the group name and member count, opens group members in place, keeps recent groups available in a left-sidebar history view opened from the ribbon, and can combine Markdown members into one local Markdown file.
Features
- Drag one supported native tab over another for 500 ms, then drop to create a group in the active tab.
- Drag an ordinary tab onto an existing group to add it and close its separate tab.
- Drag one or several selected File Explorer files onto an ordinary note tab to create a group without opening the dragged files separately.
- Drag File Explorer files onto an existing group to add them as deferred members.
- Multi-select supported files in File Explorer and choose Open as tab group. Right-clicking a folder offers the same action and recursively includes supported descendants. A Windows-compatible fallback preserves multi-selection behavior when Obsidian emits a single-file menu event.
- Each group occupies one native workspace tab and participates in Obsidian's normal tab strip and overflow menu.
- Selecting a member opens it inside the same group tab. No additional preview tab is created.
- Navigation from File Explorer, Search, Recent Files, Bookmarks, backlinks, Quick Switcher, graph results, and internal links keeps members in the group tab and opens non-members in an ordinary tab.
- Group tabs use bold text, omit document icons, and show a dedicated
▾ control before the always-visible member count.
- Search large groups through a virtualized popup and drag rows to reorder them. After a drop, the new order remains visible for 800 ms before the popup closes.
- Expand group opens every available member as an ordinary native tab in saved order, then removes the group.
- Persist group names, membership, order, active member, and native tab association per saved workspace.
- Follow file renames and remove deleted files from active groups.
Recent tab groups
The overlapping-tabs ribbon icon and Open recent tab groups command reveal a persistent Recent tab groups view in the left sidebar, ordered by the latest structural change. History stores group metadata only.
- Normal click opens the selected group in the active tab.
- Ctrl+click on Windows or Linux opens it in a new tab.
- Cmd+click on macOS opens it in a new tab.
- The command palette also includes Open recent tab groups and focuses the same sidebar view.
- The sidebar shows a compact list of group names with member counts aligned on the right.
- History can be enabled or disabled, limited from 0 to 100 entries, and cleared from settings.
Settings
- Allow only markdown files in groups (if disabled, export only includes markdown files), enabled by default.
- Show history, enabled by default.
- History limit, default 20 and configurable from 0 to 100.
- Clear history.
- Export destination: a folder inside the vault or a folder anywhere on the computer.
- Vault export folder, default
Group Tabs Exports, with a vault-folder browser.
- Computer export folder, with a desktop folder browser.
Markdown export
Export group as markdown reads Markdown members only after the user starts the export. It preserves group order, source paths, Markdown source, YAML frontmatter, code blocks, links, and comments. Non-Markdown and missing files are skipped and counted.
The output filename uses:
AI-Research_20260805-0915.md
The document begins with:
- An ordered list of included source files.
- Included, skipped non-Markdown, and skipped missing-file counts.
- Combined source word count.
- Exact completed-document UTF-8 byte size with a readable size.
- Export timestamp.
The plugin uses the live editor buffer when available and otherwise reads saved vault text. Vault exports are created and opened as Obsidian notes. Computer-folder exports are written outside the vault and reported with their full path. Export failures show the failed stage and error message.
The plugin does not upload content, expand embeds, render Dataview results, parse attachments, or call an AI service.
Large groups
Groups have no hard member limit. File Explorer creation is lazy, so selecting hundreds of files creates one native group tab and opens none of the selected files until a member is chosen. The popup uses a virtualized list. Expanding a large group requires confirmation. Large exports warn before reading note contents, show progress, and can be cancelled while source files are prepared.
Installation
Copy main.js, manifest.json, and styles.css into:
<vault>/.obsidian/plugins/group-tabs/
Then enable Group Tabs in Community plugins.
Privacy and security
- No network requests or telemetry.
- Node.js and Electron APIs are used only after the user chooses a computer export folder or writes an external export. The plugin is desktop-only.
- No background note-content reads.
- Note content is read only after Export group as markdown is selected.
- Source notes are never modified by export.
- Group and history metadata are stored through Obsidian's plugin data API.
Development
npm ci
npm run build
npm test
npm run check
The build has no external dependencies and uses root-level build-critical files.
License
MIT
Version 1.1.5
Version 1.1.5 restyles Recent tab groups as a compact native navigation list and adds pinned history entries plus right-click actions to rename, export, pin, unpin, or remove groups. Pinned entries survive Clear history and history-limit pruning. Native group tabs, recursive folder grouping, exact workspace restoration, exports, and the 800 ms reorder close delay are preserved.