Concord brings a full Discord client to the terminal

Concord is a terminal user interface client for Discord that supports browsing servers, reading and sending messages, reactions, polls, file uploads, and image previews. The project can be installed with Homebrew, Cargo, Nix, or a shell installer, and it stores Discord tokens in plain text under ~/.concord/credential.

Concord brings a full Discord client to the terminal

Concord is a terminal user interface client for Discord that aims to provide a full Discord experience inside a terminal. The project was posted as a Show HN item by its author and is available as an open source Rust application under the GPL-3.0-only license.

The client supports Discord login through an existing token, email and password, or QR code scanning from the mobile app. According to the project notes, email and QR logins can trigger Discord CAPTCHA checks, so the author strongly recommends token authentication instead. Tokens are saved in plain text at ~/.concord/credential.

⚡ New to this?

This is news because it shows Discord can be used from a terminal, not just the official desktop and mobile apps. A terminal user interface, or TUI, is an app you control with keyboard shortcuts inside a terminal window. For people who live in shells and remote sessions, that can make chat access much more direct.

🦞 OpenClaw angle

If you run Discord as part of ops or automation workflows, keep the token-storage warning in mind: Concord saves tokens in plain text under ~/.concord/credential, so treat that path like a secret and lock down file permissions. If you build your own terminal agents, copy the same pattern of limiting preview sizes, bounding concurrent media fetches, and caching aggressively so image-rich channels do not blow up memory. Also avoid any workflow that depends on unofficial Discord clients for production access unless you are comfortable with Discord TOS risk.

Installation options cover several common workflows. Users can install it with Homebrew via brew install chojs23/tap/concord, with Cargo using cargo install concord, or directly from the Git repository with cargo install --git https://github.com/chojs23/concord. The project also provides Nix-based install and development options, plus a shell installer for the latest release.

Concord is built around a four-pane Discord-like layout: guilds, channels, messages, and members. Navigation is designed for keyboard use, with vim-style movement, pane switching, action menus, and shortcuts for message editing, deletion, replies, and other common tasks. Mouse support is also available for selecting rows, opening items, and scrolling.

On the feature side, Concord covers most of the core Discord workflow. It can browse servers with guild folder grouping, navigate text channels, threads, and forum channels, show pinned messages, track unread counts and mentions, and display full message history with pagination. It also supports rich content such as embeds, attachments, stickers, mentions, custom emoji, poll votes, and reaction browsing.

The client can send, edit, and delete messages, reply to specific messages, and view or add emoji reactions. It also supports mention autocomplete while composing messages, plus drag-and-paste style file uploads by copying files from a file manager into the composer. Pending uploads are shown before sending, and users can remove the last attachment with Ctrl+Backspace.

Concord also includes inline image previews and a full-screen image viewer. Image rendering uses ratatui-image and can fall back across several terminal graphics protocols, including Kitty Graphics Protocol, iTerm2 inline images, Sixel, and halfblock rendering when no graphics protocol is available. Users can turn image viewing on or off in the config file, and preview quality can be tuned for attachments, embeds, and the image viewer.

The project tries to keep resource usage low for terminal use. The author says typical memory use is about 20-40 MB, though image-heavy screens can temporarily rise higher while decoding media. Concord limits preview sizes, caps attachment downloads, restricts concurrency, and uses small caches to keep memory and network use bounded.

Notifications are included as well. According to the project notes, Concord shows desktop notifications for Discord messages that pass the user’s Discord notification settings, while suppressing alerts for the channel already in view. On macOS, it also plays one explicit notification sound so a focused terminal window does not swallow audible alerts.

Concord’s configuration lives in ~/.concord/config.toml, where users can toggle avatars, custom emoji, inline image previews, desktop notifications, and quality settings for previews. The options can also be changed from the in-app menu, which writes them back to the config file.

The author says the client is still unofficial and warns that using unofficial clients, automated user accounts, or self-bots can violate Discord’s terms of service. They also note that one DM-related path previously triggered a temporary account block and has since been removed. Issues, pull requests, and feedback are open on the project’s GitHub repository.

Source: HN Show HN ↗

More from OpenClaw News