Obsidian CLI property:* commands return exit code 255 when called via WSL2 interop

Bug Report

Environment:

  • Obsidian: 1.12.7
  • Installer: 1.12.7
  • OS: Windows 11 + WSL2 (Ubuntu)
  • WSL kernel: 6.6.87.2-microsoft-standard-WSL2

Description:

All property:* CLI commands (property:read, property:set, property:remove) return exit code 255 with no output
when called from WSL2 via Windows interop (obsidian.exe). Other CLI commands (read, search, create, append,
tags, orphans, unresolved, etc.) work correctly with the same calling method.

Steps to reproduce:

From a WSL2 terminal:

# This works fine:
obsidian.exe read file="MyNote" vault="MyVault"

# This returns exit 255 with no output:
obsidian.exe property:read name="tags" file="MyNote" vault="MyVault"

Workaround:

Routing the command through cmd.exe works correctly:

cmd.exe /c 'obsidian property:read name=tags file=MyNote vault=MyVault'
# Returns expected output

Expected behavior:

obsidian.exe property:read/set/remove should work the same as other CLI commands when called via WSL2 interop.

Notes:
- The issue affects ALL property:* subcommands, not specific files or properties.
- All other CLI commands work fine via obsidian.exe, suggesting something specific to the property command family's
argument parsing or IPC mechanism behaves differently under WSL interop.

---

There are multiple things odd here.

First, we don’t officially support running from Obsidian WSL, nor running from windows but having the vault within WSL. Sorry!

Putting the WSL aside, n windows, you should obsdian in the terminal should resolve to obsidian.com not obsidian.exe.