models.json, including Ollama, vLLM, and LM Studio.
Connection methods
Credential priority is CLI
--api-key, saved auth.json, environment variables, then the custom provider key in models.json. auth.json uses 0600 permissions, and file credentials take precedence over environment variables.
Subscription login
/logout to clear the corresponding credentials.
Choosing another channel does not automatically use your subscription quota. Available models and allowances depend on the account. See Step Plan.
The login picker also offers Claude Pro/Max, ChatGPT Plus/Pro (Codex), GitHub Copilot, and xAI. Follow each platform’s terms and account permissions.
API key providers
For example, configure Anthropic in Bash or Zsh:
/login live in ~/.stepcode/auth.json; do not commit this file.
Cloud platforms
Deployment names, available regions, and IAM permissions are managed by the cloud platform. Confirm access to the target model before selecting it in Step Code.
Custom models (models.json)
Edit~/.stepcode/models.json, then reopen /model to load changes. This example connects to local Ollama:
ollama is a nonempty placeholder for a local service; authenticated remote services require real credentials.
Model fields include
id, name, reasoning, contextWindow, maxTokens, cost, thinkingLevelMap, and samplingParams. id is required. contextWindow defaults to 128,000 and maxTokens to 16,384; override them to match model specifications.
samplingParams merges sampling parameters into OpenAI-compatible requests and may override named request fields. Do not add unsupported fields. Setting only baseUrl overrides a built-in provider’s endpoint; models updates matching IDs and adds new ones.
Local services without authentication still require a placeholder apiKey to appear in /model. Ollama / vLLM / SGLang often need supportsDeveloperRole = false and supportsReasoningEffort = false in compat.
Switching models
/modelopens the picker; Ctrl+S saves the startup default.- Ctrl+P cycles
enabledModels; see Keyboard shortcuts for reverse cycling. - Use
step --provider <provider> --model <model-ID>on the command line. /thinkingor/effortchanges thinking level; available levels and effective behavior depend on the model.

