The Desktop client is a fork of Telegram Desktop, a different codebase from the Android client and with a smaller set of options. Everything below lives under Settings → Mercurygram unless a section says otherwise, and is off by default unless the Default column says otherwise. Options marked pre-release are not in the current stable build yet.
Secret chats
Upstream Telegram Desktop has no secret chats at all: the end-to-end encrypted chats that the mobile apps offer have never been implemented there. Mercurygram Desktop adds them, so a secret chat started on your phone is reachable from the computer.
Start one from Start secret chat in a contact's menu. The chat waits until the other side comes online to complete the key exchange, then behaves like the mobile one: an Encryption key fingerprint you can compare out of band, an optional self-destruct timer, and deletion that can cover both sides.
This is work in progress. The encryption core is covered by tests, but the feature is not yet at the polish level of the rest of the app; treat it as usable rather than finished, and keep the phone as the reference client.
General
| Option | What it does | Default |
|---|---|---|
| Show IDs in profile | Adds the user or chat ID to Profile Info. | Off |
| Hide stories | Removes the stories bar from the chat list entirely. | Off |
| Delete for everyone by default | Pre-ticks "Delete for everyone" in the delete dialog. You can still untick it. | Off |
| Message details menu | Adds a Message details entry to the message right-click menu, showing the message and peer IDs, the date and the author, plus an Export as JSON entry pre-release that copies the message's ID, sender, dates, text, reply, forward origin and views to the clipboard. | Off |
| Show character counter pre-release | Counts the characters in the message you are typing, for groups where a bot enforces a length limit. The over-limit counter shown while editing takes precedence. | Off |
| Keep deleted & edited messages pre-release | A message deleted on the server stays in the chat, faded and marked "deleted" next to its time, and can no longer be replied to. An edited message keeps the text it replaced, listed under Edit history in its right-click menu. In memory only, for the messages loaded when the delete or edit arrives: a restart or an unloaded chat drops them. Self-destructing messages and secret chats are never kept. | Off |
| Hide "All" folder tab | Removes the All folder tab from the folder strip. | Off |
| Hide Premium promo | Hides the Telegram Premium, Stars, TON, Business and gift rows in Settings. Unlocks nothing and does not touch sponsored messages. | Off |
| Launch folder | The chat list opens on the folder you pick. A folder that no longer exists falls back to the default. | Default folder |
Media
| Option | What it does | Default |
|---|---|---|
| Show all recent stickers | Lifts the 20-entry cap on the recent stickers row, showing every recent sticker the app has stored. | Off |
Privacy
Opt-in mitigations that keep queries and drafts off Telegram's servers.
| Option | What it does | Default |
|---|---|---|
| Disable global search | Search stops looking up public usernames, channels and messages across Telegram, and only covers your own chats and contacts. In-chat search is unaffected. | Off |
| Disable link previews | Stops the app fetching web page previews while composing, and marks outgoing messages so the server generates none either, so Telegram's servers never load the links you type or paste. Previews on messages you receive are unaffected. | Off |
| Disable AI text editor | Hides the AI button in the compose field, and disables its shortcut, so your draft is never sent to Telegram's AI service. | Off |
| Disable AI summaries | Hides the AI Summary button on incoming messages, so their text is never sent to Telegram's AI service. | Off |
| Open links in browser | Link clicks open the page in your browser instead of Instant View, which is rendered by Telegram's servers. The explicit Instant View button still works. | Off |
| Reduce network tracking pre-release | Rotates the session key every hour instead of once a day, so a passive observer has a harder time correlating your device across IP changes. Background network activity rises slightly, and the first key after a fresh login is still observable once. If the server refuses the shorter lifetime, it steps up to six and then twenty-four hours, and the note under this section says which. | Off |
| Strip tracking parameters pre-release | Removes click-tracking parameters (utm_*, fbclid, gclid, igsh and about seventy more) from links you open, links you copy out of a message, and links you paste into the message field. Site-specific ones go too, where they are only tracking on their own site: si on YouTube and Spotify, s/t on X, the share ids on TikTok and Instagram's stkn, ref/pd_rd_* on Amazon, ved on Google Search. Parameters that carry real meaning are kept, such as Instagram's img_index. The rest of the address is untouched. A paste that carried tracking is inserted as plain text. | Off |
| Keep drafts on this device pre-release | Unsent drafts are never uploaded to Telegram, so they stop appearing on your other devices. Clearing a draft still syncs, so a draft stored before you turned this on can be removed from the server. | Off |
| Start new chats as secret pre-release | The contacts box used to start a conversation (main menu, shortcut, the empty chat list button) becomes the secret chat picker, so picking someone starts an end-to-end encrypted chat. Existing chats are unaffected. | Off |
| Confirm Telegram links pre-release | Asks before opening t.me and tg:// links and shows the address first, against links that quietly join a channel or open a bot. Ctrl-click skips the question, as it does for external links. | Off |
Translation
| Option | What it does | Default |
|---|---|---|
| Alternative HTTP (Mozhi) pre-release | Every translation (the message box, the whole-chat bar, Translate in the message field) goes to a public Mozhi privacy proxy instead of Telegram, so Telegram never sees the text. The Engine row picks DuckDuckGo, Google or Yandex behind it, and Instance rotates across the default Mozhi instances or takes a custom URL. The instance operator can log what it translates. Links, mentions, code and custom emoji come back untouched; bold, italic, spoilers, quotes and hidden link labels are translated and keep their formatting. | Off |
Elsewhere in the app
| Option | Where | What it does |
|---|---|---|
| Lock when window is closed or minimized | Settings → Privacy and Security → Local passcode | Locks the app as soon as the last window goes to the tray or is minimized, instead of waiting for the auto-lock timer. Needs a local passcode. |
| Remove sponsored messages | Settings → Advanced → Experimental settings, under Mercurygram | Hides sponsored messages in channels. Kept behind Experimental on purpose: Telegram's API terms ask clients not to interfere with them, so it is yours to enable at your own discretion. Restarts the app. |
| Search operators pre-release | The in-chat search field | Typed filters next to the search text: from:username, before:/after:/date: (YYYY-MM-DD, today, yesterday) and type: (photo, video, voice, round, music, gif, file, link, contact, geo, poll, mention, pinned). Filtering runs on Telegram's servers through the same search API fields the official apps' filter UIs use, so no extra data leaves the device; a token that does not parse is searched for literally. |
| Mercurygram folder | Settings → Folders, on the create and edit screens | A switch that keeps the folder off Telegram's folder API, so it counts against neither the folder limit nor the chats-per-folder limit. Mercurygram folders carry a "Mercurygram" tag in the folder list and are synced between your Mercurygram apps through one JSON document in Saved Messages, the same one the Android client reads, so Telegram learns nothing it did not already know. |
Always on
Some of the fork is not a toggle. These behaviours are always active.
Privacy and networking
- CDN redirects are refused. When the server hands out a CDN redirect for a
download, the app declines it once per file, so your permanent
auth_key_idnever reaches a third-party CDN. If the datacenter insists, the download goes through the CDN rather than failing. pre-release - No DNS-over-HTTPS fallback to Google. Neither the config fallback nor the
proxy hostname resolver asks
dns.google.com, directly or through the google.com domains upstream fronts it behind. Cloudflare and the Firestore fallback still cover both. pre-release
Premium gates removed
- Eight accounts instead of three.
- Up to 100 pinned chats in "All chats" (200 with Premium), as many as the archive. The order is kept on this device; Telegram only gets the first 5 (10 with Premium), so other apps see a subset. pre-release
- Free folder reordering, including moving "All chats" off the first position.
- The Translate Entire Chats switch under Settings → Language, so the in-chat "Translate to X" bar can always be switched off, and the per-language "Do Not Translate" list next to it. pre-release
Interface
- Go to first message in the chat menu, jumps to the oldest message of a chat, group or channel. pre-release
- Mention and Translate in the message field's right-click menu when text is selected: Mention turns the selection into a mention of a contact you pick, Translate replaces it with its translation before sending. Not offered in secret chats. pre-release
- Stickers / GIFs / Games / Inline bots are four independent group permissions instead of Telegram's single bundled "Stickers & GIFs" toggle, both in the group defaults and in the per-member restriction editor.
- Clicking a mention opens the profile even when the app has never been told who that user is, for instance in a message restored from the local cache.
- Search that folds decorated Unicode fonts, so typing
Cucina italianafindsℂᑌℂℐℕᗅ ℐᝨᗅℒℐᗅℕᗅ. Applies to the chat list, forum topics, contact and member pickers, and the forward and share lists. The name as it was written keeps matching itself, so a chat named in Cyrillic, Greek or CJK is unaffected. - The animated 🍑 emoji, restored.
Builds and updates
Windows, macOS and Linux builds come from GitHub Releases, including arm64 builds for Windows and Linux that upstream does not ship, and Linux also has a Flathub package and a Fedora Copr build against the distribution's own libraries.
Because this is an unofficial fork, the builds are signed with Mercurygram's own update keys and the in-app updater points at the Mercurygram release server, not Telegram's. The Telegram API credentials are supplied at build time and are never committed, so anyone building from source uses their own.
Fixes carried ahead of upstream
The fork also carries fixes that are not Mercurygram features: collapsed community members no longer show up twice in folders that match by chat type, a use-after-free when leaving the admin log with the back button, a build failure on aarch64 in the chat exporter, a workaround for the webkitgtk renderer crash that took out every in-app webview (bot mini apps, payments, Instant View, web login) on some Linux graphics setups, and second-level context menus (Formatting, Spelling) ignoring mouse clicks on Windows.