Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

CLI quickstart

Use the CLI for an interactive, streaming conversation from a terminal. It can also configure llmshim and start the HTTP proxy.

Availability: Rust: wrapped by the CLI · CLI: interactive workflow · HTTP: available through llmshim proxy · Clients: separate

1. Install the binary

On macOS with Homebrew:

brew install sanjay920/tap/llmshim

Or install from source. The proxy feature keeps the proxy command available:

cargo install llmshim --features proxy

Running llmshim with no subcommand prints the command overview.

2. Configure a provider

llmshim configure

You can use environment variables instead. See Configure providers for precedence and the four supported key names.

3. Start chatting

llmshim chat

Choose a model at the prompt, then enter a message. The CLI streams each answer as it arrives. It requests reasoning_effort: "high" on every turn; reasoning returned by the provider is shown in dim gray before the answer.

The CLI keeps conversation history in memory for this process. Switch the next turn to another provider without clearing that history:

/model

Use /clear when you want a new conversation.

Attach an image

Attach a local image before the next message:

/image ./diagram.png

The CLI reads the file, converts it to a base64 data URI, and adds it to the next user message. /paste attempts to attach an image from the system clipboard on supported desktop environments.

Common operational tasks

llmshim models               # models for configured providers
llmshim set proxy.port 8080  # update one config value
llmshim get proxy.port       # read one config value
llmshim list                 # show masked keys and proxy settings
llmshim proxy                # start the HTTP API

This page covers the normal workflow. The exhaustive command and interactive slash-command list belongs in the CLI reference.