Obsidian Community Plugin  ·  v1.4.0  ·  Free & Open Source

Your Obsidian activity,
live on Discord

Vault name, file, edit/reading mode and an elapsed timer — shown directly in your Discord profile via Rich Presence.

Install in Obsidian View on GitHub
🦅
30jannik06
📓
✏️
Discord RPC
main.ts
Editing in MyVault
01:23:45 elapsed

Features

Everything shown, nothing hidden

Vault & file tracking

Shows your vault name, current file and file extension in Discord — all individually toggleable.

Edit / Reading mode

Detects whether you're writing or reading — shown as a small icon and in the status text.

Canvas support 1.4.0

Canvas files are tracked correctly — no more stale presence from the last Markdown file when you switch.

Custom format strings 1.4.0

Build your own Details and State lines with placeholders: {file}, {folder}, {vault}, {mode}, {wordCount} and more.

Elapsed timer

Track total session time or reset per file. Switch any time — no restart required.

Pause & idle detection

Pause presence with one click. Idle detection clears or shows AFK after a configurable timeout.

Exclusion list 1.4.0

Hide private files or folders from Discord. Supports plain text and glob patterns like Journal/** or *.canvas.

Profile buttons

Add up to 2 clickable buttons to your Discord profile card — link to your GitHub, website or portfolio.

Auto-reconnect

Reconnects automatically every 15 seconds if Discord restarts. Status bar shows connection state at a glance.

Configuration

All settings at a glance

General
Discord client ID
Your own Discord Application ID. Leave empty to use the built-in default (Obsidian logo). See Custom App to set up your own.
Show vault name
Display your vault name in the Discord status. When on: Editing in MyVault. When off: Editing.
Custom vault name
Override the vault name shown in Discord. Leave empty to use the real vault folder name.
Show file name
Display the currently open file name. When off: Editing a file is shown instead.
Show file extension
Include the extension in the file name. My Note.md vs My Note. Only visible when file name is enabled.
Per-file timer
When on: timer resets each time you open a new file. When off: timer counts from plugin load.
Show connection notices
Show an Obsidian pop-up notice when the plugin successfully connects to Discord.
No file open text
Text shown in Discord when no file is active. Default: No file open.
Swap image layout
Flip image positions: editing/reading icon becomes the large image, Obsidian logo becomes the small icon.
Custom status format

Override the two lines shown in Discord using placeholders. Leave empty to use the default display.

Details format
Top line — e.g. Editing {fileNoExt}
State format
Bottom line — e.g. {mode} in {vault} ({wordCount} words)
{file}Full file name incl. extension
{fileNoExt}File name without extension
{folder}Parent folder path
{vault}Vault name
{mode}Editing or Reading
{wordCount}Live word count
{lineCount}Live line count
{meta:key}Any frontmatter value, e.g. {meta:project}
Exclusion list
Excluded patterns
One pattern per line. Files/folders matching any pattern are hidden from Discord. Supports plain text (Privat/) and glob syntax (Journal/**, *.canvas).
Idle detection
Enable idle detection
Automatically change or clear presence after a period of inactivity.
Idle timeout
Minutes of inactivity before the idle action is triggered. Default: 10 minutes.
When idle
Away from keyboard — shows an AFK status. Clear presence — removes it entirely.
Profile buttons
Button label
Text shown on the button in Discord (max 32 characters). Leave empty to disable.
Button URL
Must start with https://. Leave empty to disable. Up to 2 buttons supported.

Custom Discord App

Your own branding in Discord

By default the plugin uses a shared application with the Obsidian logo. Set up your own Discord Application to use custom images and your own app name.

1

Create a Discord Application

Go to discord.com/developers/applications, click New Application and give it a name. This name appears in Discord as "Playing [name]".

2

Upload your assets

In your application go to Rich Presence → Art Assets and upload PNG images (min. 512 × 512 px) with exactly these key names:

KeyUsed for
obsidianMain large image
editingSmall icon in Edit mode
readingSmall icon in Preview/Reading mode
Note: After uploading, click Save Changes and wait a few minutes for the assets to propagate.
3

Copy your Client ID

Go to OAuth2 (or the main page of your application) and copy the Application ID.

4

Enter it in Obsidian

Open Settings → Community Plugins → Discord RPC and paste your Client ID. The plugin reconnects automatically.

Installation

Get started in seconds

Community Store Recommended

  1. Open Obsidian → Settings → Community Plugins
  2. Click Browse and search for Discord RPC
  3. Click Install, then Enable
  4. Make sure Discord is running — the status bar turns green

Manual Advanced

  1. Download main.js, manifest.json, styles.css from the latest release
  2. Copy to .obsidian/plugins/discord-rpc/ in your vault
  3. Enable Discord RPC in Settings → Community Plugins
Requirements: Obsidian 1.4.0 or higher · Desktop only (Discord IPC is not available on mobile) · Discord must be running locally
# Clone and build from source
git clone https://github.com/30jannik06/Obsidian-Presence
cd Obsidian-Presence && pnpm install

pnpm dev # watch mode
pnpm build # production build
pnpm lint # ESLint check
pnpm format # Prettier format

Changelog

What's new

1.4.0 2026-05-15 Latest
Added
  • Canvas file support — .canvas files tracked correctly, no more stale presence on view switch
  • New placeholder {folder} — parent folder path of the current file
  • New placeholder {wordCount} — live word count of the current file
  • Swap image layout setting — flip editing/reading icon and Obsidian logo positions
  • Glob pattern support in exclusion list — Journal/** and *.canvas now work correctly
1.3.5 2026-04-16
Fixed
  • Sentence case in all UI strings (Obsidian marketplace compliance)
  • ESLint sentence-case allowlist extended for acronyms
1.3.0 2026-04-14
Added
  • Pause mode — status bar click, settings button, or command palette
  • Idle detection — show AFK or clear presence after configurable timeout
  • Exclusion list — hide files or folders from Discord by pattern
  • Custom status format — {file}, {fileNoExt}, {vault}, {mode} placeholders
Fixed
  • Reconnect button disables itself for 5 seconds to prevent spam
  • Button URLs validated — must start with https://
1.2.0 2026-04-14
Added
  • Live connection status in settings tab — updates automatically
  • Reconnect button in settings
  • Reconnect to Discord command palette entry
  • Up to 2 configurable profile buttons (label + URL)
Fixed
  • Connection status flag now resets correctly when Discord closes
1.1.0 2026-04-13
Added
  • Custom Discord Client ID — bring your own application with custom images
  • Small editing / reading icon for custom apps
  • GitHub Pages documentation site
  • Automated release workflow via GitHub Actions
Changed
  • Refactored into focused modules: types.ts, rpcManager.ts, settingsTab.ts
1.0.0 2026-04-13
Added
  • Discord Rich Presence showing vault name, file name and edit/preview mode
  • Elapsed timer — total session or per-file
  • Auto-reconnect every 15 seconds
  • Status bar indicator (green/red) with click-to-reconnect
  • Settings tab with configurable options