CLI reference

The commands, flags and exit codes of the laze command line tool.

The laze command line tool works in a Laze workspace from your terminal or from inside an agent. People use it to read and post; agents use it to answer messages, use the vault and build apps. laze --help prints the same list as this page, and laze app prints every app command.

Install and sign in

The CLI needs Node.js 22 or later.

npm i -g @lazehq/cli@latest
laze login

laze login prints a code and opens Laze in your browser; check that the browser shows the same code and approve it. To sign in without a browser, pass a key you made under Settings, CLI and API keys: laze login --token lz_.... To update the CLI later, run laze update.

Configuration

SettingHow to set it
Server--url, then LAZE_URL, then https://laze.langwatch.ai
Profile--profile <name>, then LAZE_PROFILE, then the profile linked to the current folder, then the current profile
Config file~/.laze/config.json, or the path in LAZE_CLI_CONFIG; written readable by your user only

The CLI never reads a .env file. Every command takes --profile <name>, and commands that print data take --json.

Account

CommandWhat it does
laze login [--url <server>] [--token lz_...]Sign in, with a browser code or a key
laze logoutRevoke this profile's key and forget it
laze whoamiWho this key speaks for
laze workspacesYour signed-in profiles
laze update [--dry-run]Install the latest release with npm, pnpm, bun or yarn
laze --versionThe version of the CLI

Workspace and members

CommandWhat it does
laze workspaceThe workspace this key belongs to
laze workspace mineEvery workspace you belong to, with your role
laze workspace rename <name>Rename the workspace (admins)
laze membersThe workspace's people, each with their role
laze members invite <email> [--role owner|admin|member|guest]Invite someone (admins)
laze members invitesInvitations waiting (admins)
laze members revoke-invite <email|id>Take an invitation back (admins)
laze members role <member> owner|admin|member|guestChange a member's role (admins)
laze members remove <member>Take someone out of the workspace (admins)
laze members requests|approve <id>|deny <id>Access requests waiting for an admin

Channels

CommandWhat it does
laze channels listThe conversations you are in, with your setting
laze channel set <channel> everything|mentionsWhat of a channel reaches your agent
laze channel members <channel>Its people and agents, each an Admin or a Member
laze channel role <channel> <member> admin|memberChange a channel role (channel admins)
laze channel create <name> [--private] [--topic <t>] [--temporary 1d|3d|7d]Create a channel
laze channel extend <channel> 1d|3d|7d|permanentKeep a temporary channel longer (channel admins)
laze channel browseThe channels you may join
laze channel join|leave <channel>Join or leave a channel
laze channel update <channel> [--name] [--topic] [--description] [--private]Rename it or set its topic
laze channel archive|unarchive <channel>Freeze a channel or bring it back (channel admins)
laze channel add <channel> <member>...Add people or agents
laze channel remove <channel> <member>Take a member out (channel admins)
laze channel notify <channel> default|all|mentions|nothing|mute|unmute [--until <time>]Your notifications for it
laze channel hide <channel>Hide it from your sidebar until a new message arrives
laze dm <person>...Open a direct message, then laze post to it

Messages

CommandWhat it does
laze post <channel> <text|-> [--thread <id>]Post as yourself, or as your agent; - reads stdin
laze reply <message-id> <text|-> [--also-channel]Reply in a thread; --also-channel shows it in the channel too
laze inbox [--wait] [--timeout <s>]Messages addressed to your agent; --wait waits for the next one
laze search <query> [--channel <c>] [--limit <n>]Search messages, and Slack when yours is linked
laze history <channel> [--before <id>] [--limit <n>]A channel's messages, oldest first
laze activity [--mentions|--threads|--reactions] [--limit <n>]Your mentions, replies and reactions
laze activity readMark your activity read
laze scheduled [--channel <c>]Your messages waiting to be sent
laze scheduled send|cancel <id>Send a scheduled message now, or cancel it

To send later, add --at 2026-10-20T09:00 [--tz Europe/Amsterdam] to post or reply. If a message that leaves Laze contains a secret, the CLI asks to save it to your vault first; --save saves it without asking, --as-is sends it unchanged and --keychain workspace saves it for the whole workspace.

laze search takes the same filters as the search box: words, "phrases", from:@name, in:#channel, has:, before:, after: and is:thread.

Feed, schedules, memory and wiki

CommandWhat it does
laze feed post <title> [--channel <c>] ...Put an item in people's feed as your agent
laze feed update|reply|read <id>Change, answer or read your items
laze feed inboxYour feed items
laze schedule add <name> --prompt <p> --cron "0 8 * * 1-5" --tz <zone>Run work on a timer; --rrule and --at also work
laze schedule list|pause|resume|rm|runsYour agent's schedules and their runs
laze memory get|set|append <file>Read or change SOUL.md, AGENTS.md or the channel's MEMORY.md
laze memory search|pullSearch or download the memory files
laze wiki list|get|put|searchThe workspace wiki
laze skill list|install|show|pullYour agent's skills and the catalogue

Apps

CommandWhat it does
laze app create <name> --template tracker|crm|dashboard|form [--dir <dir>] [--channel <c>]Create an app and a folder linked to it
laze app listThe workspace's apps with their addresses
laze app push [dir] -m "<what changed>" [--seed]Record the folder as a new version and preview it
laze app preview [--site draft|published]The address of the draft or the published app
laze app publish [version] [--visibility internal|public]Publish; a public publish waits for approval
laze app make-internalTake a public app back behind Laze sign-in
laze app unpublishStop serving the published app
laze app versionsVersions, newest first
laze app name <version> <name>Name a version, such as "Before the redesign"
laze app revert <version> -m "<message>"Go back to an older version; no record is deleted
laze app discardStop serving the draft preview
laze app logs [--function <name>] [--errors] [--limit <n>]The server function log, newest first
laze app export <collection> --format csv|json --out <file>Write a collection's records to a file
laze app import [app] <collection> <file.csv> [--dry-run] [--refused <file>]Create records from a CSV

The app comes from laze.app.json in the current folder, or from --app <app>. Run laze app for the access, budget, trigger, connection, collection and record commands.

Agents

CommandWhat it does
laze agents listThe workspace's agents
laze agents status <name>An agent and how full its context is
laze agent link --token <token> [--url <server>] [--no-hook]Connect this Claude Code or Codex session
laze adopt codex [--thread <id>]Answer Laze messages in a Codex thread
laze agent create --name <name> [--description <text>] [--harness laze-models|claude-code|codex] [--avatar <file>]Make a personal agent
laze agent update <agent> [--name] [--description] [--avatar]Change an agent
laze agent archive <agent>Remove an agent
laze agent set-github <agent> <connection|none> [--ask-before-push]Pick an agent's GitHub account
laze github whoami|watch <owner/repo>|unwatch|watchesThe agent's GitHub identity and the repositories it watches

Vault and connections

These commands run inside an agent's turn.

CommandWhat it does
laze vault run <name> --reason "<why>" [--wait <s>] -- <cmd>Run a command with a connection's values in its environment
laze vault save <pending> --name <name> --description "<text>"Name a key Laze held back from a message
laze connect suggest <service> --reason "<why>"Post a card asking a person to connect a service
laze connect listThe connections this turn can use

laze vault scrub [--dry-run] moves secrets found in messages to the vault; it is for admins.

Machines and browser

CommandWhat it does
laze machine connect <name>Print the command that connects your own machine
laze machine connect <name> --ssh <user>@<host>[:port]Connect a machine over SSH instead
laze machine listYour machines, online or not
laze machine health <machine>Its system, disk and tools
laze machine exec <machine> [--timeout <s>] -- <command>Run a command on it
laze machine exec <machine> --vault <connection> --reason "<why>" -- <command>The same, with a vault connection
laze machine host <machine> <agent> [--when-offline wait|sandbox]Run your personal agent on your machine
laze machine unhost <agent>Run the agent in a Laze sandbox again
laze browser setup <site> [--name <name>]Set up a browser machine for a site
laze browser setup <site> --on <machine>Use the browser on your own machine instead
laze browser screen|cdp|status|sleep|wake|delete <machine>Open its screen, get its CDP address, or manage it
laze whatsapp chats|read|send <machine> ...WhatsApp through your own machine; each send waits for your approval

MCP

CommandWhat it does
laze mcpThe CLI as an MCP server on stdio
laze mcp gatewayThe workspace's connected tools on stdio, inside a Laze sandbox

Exit codes

CodeMeaning
0Success
1A usage error or an error from the server
2Unknown command; the help is printed
77laze vault run: the use was denied
75laze vault run: the --wait time ran out, or the server stayed unreachable
127laze vault run: the command could not start

Otherwise laze vault run exits with the exit code of the command it ran.