Repository navigation
Releases: agmonetti/lazyteams
Release list
v0.1.4
Full Changelog: v0.1.3...v0.1.4
v0.1.3
v0.1.2
What's Changed
Fixed
- DMs – unread detection: Improved reliability of the unread badge using the chat's
lastUpdateTimeand a more flexible consumption-horizon identity match. Sending a message now immediately marks the conversation as read. (2996a74) - Auth – token renewal loop: Cleaned stale Playwright lock symlinks on startup and added a guard that prevents the auth helper from entering an infinite renewal cycle. (e355736)
- UI – hidden teams/channels persistence: Hidden-teams and hidden-channels preferences are now correctly persisted across restarts. Navigation now gracefully falls back to the first visible item when the remembered index is hidden. (e56fcde)
- UI – layout: Teams header stays anchored at the top. The channels list is now windowed with overflow indicators, preventing it from pushing Teams off-screen. Removed the redundant "Chats" sub-header in the DMs workspace for consistent vertical alignment. (ad10a2a)
- Files – breadcrumb during auto-refresh: Auto-refresh no longer resets to the channel root while the user is browsing a subfolder, keeping the breadcrumb and file listing in sync. (d31be86)
- Self-updater – file permissions:
--updateno longer strips execute bits from the installed binary on Unix systems. The replacement now preserves the destination's existing mode and always ensures the executable bit is set. (b2b2439)
Added
- Files – metadata toggle: Press
tin the Files view to show or hide file metadata (size, modified date, etc.). The preference is persisted across sessions. (32cf51c)
Internal / CI
- Centralized cross-platform release builds in a new
make disttarget. Themake releasetarget now validates the version, checks the working tree, pushes the branch and tag, and rolls back the tag on failure. - Fixed duplicate checksum lines in
SHA256SUMScaused by an overlapping glob pattern.
Full Changelog: v0.1.1...v0.1.2
v0.1.1
lazyteams v0.1.1
What's new
lazyteams --update— the TUI can now update itself and the auth helper
from the latest GitHub release. It downloads the matching platform binaries,
verifies each against the release'sSHA256SUMSbefore touching anything,
and restarts after confirmation.- Self-healing recovery — if the teams list or your profile fails to load
once at startup (transient network error or a race with token renewal), the
app now retries automatically instead of leaving a blank Teams list or
mis-marking DMs as unread. - Update banner — when a new version is available, the footer shows the
notice for 60 seconds after launch, then returns to the normal hints.
Assets
Prebuilt binaries for linux (amd64/arm64), macOS (amd64/arm64) and
Windows (amd64) are attached. A SHA256SUMS file with the checksum of every
binary is included and verified by lazyteams --update.
# Example for Linux amd64
chmod +x ./lazyteams-linux-amd64
./lazyteams-linux-amd64 # or lazyteams-auth-linux-amd64 on first runRename the downloaded file to match your platform and architecture from the
release assets above.
Notes
--updaterequires a versioned build (adevbuild always sees any release
as newer). See the Updating docs.- Not affiliated with Microsoft — independent, educational, unofficial.
- Licensed under GPLv3.
v0.1.0
lazyteams v0.1.0
lazyteams is a keyboard-driven Microsoft Teams client that runs entirely in your terminal — no Electron, no browser. It talks directly to the Microsoft Graph and Teams APIs with an authenticated session, and renders everything with Bubble Tea.
What you get
- 4 workspaces — Teams & Channels, DMs & Group Chats, Activity, and Education Assignments.
- Full chat — send, edit and delete messages; threaded replies; @mentions autocomplete; reactions; read receipts; clipboard image paste (
Ctrl+P); native Markdown rendering; live search (/); infinite scroll. - Files — recursive Drive browser, chunked uploads, multi-file downloads, inline text preview, Office Online fallback, create/delete folders.
- Team management — create/delete teams and channels, manage members, hide/unhide items.
- Direct messages — search users (including external by exact email), personal notes auto-discovery, dynamic sorting by unread + activity, presence indicators.
- Assignments — view instructions, download reference materials, upload/submit/undo-submit your work.
- Presence — read your contacts' status and set your own.
- Mobile mode — single-panel layout for narrow terminals (
Ctrl+B, or automatic under 120 columns).
How it works
On first run, lazyteams-auth opens a browser for your Microsoft login, captures the session tokens, and stores them locally (~/.config/lazyteams/tokens.env). The TUI then renews expired tokens automatically in the background. Nothing is sent anywhere except to Microsoft's own endpoints using your own session.
Install
Static binaries for linux (amd64/arm64), macOS (amd64/arm64) and Windows (amd64) are attached to this release.
# Example for Linux amd64
chmod +x ./lazyteams-linux-amd64
./lazyteams-linux-amd64 # or lazyteams-auth-linux-amd64 on first runRename the downloaded file to match your platform and architecture from the assets above. Prefer building from source? See the README — you only need Go 1.26.6+.