feat(telegram): forward full CC output in verbose mode#3196
Merged
Conversation
Add configurable verbose mode that forwards thinking blocks, tool call details, and code to Telegram instead of silencing them. Changes: - config.ts: add tgVerbose boolean (default: false), env AEGIS_TG_VERBOSE - telegram.ts: forward message.thinking as italic when verbose - telegram.ts: forward tool_use details with code formatting when verbose - server.ts: wire verbose flag to TelegramChannel config Usage: set AEGIS_TG_VERBOSE=true or tgVerbose: true in config. Without verbose: only assistant messages shown (existing behavior). With verbose: thinking and tool calls also forwarded to Telegram. Gate: tsc --noEmit ✓, build ✓, 1248 tests ✓ Closes #3190
Contributor
There was a problem hiding this comment.
🔧 Changes requested — 2 findings.
Finding #1 (Medium): feat-minor-bump-gate failing
Title is feat(telegram):... — needs approved-minor-bump label. Add label and re-run CI.
Finding #2 (HIGH): Markdown formatting in HTML parse_mode
The channel uses parse_mode HTML everywhere, but the new verbose messages use Markdown syntax:
- text renders as literal underscores in HTML mode, not italic. Use i tags instead.
- Backtick code blocks render as literal backticks. Use code and pre tags instead.
Fix: replace Markdown formatting with proper HTML tags consistent with the rest of the channel.
Otherwise clean: Config wiring correct (env var + config file + defaults), truncation sensible, 8 test fixtures updated, opt-in default.
Argus review finding: channel uses HTML parse_mode, not Markdown. Replace Markdown italic (_text_) with <i> via italic() helper. Replace Markdown backticks with <code> and <pre> via code() helper.
aegis-gh-agent Bot
pushed a commit
that referenced
this pull request
May 11, 2026
Documents PR #3196 — forward full CC output (thinking, tool calls, code) to Telegram via configurable verbose mode. Updates: - notifications.md: Verbose Mode section with behavior table - enterprise.md: AEGIS_TG_VERBOSE env var in config table - enterprise/01-architecture.md: AEGIS_TG_VERBOSE in env var inventory
2 tasks
aegis-gh-agent Bot
pushed a commit
that referenced
this pull request
May 11, 2026
Covers PRs #3176-#3197 merged after the initial CHANGELOG update (#3175): - Added: budget progress bars (#3183), Telegram verbose mode (#3196), dashboard i18n (#3192) - Fixed: RBAC guards (#3187), process reap (#3191), i18n aria-labels (#3195), security helpers (#3177) - Docs: threat matrix (#3176), blog (#3179), RBAC docs (#3188, #3193), tg-verbose docs (#3197)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements #3190 — forward full Claude Code output to Telegram (thinking, tool calls, code) via configurable verbose mode.
Changes
tgVerboseboolean (default:false), envAEGIS_TG_VERBOSEmessage.thinkingas 💭 italic text when verbosemessage.tool_usedetails with 🔧 code formatting when verboseverboseflag toTelegramChannelconfigtgVerbose: falsedefaultUsage
# Enable verbose Telegram output AEGIS_TG_VERBOSE=trueOr in config:
Behavior
message.thinkingmessage.tool_usetool.label+ code block (truncated 600 chars)message.assistantmessage.userVerification
Fixes #3190