An Emacs package for reading and managing Gmail using gws, the Google Workspace CLI.
- Inbox list with date, sender, subject, and labels
- Full email rendering (HTML via
shr, plain text fallback) - Archive, label, and read/unread management
- Search with arbitrary Gmail queries
- Quick navigation to Inbox, Starred, Snoozed, Sent, Drafts, All Mail
- Open any email or thread in a browser
- Emacs 27+ (uses
libxml-parse-html-region,transient,shr) gws, the Google Workspace CLI, set up and authenticated
Place gws.el and gws-gmail.el on your load-path:
(add-to-list 'load-path "/path/to/gws")
(require 'gws-gmail)Optionally set the path to the gws binary if it is not on $PATH:
(setq gws-binary-path "/path/to/gws")M-x gws-gmail
| Key | Action |
|---|---|
RET |
Open email at point |
e |
Archive email(s) |
r |
Mark as read |
u |
Mark as unread |
+ |
Add label |
- |
Remove label |
s |
Search / change query |
G |
Refresh |
g |
Navigation menu |
Select a region to act on multiple emails at once.
| Key | Action |
|---|---|
n |
Next email |
p |
Previous email |
e |
Archive |
+ |
Add label |
- |
Remove label |
G |
Refresh |
g |
Navigation menu |
Run tests:
make test
Run lint:
make lint

