# Vertical Tabs for Obsidian: a tab sidebar that becomes a workspace manager

> Vertical Tabs is an Obsidian plugin that replaces the horizontal tab strip with a vertical list you can group, reorder and navigate with the keyboard, adding tab groups, history, ephemeral tabs and an IDE-style navigation mode. It suits Obsidian users juggling dozens of open notes, and the beta channel is behind a paid subscription.

**oxdc/obsidian-vertical-tabs** — An Obsidian plugin that displays open tabs vertically, allowing users to group and organize tabs for a better navigation experience.

- Repository: https://github.com/oxdc/obsidian-vertical-tabs
- Website: https://community.obsidian.md/plugins/vertical-tabs
- Stars: 628 · Forks: 28
- Language: TypeScript
- License: MIT
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/oxdc-obsidian-vertical-tabs

## The problem is a tab strip that keeps shrinking

The plugin exists because of a specific, common annoyance rather than a general dissatisfaction with Obsidian.

Productive Obsidian users often find themselves juggling a large number of open notes, and the default horizontal tab layout makes it hard to locate and switch between them. As more notes are opened, the tabs get narrower, the titles become harder to read, and the result is decreased productivity and frustration. That is the diagnosis in the project description, and it is a layout problem rather than a search problem.

The solution offered is a vertical list of tabs, with the ability to group and organize them. The description of the plugin calls it an alternative view that displays open tabs vertically, allowing users to group and organize tabs for a better navigation experience, and the plugin listing says it offers an alternative view rather than a replacement of Obsidian itself.

The ambition is larger than a sidebar though, and the project says so. It positions itself as the workspace manager for Obsidian, and the feature list covers far more than drawing tabs sideways: per-tab zooming, zen mode, a tab history browser, an extended keyboard tab switcher, advanced tab navigation with customizable presets, ephemeral tabs, tab deduplication, and the ability to build personalized tab navigation strategies.

It is a TypeScript project under the MIT licence, with the plugin published on the Obsidian community plugin directory and its own documentation site at vertical-tabs-docs.oxdc.dev.

The last push to the repository was on 2026-10-17, and the recent release tags are 0.18.6 from 2026-10-06, 0.18.5 and 0.18.4 both from 2026-09-23. That cadence is fast, which is what you would expect from a plugin that reshapes the main workspace and has to keep up with Obsidian's own changes.

## Groups, presets and the IDE mode are the substance behind the layout

A vertical strip of tabs is easy to draw and does not by itself solve the navigation problem. What makes this plugin more than a skin is the set of behaviours layered on top.

Tab groups are the first layer, and they are the feature the documentation leads with after the layout itself. They give the vertical list structure that a flat horizontal strip never had, which is what turns a tab list into a workspace.

The second layer is a set of navigation presets, and the one with the most identity is IDE mode, described as delivering a VSCode-like experience. That mode brings two related behaviours with it. Ephemeral tabs are tabs that do not persist the way normal tabs do, which suits a workflow where you open something to check it and move on. Automatic tab deduplication means that the same note reached two different ways does not appear twice.

The third layer is that navigation strategies are customizable. The documentation describes users building personalized tab navigation strategies for finer control, which is the difference between a plugin that ships sensible defaults and one that lets you define how movement between tabs behaves.

Around those sit the smaller features. Per-tab zooming takes a tab to fill the workspace. Zen mode hides the interface. A tab history browser gives you a list of what you have opened, which is the answer to the closed-note-by-accident problem that no tab layout solves on its own. And an extended keyboard tab switcher moves beyond the built-in one.

Each of those is small on its own, and together they are what the word workspace manager in the project description is doing work for.

## Installing from the community directory, with a paid beta channel

The installation route is the standard Obsidian one. The plugin listing links to the Obsidian community plugin page at obsidian.md/plugins?id=vertical-tabs, and the documentation site has both a quick start guide and a feature tour for people who want to see the capabilities before committing.

The money question is answered plainly at the top of the project description. There is a subscription to the Beta Program, and the price is $2.99 a month. The important sentence is the one that follows: the subscription is only required to download beta versions, and once installed you may use it as long as you want.

So the plugin itself is MIT licensed and free. The paid channel buys you early access to updates, and the project supports its development through Ko-fi. The build scripts in the repository make the two channels concrete: there is a separate build:dev target, a build:beta target, and a build:production target, and a separate version:beta script alongside the ordinary version script. The beta channel has its own version numbering path.

Building from source is a standard Node and esbuild pipeline, and the scripts are visible in the package manifest:

```json
		"build:dev": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs dev && cp manifest.json dist/manifest.json",
		"build:beta": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs beta && cp manifest.json dist/manifest.json",
		"build:production": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs production && cp manifest.json dist/manifest.json",
		"build": "npm run build:production && cp dist/main.js dist/styles.css .",
```

Every build target type checks first with tsc and noEmit and skipLibCheck, then runs the esbuild config for the chosen mode, then copies the manifest into the dist directory. The production build additionally copies the built main.js and styles.css up to the repository root, which is the layout the plugin directory expects.

The manifest.json and the versions.json file at the root are both managed by scripts, version-bump.mjs and version-beta-bump.mjs, and the version scripts stage them for commit with git add. So the versioning is a two-file affair driven by a script rather than by hand.

## What the build setup tells you about the codebase

The dependency set in the package manifest explains more about how the plugin is built than any description would.

The state management is zustand, which is a small choice that suits a plugin that has to render inside somebody else's application and avoid dragging a framework's conventions into it. React and react-dom are pinned at 18.3.1, and the Obsidian API is a dev dependency at ^1.13.1 along with obsidian-typings, which is the community type definitions for the API surface the plugin writes against.

Drag and drop is handled by @dnd-kit, with the core, sortable and utilities packages. That is what the tab groups and reordering are built on, and it is a fair choice because @dnd-kit is unstyled and keyboard accessible by default, which matters for a plugin whose whole point is keyboard navigation.

The rest of the runtime dependencies are small and specific. nanoid for identifiers, semver for version comparison, and monkey-around, which is a utility for wrapping a component so it can call a render prop, the standard trick for letting a third-party component trigger a re-render of your own.

The build itself is esbuild with an esbuild-sass-plugin, so the styles are compiled from Sass. Terser handles minification. On the tooling side there is eslint with the obsidianmd plugin and typescript-eslint, which means the lint rules understand Obsidian-specific patterns, plus prettier through the .editorconfig and the repository configuration files.

The repository layout matches a plugin project with a release process around it. There is src/ for the plugin source, images/ for the assets, an .npmrc, an env.example, a mangle.mjs file, an update-keys.sh script, an update-manifest.mjs script, a KEYS.txt file, and a NEWS.md alongside a CONTRIBUTING.md and a versions.json that tracks published versions.

## Where Vertical Tabs is the wrong tool

The first limit is that it solves a layout problem, and if you do not have the layout problem, installing it is a large change for nothing. A plugin that rearranges the main workspace of an editor you use daily is a bigger commitment than a plugin that adds a sidebar to it. The failure mode is spending an afternoon in settings and then reverting, with your workspace layout disturbed in the meantime.

The second is that Obsidian itself now has a vertical tabs option in its own settings, so part of what this plugin does is available without installing anything. The difference is that the plugin's version goes well past the layout, into groups, history, ephemeral tabs, deduplication and custom navigation strategies, and that is exactly where the value is for a heavy user. For a light user the built-in option is the cheaper answer.

The third is the cost of a plugin that reshapes the workspace in a tool whose own layout keeps changing. Obsidian ships layout changes regularly, and a plugin that owns the tab strip has to be reworked whenever the underlying view changes. The recent release cadence, three tags in the last three weeks of September and October 2026, is the visible side of that.

The fourth is the beta channel as a business decision. Paying a monthly subscription for early access to a plugin you may then keep using indefinitely is a reasonable arrangement for a user who wants the features first. It is a bad arrangement for a user who wants a stable tool, because the beta channel is where the churn is, and there is no statement in the project about what happens to the paid channel if the project winds down.

The fifth is the scope of the ambition. A plugin that claims to be the workspace manager for Obsidian, with grouping, navigation strategies, ephemeral tabs, deduplication and a history browser, is a large surface with many interacting features. If you only want readable tab titles, the built-in vertical tabs covers it. If you want the whole arrangement, you are adopting a fairly opinionated model of how your workspace should behave.

## Conclusion

Vertical Tabs is worth installing for an Obsidian user who keeps more tabs than the horizontal strip can show, because the vertical list keeps titles readable as the count grows, because tab groups give the list structure that the original layout never had, and because the history browser and the extended keyboard switcher recover notes you closed without meaning to. It is the wrong tool if you are happy with the default layout, since a plugin that rearranges the main workspace is a large change for a small problem. Before you install it, check the three things the project sets out plainly: that the plugin is free to install from the Obsidian community plugin directory and the subscription at $2.99 a month is only required to download beta versions, with no time limit once installed; that the IDE-style navigation mode with ephemeral tabs and tab deduplication is a preset you turn on rather than the default behaviour; and that your Obsidian version is supported by the plugin release you install, since the plugin tracks Obsidian API changes closely and the recent tags landed in quick succession.

## FAQ

### How do I install Vertical Tabs for Obsidian?

It is published on the Obsidian community plugin directory, so you find it under the id vertical-tabs in Obsidian's community plugins browser and install it from there. The plugin is MIT licensed and free to use once installed; a subscription at $2.99 a month is only needed to download beta versions.

### What is IDE mode in Vertical Tabs?

IDE mode is a tab navigation preset that delivers a VSCode-like experience, and it comes with ephemeral tabs, which do not persist like normal tabs, and automatic tab deduplication, so the same note reached two ways does not appear twice. Navigation strategies beyond the presets can also be customised.

### What extra features does Vertical Tabs add beyond a vertical list?

Beyond the vertical tab list and tab groups, the plugin includes per-tab zooming, zen mode, a tab history browser for finding notes you have closed, and an extended keyboard tab switcher. The documentation site has a feature tour and a quick start guide.

## Sources

- [License: MIT](https://github.com/oxdc/obsidian-vertical-tabs/blob/master/LICENSE)
- [oxdc/obsidian-vertical-tabs on GitHub](https://github.com/oxdc/obsidian-vertical-tabs)
- [Project website](https://community.obsidian.md/plugins/vertical-tabs)
- [README](https://github.com/oxdc/obsidian-vertical-tabs/blob/master/README.md)
- [Releases](https://github.com/oxdc/obsidian-vertical-tabs/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/oxdc-obsidian-vertical-tabs
