Skip to main content
Step Code supports subscription login, API keys, cloud platforms, and OpenAI / Anthropic / Google-compatible endpoints through 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

Choose Step Plan for China or Step Plan Oversea for overseas accounts. OAuth credentials refresh through the login flow. Use /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:
Replace the placeholder with that provider’s key. A Step key cannot be used for another provider. Keys saved with /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:
Prepare these models in Ollama first. 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

  • /model opens 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.
  • /thinking or /effort changes thinking level; available levels and effective behavior depend on the model.

Next steps