Toollist CLI is the public command-line client for Toollist. It gives you a fast way to authenticate, upload files, inspect your workspace, and run hosted Toollist tools from scripts, terminals, and agent workflows.
Requires Node.js 18.18 or newer.
Run it without installing anything:
npx toolist-cli@latest --helpInstall it globally:
npm install -g toolist-cli
toolist --helpAuthenticate with Toollist:
npx toolist-cli@latest loginInspect the current identity:
npx toolist-cli@latest whoamiUpload a public file:
npx toolist-cli@latest files upload --input ./photo.jpg --public --jsonToollist CLI has three built-in hosted environments:
prod->https://tooli.sttest->https://test.tooli.stdev->http://localhost:3024
If you do not pass any environment flags, the CLI resolves the target in this order:
--base-url--envTOOLLIST_ENV- saved config active environment
prod
--base-url is for self-hosted or custom deployments. Hosted environment
selection always uses the canonical Toollist URLs above, even if you previously
saved a profile for that environment.
Examples:
npx toolist-cli@latest login --env test
npx toolist-cli@latest whoami --env prod
TOOLIST_ENV=dev npx toolist-cli@latest files upload --input ./photo.jpg
npx toolist-cli@latest tools list --base-url https://self-hosted.example.com --token $TOOLIST_TOKENAfter logging in, commands reuse the saved login automatically. You only need
--token when you want to override saved credentials explicitly.
Run a high-level image conversion:
npx toolist-cli@latest image convert --input ./photo.jpg --to webp --compress smallest --sync --waitImage conversion, resize, and crop commands also support compression presets:
--compress balancedmaps toquality: 75--compress smallmaps toquality: 55--compress smallestmaps toquality: 35--to webpdefaults to--compress smallwhen neither--qualitynor--compressis provided.- Explicit
--qualitytakes precedence when both options are provided.
Recommended article image conversion:
npx toolist-cli@latest image convert --input ./demo.png --to webp --compress smallest --sync --wait --output ./demo.webpBatch conversion:
npx toolist-cli@latest image convert-batch --input-glob './images/*.png' --to webp --compress smallest --wait --output-dir ./images-webpRemove a watermark from a single image:
npx toolist-cli@latest image remove-watermark --input ./photo.jpg --wait --output ./photo-clean.jpgRemove the background from a single image:
npx toolist-cli@latest image remove-background --input ./photo.png --wait --output ./photo-background-removed.pngResize an image and write the derived artifact locally:
npx toolist-cli@latest image resize --input ./photo.jpg --width 1200 --to webp --sync --wait --output ./photo-1200.webpCrop an image to a bounding box and download the result:
npx toolist-cli@latest image crop --input ./photo.jpg --x 120 --y 80 --width 640 --height 480 --to png --sync --wait --output ./photo-crop.pngConvert a DOCX file into a Markdown bundle:
npx toolist-cli@latest document docx-to-markdown --input ./document.docx --wait --output ./bundle.zipConvert multiple DOCX files into Markdown bundles:
npx toolist-cli@latest document docx-to-markdown-batch --inputs ./chapter-1.docx ./chapter-2.docx --wait --output ./results.zipRun a manifest-driven batch:
npx toolist-cli@latest batch run --manifest ./batch.jsonList available hosted tools:
npx toolist-cli@latest tools list --env testExample manifest:
{
"version": 1,
"defaults": {
"concurrency": 2,
"wait": true,
"download_outputs": true,
"output_dir": "./outputs"
},
"items": [
{
"id": "resize-1",
"tool_name": "image.resize",
"input_path": "./photo.jpg",
"input": {
"width": 1200,
"target_mime_type": "image/webp"
}
},
{
"id": "crop-1",
"tool_name": "image.crop",
"input_path": "./photo.jpg",
"input": {
"x": 0,
"y": 0,
"width": 640,
"height": 480,
"target_mime_type": "image/webp"
}
}
]
}npm install
npm run lint
npm test
npm run buildAfter building, the executable is available at dist/cli.js.
Issues and pull requests are welcome. Before opening a release-oriented change,
make sure you run the local checks above and describe any hosted test
validation you performed.
Maintainers should also read:
Releases publish to npm through GitHub Actions after the pre-release gate has passed. See docs/release-handbook.md for the maintainer checklist.
Released under the MIT License.