CLI console shim silently fails on colon subcommands with key=value parameters

The CLI console shim (the .com executable placed next to Obsidian.exe) silently fails (exit code 1, no output) when executing any colon subcommand (property:read, daily:append, base:query, etc.) that includes key=value parameters. The same colon subcommands work correctly when invoked without parameters, and non-colon commands work correctly with or without parameters.

Steps to reproduce

All commands run from the vault root directory with Obsidian app running.

1. Confirm CLI is functional

> obsidian vault
name    MyVault
path    C:\Users\<user>\...\MyVault
files   3921

2. Confirm non-colon commands with parameters work

> obsidian search query="test" limit=1
SomeNote.md
EXIT: 0

3. Confirm colon subcommands without parameters work

> obsidian daily:read
(full daily note content returned)
EXIT: 0

> obsidian plugins:enabled
(list of enabled plugins returned)
EXIT: 0

4. Demonstrate failure: colon subcommand + key=value parameter

> obsidian property:read name=type
(no output)
EXIT: 127

5. Demonstrate failure via direct full-path invocation

Calling the CLI shim by full path eliminates bash/MSYS resolution as a variable:

> "C:/Program Files/Obsidian/<shim>" property:read name=type
(no output)
EXIT: 1

> "C:/Program Files/Obsidian/<shim>" daily:append content="hello"
(no output)
EXIT: 1

> "C:/Program Files/Obsidian/<shim>" base:query path=00-System/Bases/concepts-all.base format=paths
(no output)
EXIT: 1

> "C:/Program Files/Obsidian/<shim>" template:read name=Area
(no output)
EXIT: 1

Did you follow the troubleshooting guide? [Y/N]

Expected result

Actual result

All these commands failed:

Affected Commands (all tested, all fail with key=value params)

Command Params tested
property:read name=type
property:set name=test value=hello
property:remove name=test
daily:append content="text"
daily:prepend content="text"
base:query path=<path> format=paths
base:create name=test content="text"
template:read name=Area
template:insert name=Area
history:read file=SKILL version=1
search:open query="test"
workspace:save name=test
workspace:load name=test
plugin:enable id=word-count
plugin:disable id=word-count
theme:set name=Default
snippet:enable name=test

Two Layers of Failure

Layer 1: Git Bash MSYS2 resolution (exit 127)

When invoked as obsidian property:read name=type (no explicit path/extension), Git Bash returns exit 127 (“command not found”). This only occurs when both a colon subcommand and key=value parameters are present. The same obsidian binary resolves and executes correctly for all other argument combinations.

This appears to be an MSYS2 interop issue with .com executables under specific argument patterns.

Layer 2: CLI shim named-pipe relay (exit 1, silent)

When invoked by full explicit path, the binary runs but returns exit 1 with zero output on both stdout and stderr. The named-pipe communication between the CLI shim and the running Obsidian process silently drops the command.

This is the core bug — the CLI shim fails to relay colon subcommands that include key=value arguments to the Obsidian app process.

Pattern Summary

Command type Example Exit code Works?
Non-colon, no params obsidian vault 0 Yes
Non-colon, with params obsidian search query=test 0 Yes
Colon, no params obsidian daily:read 0 Yes
Colon, with params obsidian property:read name=type 1 (or 127) No

Additional Context

  • The CLI shim is a 6.6 KB PE64 console binary that communicates with the running Obsidian process via Windows named pipes (\\.\pipe\ pattern visible in binary strings, along with session= and tty tokens).
  • PowerShell produces the same result — invoking the shim with property:read name=type returns exit 1 with no output — so this is not specific to Git Bash.
  • Tested from both Git Bash and PowerShell with identical results.

Environment


Additional information

I am not a programmer this was debugged using claude code opus 4.6 Every other function of the CLI was tested by Claude and none had issues except those mentioned above.

Environment

Component Version
Obsidian 1.12.1 (installer 1.11.5)
OS Microsoft Windows 11 Pro, build 10.0.26200
Shell GNU bash 5.2.37(1)-release (x86_64-pc-msys) via Git for Windows 2.52.0
MSYS MINGW64_NT-10.0-26200, MSYS runtime 3.6.5
CLI shim PE32+ x86-64 console executable, 6656 bytes
CLI shim SHA256 3c682f7473d228fefac3f9f4925baed3be493d7fbd7866761da4857fb534c86f
CLI shim location C:\Program Files\Obsidian\ (next to Obsidian.exe)

Just in case :blush: : Did you try with the latest installer (1.11.7) ? :woman_shrugging:
As per the doc, you need both Obsidian 1.12.1 and the 1.11.7 installer …

Yes I did thanks. It looks like this issue is popping up for others too.

thanks

will be fixed 1.12.2. ETA unknown. Will require installation of an updated obsidian.com

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.