Obsidian plugin (https://obsidian.md/) that displays a real-time count of open action items (unchecked checkboxes) in the status bar.

- Real-time Task Counter - Displays total task count in the status bar at the bottom of Obsidian
- Severity Breakdown - Shows how many files have high, medium, and low severity task counts
- Always Visible - Status bar indicator is always visible while keeping your navigation sidebar untouched
- Configurable Thresholds - Customize what counts as high, medium, or low severity
- Configurable Ignore Patterns - Exclude specific files and folders from scanning
- Auto-refresh - Automatically update indicators at configurable intervals
- Manual Refresh - Command to refresh indicators on demand
- Debug Logging - Optional console logging for troubleshooting
Once this plugin is approved for the Obsidian Community Plugins registry:
- Open Obsidian Settings
- Go to Community plugins → Browse
- Search for "Open Task Indicator"
- Click Install
- Enable the plugin in Community plugins → Installed plugins
If you want to install from the GitHub repository:
-
Enable Developer Mode in Obsidian:
- Go to Settings → About
- Scroll down and toggle "Enable developer mode" ON
-
Clone or Download the Repository:
git clone https://github.com/DanPiazza-Netwrix/obsidian-open-task-indicator-plugin.git
-
Copy Plugin Files:
- Copy the entire plugin folder to your vault's
.obsidian/plugins/directory - The path should be:
.obsidian/plugins/open-task-indicator/
- Copy the entire plugin folder to your vault's
-
Install Dependencies:
cd .obsidian/plugins/open-task-indicator npm install -
Build the Plugin:
npm run build
-
Enable in Obsidian:
- Go to Settings → Community plugins
- Find "Open Task Indicator" and toggle it ON
The plugin displays task information in the status bar at the bottom of Obsidian:
When no tasks exist:
✅ No open tasks
When tasks exist (emoji style):
📋 60 tasks in 8 files | 🔴 2 | 🟠 2 | 🟡 4
When tasks exist (simple style):
📋 60 tasks (8 files)
The status bar color changes based on the highest severity level found:
- 🔴 Red (High): 10+ tasks in a file (configurable)
- 🟠 Orange (Medium): 5-9 tasks in a file (configurable)
- 🟡 Yellow (Low): 1-4 tasks in a file (configurable)
The plugin scans for unchecked checkboxes in the following format:
- [ ] This is an unchecked task
- [x] This is a completed task (ignored)Access settings via Settings → Community plugins → Open Task Indicator
Choose between emoji or simple display style in the status bar.
Configure the task count thresholds for each severity level:
- High Severity: Default 10 tasks
- Medium Severity: Default 5 tasks
- Low Severity: Default 1 task
Specify files and folders to exclude from scanning. One pattern per line.
Default: .obsidian
Set the interval (in milliseconds) for automatic indicator updates. Set to 0 to disable.
Default: 5000ms (5 seconds)
Enable console logging for troubleshooting.
- Refresh task indicators: Manually refresh all indicators immediately
- Scanning: The plugin scans all markdown files in your vault
- Counting: Counts unchecked tasks (
- [ ]) in each file - Filtering: Ignores files matching configured ignore patterns
- Calculating: Determines severity levels based on task counts
- Displaying: Shows summary in the status bar with color coding
- Updating: Updates in real-time as files are modified
The plugin is optimized for performance:
- Caching: Task counts are cached to avoid redundant scanning
- Debouncing: File change events are debounced to prevent excessive updates
- Incremental Updates: Only modified files are re-scanned
- Lazy Loading: Full vault scan happens on startup, then incremental updates
- Verify developer mode is enabled in Obsidian settings
- Check that files are in
.obsidian/plugins/open-task-indicator/ - Reload Obsidian (Ctrl+R or Cmd+R)
- Check browser console for errors (Ctrl+Shift+I)
- Verify the plugin is enabled in Settings → Community plugins
- Check that the status bar is visible (View → Show status bar)
- Try manual refresh: Command palette → "Refresh task indicators"
- Enable debug logging to see what's being scanned
- Verify files have unchecked tasks in format:
- [ ] - Check ignore patterns don't exclude your files
- Try manual refresh: Command palette → "Refresh task indicators"
- Enable debug logging to see scan results
- Reduce auto-refresh interval or disable it (set to 0)
- Add more ignore patterns to exclude large folders
- Check console for errors
npm run devnpm run build.obsidian/plugins/obsidian-open-task-indicator-plugin/
├── src/
│ ├── main.ts # Plugin entry point
│ ├── TaskScanner.ts # Task scanning logic
│ ├── StatusBarRenderer.ts # Status bar UI
│ ├── TaskModal.ts # Modal dialog for task list
│ ├── Settings.ts # Settings UI and defaults
│ ├── SettingsValidator.ts # Settings validation logic
│ └── types.ts # TypeScript interfaces
├── main.js # Compiled plugin output
├── manifest.json # Plugin metadata
├── package.json # Dependencies
├── tsconfig.json # TypeScript configuration
├── esbuild.config.mjs # Build configuration
├── CLAUDE.md # Development notes and architecture
├── CHANGELOG.md # Version history
├── LICENSE # License file
├── .gitignore # Git ignore rules
├── data.json # Data file
└── README.md # User documentation
This plugin was built with Claude Code and includes a CLAUDE.md file with detailed development notes, architecture documentation, and implementation details for contributors. The CLAUDE.md file is essential to understanding the plugin's design decisions and development process.
# Install dependencies
npm install
# Build for development (with watch mode)
npm run dev
# Build for production
npm run buildThe compiled output will be in main.js.
MIT
- Initial release
- Real-time task counter in status bar
- Configurable severity thresholds
- Customizable ignore patterns
- Auto-refresh functionality
- Settings UI
- Debug logging support