---
name: OWL exe syntax differs from bash script
description: $OWL points to owl.exe with different CLI syntax — message body via stdin pipe, positional args only
type: feedback
---

Use `$OWL` (not `bash ~/.claude/skills/owl/owl.sh`) for all owl commands. The `$OWL` env var may point to an exe with different syntax than the bash script:

- `reply` takes `<SENDER> <MY_ID>` with message body piped via stdin: `echo "msg" | $OWL reply doyle todlando`
- `poll` takes `<ID> [MODE]` as positional args, not `--once` flags: `$OWL poll todlando once`
- `deliver` likely follows the same stdin pattern for message body

**Why:** User corrected me when I used `bash ~/.claude/skills/owl/owl.sh` directly instead of `$OWL`. The env var is the correct interface.

**How to apply:** Always use `$OWL` for owl commands. Pipe message bodies via stdin. Check `$OWL <cmd> --help` if unsure about syntax.
