Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Custom Commands

staaaaaaaaaanstaaaaaaaaaan2k downloads

Create custom commands to be executed in the command palette, and by hotkey. Currently supports opening specific notes, creating notes, inserting snippets, and executing sequences of commands.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates6

Create personalized commands in Obsidian to streamline your workflow. Define commands that can open specific notes, create new notes with optional templates, insert text snippets, or run sequences of other commands.

Custom Commands Settings

Features

  • Open Commands: Navigate directly to specific notes using dynamic date formatting
  • Create Commands: Generate new notes at specific paths with optional templates
  • Insert Commands: Insert text snippets with dynamic date/time placeholders
  • Sequence Commands: Chain multiple commands together to execute in sequence
  • Date & Time Placeholders: Use dynamic date/time formatting in all commands
  • New Tab Control: Choose whether commands open notes in current tab, new tab, or new window

Installation

From Obsidian Community Plugins

  1. Open Settings in Obsidian
  2. Navigate to Community plugins and turn off Restricted Mode
  3. Click Browse and search for "Custom Commands"
  4. Install the plugin and enable it

Manual Installation

  1. Download the latest release from the GitHub releases page
  2. Extract the files into your .obsidian/plugins/custom-commands/ folder
  3. Reload Obsidian and enable the plugin in Settings > Community plugins

Usage

Creating a Command

  1. Go to Settings > Custom Commands
  2. Click "Add Command"
  3. Choose a command type (Open, Create, Insert, or Sequence)
  4. Give your command a name
  5. Fill in the required fields based on the command type
  6. Your command will appear in the Command Palette (Ctrl/Cmd+P)

Command Types

Open Command

Opens an existing note at the specified path.

  • Path: The path to the note (e.g., Journal/{{date}}.md)

Create Command

Creates a new note at the specified path, optionally using a template.

  • Path: Where to create the new note (e.g., Meetings/{{date}}-Meeting.md)
  • Template Path: Optional path to a template file to use as content

Insert Command

Inserts a snippet of text at the current cursor position.

  • Snippet: The text to insert, which can include date/time placeholders

Sequence Command

Runs multiple commands in sequence.

  • Command Names: Comma-separated list of command names to execute in order

Date & Time Placeholders

Use these dynamic placeholders in paths, templates, and snippets:

  • {{date}} - Current date (YYYY-MM-DD)
  • {{date:YYYY-MM-DD}} - Custom date format
  • {{date+1}} - Tomorrow's date
  • {{date-1}} - Yesterday's date
  • {{year}}, {{month}}, {{day}} - Current year, month, day
  • {{weekday}} - Day name (Monday, Tuesday, etc.)
  • {{monthName}} - Month name (January, February, etc.)
  • {{time}} - Current time (HH:mm)
  • {{time:HH:mm:ss}} - Custom time format

Adding Hotkeys

  1. Go to Settings > Hotkeys
  2. Search for your custom command by name
  3. Click the plus icon to add a hotkey

Examples

Daily Journal

  • Type: Create
  • Name: Open Today's Journal
  • Path: Journal/{{year}}/{{date}}-{{weekday}}.md
  • Template: Templates/Journal.md

Meeting Notes

  • Type: Create
  • Name: New Meeting
  • Path: Meetings/{{date}}-Meeting.md
  • Template: Templates/Meeting.md

Insert Timestamp

  • Type: Insert
  • Name: Add Timestamp
  • Snippet: [{{time}}]

Morning Routine

  • Type: Sequence
  • Name: Morning Setup
  • Command Names: Open Today's Journal, Add Timestamp, Daily Note: Open today's daily note

Compatibility

  • Requires Obsidian v0.15.0 or above
  • Works on desktop and mobile

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

  • GitHub Issues
  • Obsidian Forum
HealthGood
ReviewSatisfactory
About
Create personalized commands to open specific notes, create new notes with optional templates, insert text snippets, or chain multiple commands into sequences. Include dynamic date/time placeholders and choose whether notes open in the current tab, a new tab, or a new window.
CommandsTemplatingAutomation
Details
Current version
1.0.5
Last updated
6 months ago
Created
Last year
Updates
6 releases
Downloads
2k
Compatible with
Obsidian 0.15.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
staaaaaaaaaanstaaaaaaaaaan
github.com/Staaaaaaaaaan
GitHubstaaaaaaaaaan
  1. Community
  2. Plugins
  3. Commands
  4. Custom Commands

Related plugins

QuickAdd

Quickly add new notes or content to your vault.

Templater

Create and use dynamic templates.

Actions URI

Add additional `x-callback-url` endpoints to the app for common actions — it's a clean, super-charged addition to Obsidian URI.

Task Collector

Change task status and collect tasks within a document using hotkeys and context menus.

Persistent Graph

Save and restore the positions of nodes on your graph.

Smart Templates

AI powered templates for generating structured content. Works with Local Models, Anthropic Claude, Gemini, OpenAI & more.

Attachment Management

Customize attachment path, auto-rename attachments, etc.

Shell commands

Define system commands that you want to execute via command palette, hotkeys, URI links or automated events. E.g. open external applications or perform automated file modifications.

Homepage

Open a note, base, or workspace on startup, or set it for quick access later.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.