lmstudio cli logo

lms - Command Line Tool for LM Studio

Built with lmstudio.js

# Installation `lms` ships with [LM Studio](https://lmstudio.ai/) 0.2.22 and newer. If you have trouble running the command, try running `npx lmstudio install-cli` to add it to path. To check if the bootstrapping was successful, run the following in a **👉 new terminal window 👈**: ```shell lms ``` # Usage You can use `lms --help` to see a list of all available subcommands. For details about each subcommand, run `lms --help`. Here are some frequently used commands: - `lms status` - To check the status of LM Studio. - `lms server start` - To start the local API server. - `lms server stop` - To stop the local API server. - `lms ls` - To list all downloaded models. - `lms ls --json` - To list all downloaded models in machine-readable JSON format. - `lms ls --decision` - To list only downloaded decision models. - `lms ps` - To list all loaded models available for inferencing. - `lms ps --json` - To list all loaded models available for inferencing in machine-readable JSON format. - `lms load` - To load a model - `lms load -y` - To load a model with maximum GPU acceleration without confirmation - `lms unload ` - To unload a model - `lms unload --all` - To unload all models - `lms create` - To create a new project with LM Studio SDK - `lms log stream` - To stream logs from LM Studio ## Local app selection `lms` prefers a running LM Studio or llmster over Bionic. It connects to Bionic when Bionic is the only running app, without starting another backend. When none are running, it tries valid recorded installations in this order: llmster, LM Studio, Bionic. Missing or stale installations are skipped. Discovery, CLI authentication, and REST server settings all come from the selected app. Bionic uses `~/.lmstudio/apps/bionic/.internal`; LM Studio and llmster retain `~/.lmstudio/.internal` (under your configured LM Studio home). Shared model and runtime storage is unchanged. `lms status`, `lms server status`, and `lms server stop` do not start an app. In development, `LMS_API_SERVER_INFO_PATH` selects one exact instance and never falls back to another app or starts one if that instance is unavailable. # Contributing The CLI is part of the [lmstudio.js monorepo](https://github.com/lmstudio-ai/lmstudio.js) and cannot be built standalone. ## Building and Testing the CLI ```bash # Clone and build the entire monorepo git clone https://github.com/lmstudio-ai/lmstudio-js.git --recursive cd lmstudio-js npm install npm run build # Test your CLI changes node publish/cli/dist/index.js ``` **Example:** ```bash node publish/cli/dist/index.js --help node publish/cli/dist/index.js status ``` See [CONTRIBUTING.md](CONTRIBUTING.md) for more information.