Summary
My HEY identity has five sender addresses. The web app lets me pick any of them when composing. The CLI gives me no way to choose one, and as far as I can tell it can only ever send from two of the five.
What the web app does
HEY's compose screen shows all five addresses in a From picker and remembers the one I chose:
user.name@hey.com
user@hey.com
me@domain-c.example
office@domain-b.example
office@domain-a.example ← selected
Sending posts the chosen sender along with the message:
acting_sender_id=3333333&remember_last_sender=true&entry[addressed][directly][]=…&message[subject]=test&…&commit=Send+email
What the CLI offers
There is no equivalent. hey compose has no --from or --sender flag:
$ hey compose --help | grep -i -E 'from|sender'
(no output)
The only related selector is --account, which lists two accounts, not five addresses:
$ hey account list --json
all All Accounts
100001 user.name@hey.com
100002 user@hey.com
Three of my addresses — the ones on custom domains — don't appear anywhere in the CLI, and I can't find any flag or config that reaches them.
The addresses are visible to the API
GET /identity.json returns all five under identity.senders, each with an id, an account id and an email address (anonymised below, IDs are shape-accurate):
id=1111111 account_id=100001 default=false user.name@hey.com
id=2222222 account_id=100002 default=false user@hey.com
id=3333333 account_id=100002 default=false office@domain-a.example
id=4444444 account_id=100002 default=false office@domain-b.example
id=5555555 account_id=100002 default=false me@domain-c.example
So the information the CLI would need is already in a response it fetches — it just isn't surfaced or selectable. Worth noting that none of the five is flagged default: true, which may be relevant to how a fallback behaves.
What I'd expect
- Some way to see the sender addresses available to me, the way
hey account list shows accounts.
- Some way to choose one when composing, and ideally to persist a default.
What I haven't verified
I have not sent a message from the CLI to confirm which address it actually uses, so I can't say from observation which of the five it picks or whether it matches the one the web app remembers. The concrete, reproducible part of this report is that the CLI offers no way to choose, and that three of my five addresses are not reachable through --account.
Environment
hey - 1.2.1 (release build, go1.26.6)
Analysed with Claude Opus 5. The observed behaviour above comes from a live account; addresses and sender IDs have been anonymised, and the section on what was not verified reflects the limits of that investigation.
Summary
My HEY identity has five sender addresses. The web app lets me pick any of them when composing. The CLI gives me no way to choose one, and as far as I can tell it can only ever send from two of the five.
What the web app does
HEY's compose screen shows all five addresses in a From picker and remembers the one I chose:
Sending posts the chosen sender along with the message:
What the CLI offers
There is no equivalent.
hey composehas no--fromor--senderflag:The only related selector is
--account, which lists two accounts, not five addresses:Three of my addresses — the ones on custom domains — don't appear anywhere in the CLI, and I can't find any flag or config that reaches them.
The addresses are visible to the API
GET /identity.jsonreturns all five underidentity.senders, each with an id, an account id and an email address (anonymised below, IDs are shape-accurate):So the information the CLI would need is already in a response it fetches — it just isn't surfaced or selectable. Worth noting that none of the five is flagged
default: true, which may be relevant to how a fallback behaves.What I'd expect
hey account listshows accounts.What I haven't verified
I have not sent a message from the CLI to confirm which address it actually uses, so I can't say from observation which of the five it picks or whether it matches the one the web app remembers. The concrete, reproducible part of this report is that the CLI offers no way to choose, and that three of my five addresses are not reachable through
--account.Environment
hey - 1.2.1 (release build, go1.26.6)
Analysed with Claude Opus 5. The observed behaviour above comes from a live account; addresses and sender IDs have been anonymised, and the section on what was not verified reflects the limits of that investigation.