Configuration
Choose the Zoom app, local profile, file source and storage directories.
Change which app, source or local profile the tool uses, and check the settings before a pull or agent session. Public configuration selects the app and data paths; OAuth tokens remain in the system keyring. This reference gives the accepted keys and their defaults.
Settings
Set a value with zm config set <key> <value> and see them all with zm config show.
| Key | Meaning |
|---|---|
zoom.clientId | Public Client ID of the existing or new app; unset by default, required for API login |
account.profile | Local label for stored meetings; unset by default, required for store operations |
source | Where pull and watch read from: api (default) or files |
files.folder | Transcript folder for file-source pull/watch; unset by default |
files.timezone | the IANA zone of downloaded transcript filenames, for example Europe/Madrid; default UTC |
Check zm config show after editing. Switching account.profile does not switch the authenticated
Zoom user. Changing the client ID selects a different keyring entry, so authorize that app before
using its API. ZOOM_CLIENT_ID is not a runtime setting for the installed zm command; use
zm config set zoom.clientId rather than an environment variable copied from a development probe.
A malformed config still allows --help and --version; config commands report the error.
Find the configuration file
zm config set creates and updates config.json for you. It contains public settings, not Zoom
access tokens; you do not download this file from Marketplace. zm doctor --json reports its
actual path without checking the saved OAuth session.
| Platform | Default public configuration |
|---|---|
| Linux and macOS | ~/.config/zm/config.json, or the zm directory under XDG_CONFIG_HOME |
| Windows | %APPDATA%\zm\Config\config.json |
| Explicit override | config.json inside ZM_CONFIG_DIR |
Older macOS layouts are migrated when possible; doctor shows the path actually in use. Keep public app settings separate from keyring tokens and the shared meeting database.
Environment variables
| Variable | Effect |
|---|---|
ZM_CONFIG_DIR | overrides the configuration directory; changing it also changes the keyring service used for login |
MESSAGING_STORE | selects an explicit shared database path for import, pull, watch, meeting reads and MCP reads |
OPENAI_API_KEY | used by an explicitly selected OpenAI embedding endpoint (topic search) |
Directories otherwise follow the platform convention. The default shared database is wirecat.db
(where meetings are stored). Use the same environment in your
terminal and MCP entry; otherwise they can read different profiles or stores. Continue with
sessions to verify authorization separately from these public settings.