Problem
05 Meta/scripts/granola-ingest calls obsidian CLI directly from within a bash script at lines 214, 231, and 236:
obsidian "vault=$VAULT_NAME" search "query=granola_id: $granola_id" ...
obsidian "vault=$VAULT_NAME" search "query=$display_name" ...
obsidian "vault=$VAULT_NAME" search "query=$kebab" ...
The obsidian CLI spawns Electron, which can hang indefinitely in non-interactive script contexts. This was the root cause of sb-today-scan and sb-github-sync hanging after the PR #8 merge — those scripts had the same pattern and were fixed by removing obsidian CLI calls.
granola-ingest may work when Obsidian is already running (the Electron instance reuses the existing app), but this is environment-dependent and could cause intermittent hangs during /eod Step 0.75.
Fix options
- Replace
obsidian search with direct file-based lookups (grep frontmatter for granola_id, find person files by name)
- Have the script output data for Claude to query, similar to the
sb-today-scan / sb-github-sync pattern
Problem
05 Meta/scripts/granola-ingestcallsobsidianCLI directly from within a bash script at lines 214, 231, and 236:The obsidian CLI spawns Electron, which can hang indefinitely in non-interactive script contexts. This was the root cause of
sb-today-scanandsb-github-synchanging after the PR #8 merge — those scripts had the same pattern and were fixed by removing obsidian CLI calls.granola-ingestmay work when Obsidian is already running (the Electron instance reuses the existing app), but this is environment-dependent and could cause intermittent hangs during/eodStep 0.75.Fix options
obsidian searchwith direct file-based lookups (grep frontmatter forgranola_id, find person files by name)sb-today-scan/sb-github-syncpattern