Problem
When Omni is freshly installed (no defaultInstance configured), omni --help shows at the top:
Quick Start:
omni send --to +5511999999999 --text "Hello"
omni chats list
omni events list --limit 10
But on a fresh install, every one of those fails with:
✗ No instance specified. Use --instance <id> or set default: omni config set defaultInstance <id>
This is particularly painful when an LLM agent reads omni --help to orient itself — it anchors on "Quick Start" and confidently suggests omni send, not realizing the Status: configured (no default instance) line actually means "you cannot send anything yet."
Reproducible on v2.260410.1.
Why it bites LLMs hard
LLMs trust the structure of CLI help output. "Quick Start" is the strongest signal in the page. When it lies, the model fails the user on the very first request and then has to backtrack into channels add / instances create / pair / config set defaultInstance before recovering.
The error message also misleads: it suggests omni config set defaultInstance <id> but on a fresh install there is no <id> yet — the user (or agent) first needs to create a channel and an instance.
Suggested fixes
-
Make Quick Start conditional on state. If Status: configured (no default instance), replace Quick Start with a bootstrap path:
First time? Bootstrap an instance:
omni channels list # see available channels
omni instances create --name <n> --channel whatsapp-baileys
omni instances pair <id> --phone +55... # or: omni instances qr <id>
omni config set defaultInstance <id>
Then on subsequent runs (with a default set), show the current omni send Quick Start.
-
Improve the "No instance specified" error to detect whether any instances exist:
- If 0 instances: suggest
omni channels list + omni instances create first.
- If ≥1 instance: suggest
omni config set defaultInstance <id> and list candidates.
-
(Optional) Surface omni install more prominently in the bootstrap state — the wizard exists but isn't mentioned in --help.
Acceptance criteria
Problem
When Omni is freshly installed (no
defaultInstanceconfigured),omni --helpshows at the top:But on a fresh install, every one of those fails with:
This is particularly painful when an LLM agent reads
omni --helpto orient itself — it anchors on "Quick Start" and confidently suggestsomni send, not realizing theStatus: configured (no default instance)line actually means "you cannot send anything yet."Reproducible on v2.260410.1.
Why it bites LLMs hard
LLMs trust the structure of CLI help output. "Quick Start" is the strongest signal in the page. When it lies, the model fails the user on the very first request and then has to backtrack into
channels add/instances create/pair/config set defaultInstancebefore recovering.The error message also misleads: it suggests
omni config set defaultInstance <id>but on a fresh install there is no<id>yet — the user (or agent) first needs to create a channel and an instance.Suggested fixes
Make Quick Start conditional on state. If
Status: configured (no default instance), replace Quick Start with a bootstrap path:Then on subsequent runs (with a default set), show the current
omni sendQuick Start.Improve the "No instance specified" error to detect whether any instances exist:
omni channels list+omni instances createfirst.omni config set defaultInstance <id>and list candidates.(Optional) Surface
omni installmore prominently in the bootstrap state — the wizard exists but isn't mentioned in--help.Acceptance criteria
omni --helpon a fresh install does not show commands that will immediately fail.--helpalone.No instance specifiederror differentiates "no instances exist" from "no default set."