Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Expose Message-ID and threading headers in message JSON

Open
#558 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
go
Domain
api, cli

Research direction

Start with the hey thread read --json output and the SDK's GetMessage to see which message fields are currently returned. First check whether the HEY API response includes Message-ID, In-Reply-To or References at all, since that decides whether this is a model and JSON change or needs raw source access. Done means the chosen fields (or the raw source) appear in the JSON output for a message, confirmed against version 1.8.0. The issue leaves open which of the two approaches to take, so confirm that with a maintainer first.

Written by the indexing model from the issue text.

Description

hey thread read --json and the SDK’s GetMessage currently return HEY’s internal IDs, but not the email headers Message-ID, In-Reply-To, or References. I also couldn’t find a way to retrieve the raw message source.

I’m migrating to HEY and collecting mail from several external addresses, so the same email can appear in more than one mailbox. Without the original Message-ID, I have to match those copies by sender, subject, and timestamp, which isn’t reliable. The threading headers would also help reconstruct conversations that started outside HEY.

Could the message model and JSON output expose these fields where available?

  • message_id
  • in_reply_to
  • references

Alternatively, access to the raw message source would let me extract the headers myself.

Tested with version 1.8.0.

Related: #468, which covers outgoing mail only.

Dominant language
Go
Stars
409
Forks
49
Avg merge
23h 49m
Merged PRs (30d)
70

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from basecamp/hey-cli

All issues in basecamp/hey-cli

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.