Multi-network IRC
Keep separate networks organized without losing the fast, lightweight feel of IRC.
A love letter to classic IRC
A polished IRC client with classic protocol compatibility, modern UI patterns, privacy-conscious design, and a long-term vision for desktop and mobile.
Familiar, modern
SeraphIRC brings familiar IRC workflows into a calmer, more capable desktop experience.
Keep separate networks organized without losing the fast, lightweight feel of IRC.
Move between busy rooms and direct conversations with clear context and focus.
Authentication workflows are planned around common IRC network expectations.
Find recent conversations while keeping chat history under local user control.
See activity, joins, parts, and availability without turning the interface noisy.
A refined dark foundation with room for personal themes as the client matures.
No analytics, no social growth loops, and defaults shaped around user control.
The desktop alpha is the first step toward a broader cross-device IRC vision.
Protocol compatibility
SeraphIRC negotiates modern IRC capabilities where networks advertise them, while preserving classic IRC behavior as the baseline.
| Capability | Status | Alpha behavior |
|---|---|---|
sasl |
Supported | Requests SASL when enabled and advertised; PLAIN flow is implemented. |
server-time |
Supported | Parses @time and uses valid server timestamps for messages. |
account-notify |
Supported | Tracks account login/logout events and surfaces subtle channel updates. |
account-tag |
Supported | Parses @account metadata when present on messages or users. |
away-notify |
Supported | Tracks away and back changes while the capability is active. |
chghost |
Supported | Handles host changes and updates known ident/host state. |
extended-join |
Supported | Parses JOIN account and real-name metadata. |
cap-notify |
Supported | Handles CAP NEW and CAP DEL safely. |
message-tags |
Supported | Parses and unescapes generic IRCv3 tags in memory. |
echo-message |
Supported | Suppresses duplicate local echo and relies on server echo. |
batch |
Supported | Tracks batch start/end and preserves batch references in message metadata. |
multi-prefix |
Supported | Parses multiple prefixes such as @+nick. |
invite-notify |
Supported | Displays invite notifications without auto-joining channels. |
msgid |
Supported | Parses @msgid and preserves it in in-memory metadata. |
labeled-response |
Partial | Used for labeled WHOIS/NAMES; other response flows use fallback correlation. |
| Persistent IRCv3 metadata | Partial | Tag and msgid metadata is preserved in memory; persistence is not required yet. |
chathistory |
Not implemented | Future sync/history work is planned after the desktop alpha stabilizes. |
Why SeraphIRC?
IRC is a classic chat protocol that has been around for decades.
Still widely used today, IRC thrives in open source communities with a strong culture of privacy and user control. Many of us grew up on IRC, and we continue to love it for its simplicity, speed, and focus on conversation. No ads, no corporate gardens, no data collection, just low-friction conversation.
SeraphIRC is a love letter to that.
Many IRC clients feel locked in an older era of desktop software. SeraphIRC aims to preserve what makes IRC great while making the client experience feel modern, approachable, and polished for people who chat across multiple networks today.
Development status
SeraphIRC is currently in active alpha development. Core IRC functionality is being implemented and polished.