Summary
send-reply in the CLI appears to default to replying to sender only unless --reply-all is explicitly passed, which can cause agents to break threaded conversations with CC-heavy mail.
Finding
In src/main.rs, Commands::SendReply has reply_all: bool with no default override, and the handler injects reply_all only when the flag is set:
let mut args = json!({"in_reply_to": message_id, "body": body});
if reply_all {
args["reply_all"] = json!(true);
}
So behavior is currently opt-in.
Why this matters for agent flows
The current MCP skill instructions in skills/*/email-reply/* treat --reply-all as an optional additional flag and include separate CC-preservation guidance. For multi-recipient chains, agents can omit it and accidentally send only a direct-reply.
Impact
- Replies on CC-heavy threads may unintentionally go only to the original sender.
- This matches the reported behavior where agents forget reply-all in threaded mail with many recipients.
Suggested fix
- Make
send-reply default to reply_all = true.
- Keep an explicit opt-out path if needed (
--reply-to-sender or --no-reply-all) for compatibility.
- Update skill docs (
skills/*/email-reply/*) and CLI docs/help examples so reply-all is the default behavior.
- Add regression coverage: CLI tool-arg test asserting
reply_all is present by default for send_reply.
Note
I did not find SMTP daemon logic in this repo; this appears to be CLI/tooling + skill-instruction behavior rather than transport-layer SMTP code.
Summary
send-replyin the CLI appears to default to replying to sender only unless--reply-allis explicitly passed, which can cause agents to break threaded conversations with CC-heavy mail.Finding
In
src/main.rs,Commands::SendReplyhasreply_all: boolwith no default override, and the handler injectsreply_allonly when the flag is set:So behavior is currently opt-in.
Why this matters for agent flows
The current MCP skill instructions in
skills/*/email-reply/*treat--reply-allas an optional additional flag and include separate CC-preservation guidance. For multi-recipient chains, agents can omit it and accidentally send only a direct-reply.Impact
Suggested fix
send-replydefault toreply_all = true.--reply-to-senderor--no-reply-all) for compatibility.skills/*/email-reply/*) and CLI docs/help examples soreply-allis the default behavior.reply_allis present by default forsend_reply.Note
I did not find SMTP daemon logic in this repo; this appears to be CLI/tooling + skill-instruction behavior rather than transport-layer SMTP code.