Repository navigation
0.28.0
Added
zm guide [name]: scenarios, the commands for a common task in order. Five ship with the package:
catch-up,find-quote,prepare-meeting,person-in-meetingsandarchive-recordings; each prints its goal,
every step as a command with why, and what to look at.--jsongives the same as data. Under "Works with" the list
names memo'sperson-brieffor one person across every tool. CI checks that every step's command and options
parse.- Every leaf command's
--helpends with Returns, Next usually and Example, and the commands document carries
the same three lines under each command. zm help optionsprints the options for every command;zm help <command>prints that command's help.
Changed — may break callers
- Adopt Core 0.345.0 and Base 0.46.0. An SDK consumer that pins Core or Base beside zoom moves with them.
zm --helpand a barezmshow a short first screen instead of commander's full help: what zm is for, what
it can do that an API client would not, the other WireCat tools, and where to go next (commands,guide,
help options,skill show). It no longer lists every command or global option;zm --help-allprints the old
help. Exit codes are unchanged.meetings listandmeetings projects evidencerefuse a word that starts with--as an unknown option, with
commander's suggestion, instead of reading it as query text; after--every word is query. Known problem: this
also refuses their--help(exit 2);-handzm help meetings listshow the help.
Security
ZM_READ_ONLY=1makes a run change nothing. Every command that writes to Zoom, the meeting store or a local
file —meetings sync,import,export,link,update,transcribe,embeddings, recordings downloads and
archive jobs,watch,config set,skill install,session startand remote meeting changes — is refused with
exit 5 before it connects to anything, previews included; so issearch meetings --model, which builds missing
vectors. Reads, word search,batchandserve --mcpstill run.
The lock is judged from each command's declared effects, so a new command that writes is refused too. Before, the
variable worked only in tg, max and wa.
Fixed
skill installandskill showreport a usage mistake, such aszm skill install --yes, as the same JSON error
with exit code 2 as every other command, instead of commander's plain text with exit code 1.session startwith piped or JSON output no longer says "remove --no-input" when that flag was not given. It now
says to add--interactive; with no interactive terminal or under CI it says to run the login in one.- The installation and sessions guides check
session statusforstate: saved. They saidlogged_in: true, which
onlysession startprints. meetings syncwithoutzoom.client_idnow says to set the client ID, not to runsession startfirst.- A bad
--pause(such as0s) no longer says "timeout must be"; it says what duration is expected. - The skill source no longer carries a stale
version;skill installstamps the package version. - Guides now say that
zmtakes no profile argument, how to remove the login from the keyring, why several Zoom
users on one machine need separateZM_CONFIG_DIR, and where files go; the Memo examples in the search guide match
current Memo options; the MCP tool count and optional flags are complete.
Full history: CHANGELOG.md