CBFS Shell

Customize Windows File Explorer without risking its stability.

CBFS™ Shell lets you add virtual folders, custom context menus, or overlay icons directly into Windows File Explorer. All without writing a single line of shell extension code.

CBFS™ Shell 2026 is Now Shipping.Optional impersonation, multi-instance virtual folders, startup-ready icon overlays.See what’s new →

USE CASES

What you can build with CBFS Shell

Extend Windows File Explorer with virtual folders, custom menus, columns, and overlay icons, without risking Explorer's stability.

Virtual folders backed by any data source

Show data from a database, cloud service, or generated on the fly as folders and files in Explorer. No local disk copy needed.

Custom detail columns

Add your own columns to Details View for things like sync status, tags, or workflow state, alongside standard file properties.

Status overlays on files and folders

Show overlay icons for sync progress, permissions, or approval status, and update them live.

Context menu and toolbar customization

Add, remove, or change context menu items and toolbar actions so users can trigger your app straight from Explorer.

HOW IT WORKS

Runs outside Explorer's process. Talks to yours over RPC.

CBFS Shell installs a proxy that runs inside File Explorer. Your extension code runs in a separate process, and the proxy talks to it over local RPC.

Because your code is out of process, a bug or crash in your extension can't take down File Explorer. This is also what makes it possible to write Shell Namespace Extensions in managed .NET code.

Your app handles virtual folders, context menus, custom columns, and overlay icons by responding to events from the proxy.

CBFS Shell out-of-process RPC architecture

TRUSTED BY DEVELOPERS WORLDWIDE

Built for production. Proven at scale.

Components and drivers from Callback Technologies have been shipping in commercial products for over two decades, from single-developer tools to enterprise software deployed at Fortune 500 companies.

20+ years in production
4M+ developer installs
500+ ISV customers
80+ countries deployed

Our experience with this product has been very good, especially in areas where the native Microsoft classes have not been of much help.

Joel P. Technical Lead

I must say that I am extremely happy that I purchased your library, largely because of the excellent support.

David F. Senior Developer

START BUILDING

Documentation & Resources

Online Documentation

Full API reference for all components and languages, with code examples for every method and event.

Read now

Knowledge Base

Troubleshooting guides, how-tos, and answers to common implementation questions.

Read now

Getting Started With ShellFolder

A hands-on guide to setting up ShellFolder and using it to add custom folders, metadata, and context menus to Windows File Explorer.

Read now

Getting Started With ShellMenu

A step-by-step guide to setting up ShellMenu and using it to add custom right-click context menu items in Windows File Explorer.

Read now

Getting Started With ShellOverlays

A walkthrough of setting up ShellOverlays to add custom status icons onto files and folders in Windows File Explorer.

Read now

Sample Applications

Device Manager

A virtual folder that represents the Windows Device Manager, where devices and their categories are represented as virtual items and folders.

Delphi Go .NET Rust C++
Drag and Drop

Shows how to use the ShellFolder component to import files into a virtual folder and export virtual file contents to third-party applications.

Delphi Go .NET Python Rust C++
Overview

Shows how to use the ShellFolder component to create a simple virtual folder that contains a fixed set of virtual items and folders.

Delphi Go .NET Python Rust C++
Registry Folder

A virtual folder that represents the Windows Registry, where registry keys and directories are represented as virtual items and folders.

Delphi Go .NET Python Rust C++
Shell Menu

Shows how to use the ShellMenu component to add a custom context menu item to any Windows Shell items selected in the Windows File Explorer.

Delphi Go .NET Python Rust C++
Shell Notify

Shows how to use the simple ShellNotify component to monitor changes in a specified path.

Delphi Go .NET Python Rust C++
Shell Overlays

Shows how to use the ShellOverlays component to add custom overlay icons to any files or folders displayed in the Windows File Explorer.

Delphi Go .NET Python Rust C++

FEATURES

Greater File Explorer Stability

Our unique proxy runs in the File Explorer process, which calls your code via local RPC. Your code runs out of process, keeping File Explorer stable and responsive. This configuration is what enables you to use managed .NET code to create Shell Namespace Extensions.

Virtual Folders

CBFS™ Shell can be used to easily create and manage Virtual Folders (display custom data as files) with the help of a Windows Shell Namespace Extension. Data can be read from essentially any source or created on-demand. When a user navigates into a Virtual Folder, the data is presented as a tree of folders and files, just like any other folder.

Additional Views and Visual Information

CBFS™ Shell's standard namespace also includes other UI elements you can customize, such as:

  • Details View, List View, and Icon View
  • Thumbnails and Tooltips
  • Property Pages
  • Toolbars and Ribbons

Custom Overlay Icons

CBFS™ Shell allows your application to add custom overlay icons that appear directly over any files and folders in Windows Explorer. Use overlay icons to show users custom information defined by your application, such as file states, workflow progress, access permissions, and more. Icons can be updated dynamically to reflect changes in real time, ensuring users always see the latest information without having to leave File Explorer.

Complete Navigation and Menu Options

CBFS™ Shell allows your application to handle many standard End-User Actions on files and folders, such as:

  • Context Menus (with standard or specific items)
  • Drag, Drop, Copy, Paste, Cut, Delete, and Link
  • Go To, Backward, Forward, Level Up, Level Down
  • Grouping and Filtering
  • Searching

Custom Columns

CBFS™ Shell allows you to customize which columns are visible within the detail view of Windows File Explorer. Choose from many pre-defined options or create your own columns. Both text and icons can be displayed in a Custom Column. CBFS Shell allows you to present items within a folder in a way that best fits your specific use case.

PLATFORMS

Supported Languages & Operating Systems

Every edition ships with a pre-built driver, sample applications, and full documentation. 30-day fully functional trial for all editions.

CBFS Shell ships as a .NET component layer managing a high-performance native Windows shell extension, supporting .NET 5 through .NET 10.

Documentation

CBFS Shell ships as 32-bit and 64-bit Windows DLLs built on our high-performance C++ codebase, with precompiled binaries for x86/x64 and ARM.

Documentation

CBFS Shell ships as Python 3 modules managing a robust Windows-only driver, installable via PIP with comprehensive HTML documentation and console sample applications.

Documentation

CBFS Shell ships as Rust crates built on top of 32-bit and 64-bit Windows DLLs, with support for x86/x64 and ARM architectures.

Documentation

CBFS Shell provides high-performance, C++-based Go packages built as 32-bit and 64-bit Windows DLLs, supporting Go 1.13 and later with comprehensive HTML documentation.

Documentation

CBFS Shell provides native Delphi VCL components wrapping a Windows-only driver, supporting every Delphi version from Delphi 6 through RAD Studio 13.

Documentation

CBFS Shell ships as 32-bit and 64-bit Windows DLLs supporting Qt 4.8 and Qt 5, with seamless Qt Creator integration and Qt GUI sample applications.

Documentation

FAQ

Frequently Asked Questions

Common questions about licensing, integration, and deployment.

What is CBFS Shell?

CBFS Shell is a Windows SDK for extending File Explorer with virtual folders, custom context menus, overlay icons, custom detail columns, thumbnails, and toolbars. It integrates deep into the Windows Shell without the crash risk of traditional in-process extensions.

A lightweight proxy runs inside File Explorer and talks to your app over local RPC. Your logic runs in your own process, so File Explorer stays stable even if your extension throws an unhandled exception.

How do I add custom context menus, overlay icons, or virtual folders to Windows File Explorer?

CBFS Shell gives you a component for each of these. ShellFolder builds virtual folders that show custom data as files, with full drag-and-drop, copy, paste, cut, delete, and link support. ShellMenu adds items to the right-click menu for any file or folder. ShellOverlays adds badge icons over files and folders that update live to reflect your app's state.

All three use a standard callback API in .NET, Java, C++, Python, Rust, Go, Qt, or Delphi. No in-process COM development needed.

What can developers add to Windows File Explorer with CBFS Shell?

CBFS Shell supports the following File Explorer customizations:

  • Virtual folders that show custom data as a navigable tree of files and folders
  • Custom context menu items on any file, folder, or virtual item
  • Custom overlay icons over files and folders, updatable in real time
  • Custom detail columns in the file list view, text or icons
  • Thumbnails, tooltips, and property pages
  • Toolbars and ribbons
  • Drag, drop, copy, paste, cut, delete, link, navigation, grouping, filtering, and search
  • Path change monitoring via the ShellNotify component
How does CBFS Shell prevent crashes in Windows File Explorer?

Traditional shell extensions run as in-process COM servers inside File Explorer. An unhandled exception there crashes Explorer for every open window. CBFS Shell avoids this by running your code out of process: a small proxy runs inside Explorer and talks to your app over local RPC. Explorer stays unaffected by anything that goes wrong on your side.

This same setup is what makes it possible to write shell extensions in managed .NET code.

Can CBFS Shell be used with managed .NET code?

Yes, and it's one of CBFS Shell's biggest practical advantages. Since your logic runs out of process over RPC instead of as an in-process COM server, there's no restriction on runtime. Shell Namespace Extensions and context menu handlers can be written entirely in C# or other managed .NET languages, .NET 5 through .NET 10.

Traditional in-process extensions have real constraints around .NET due to COM hosting limits. CBFS Shell removes those constraints entirely.

Start with a free 30-day trial

Fully functional, no feature restrictions. Free technical support from day one. No credit card required.