Problem
The channels.signal.reactionLevel: "ack" config option is defined but not implemented. Setting it to "ack" disables agent reactions but does NOT send automatic acknowledgment reactions when messages arrive.
Expected Behavior
When reactionLevel: "ack" is set:
- Signal should send an instant ack reaction (e.g., 👀) when a DM arrives
- This should happen before the agent starts processing (instant feedback to the user)
- Similar to how
messages.ackReactionScope works for other channels
Actual Behavior
- Setting
reactionLevel: "ack" only disables agent reactions
- No automatic ack reactions are sent
- Agent tool calls fail with:
"Signal agent reactions disabled (reactionLevel=\"ack\")"
Related Config
{
"messages": {
"ackReaction": "👀",
"ackReactionScope": "direct"
},
"channels": {
"signal": {
"reactionLevel": "ack"
}
}
}
Use Case
User wants instant visual feedback when their message is received (before agent processing starts). This is especially important for slower models or when the agent takes time to respond.
Implementation Notes
Looking at the code:
src/signal/reaction-level.ts defines the "ack" level and sets ackEnabled: true
- But
src/signal/monitor/event-handler.ts doesn't seem to use this flag to send reactions
- Other channels may already support
ackReactionScope - Signal needs similar integration
Workaround
Set reactionLevel: "minimal" and have the agent react manually via tool calls (but this comes after processing, not before).
Environment
- OpenClaw version: 2026.2.4
- Channel: Signal (signal-cli)
- OS: Linux (Debian-based)
Would love to see this implemented! Happy to test or provide more details. 🦞
Problem
The
channels.signal.reactionLevel: "ack"config option is defined but not implemented. Setting it to"ack"disables agent reactions but does NOT send automatic acknowledgment reactions when messages arrive.Expected Behavior
When
reactionLevel: "ack"is set:messages.ackReactionScopeworks for other channelsActual Behavior
reactionLevel: "ack"only disables agent reactions"Signal agent reactions disabled (reactionLevel=\"ack\")"Related Config
{ "messages": { "ackReaction": "👀", "ackReactionScope": "direct" }, "channels": { "signal": { "reactionLevel": "ack" } } }Use Case
User wants instant visual feedback when their message is received (before agent processing starts). This is especially important for slower models or when the agent takes time to respond.
Implementation Notes
Looking at the code:
src/signal/reaction-level.tsdefines the"ack"level and setsackEnabled: truesrc/signal/monitor/event-handler.tsdoesn't seem to use this flag to send reactionsackReactionScope- Signal needs similar integrationWorkaround
Set
reactionLevel: "minimal"and have the agent react manually via tool calls (but this comes after processing, not before).Environment
Would love to see this implemented! Happy to test or provide more details. 🦞