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

When troubleshooting credentials, check CLI --api-key, saved auth.json, provider settings in models.json, and the process environment. If a provider has several credential sources, verify the selected account and endpoint.

Subscription login

Choose Step Plan for an account on platform.stepfun.com, or Step Plan Oversea for an account on platform.stepfun.ai. 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. For sign-in from SSH, server, or container terminals, see Sign in remotely.

Step API endpoints

When configuring a Step API key through the environment, set STEP_BASE_URL for the account and billing channel: Bash example for a Step Plan key on stepfun.ai:
Keep the key out of repositories and shared material. Anyone who obtains it can make model requests against your account and incur usage.

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 through Step sign-in live in ~/.stepcode/auth.json; do not commit this file. See Environment variables for runtime environment variables.

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 apiKey placeholder. Local services without authentication still require this field to appear in /model; 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. Ollama / vLLM / SGLang often need supportsDeveloperRole = false and supportsReasoningEffort = false in compat. See FAQ for model loading and login troubleshooting.

Switching models

  • /model opens the picker; Enter saves the startup default. The Recent section at the top lists recently used models, up to 10, with repeats moved to the top; the list is saved globally and shared across sessions.
  • Ctrl+P cycles enabledModels; see Keyboard shortcuts for reverse cycling.
  • Use step --provider <provider> --model <model-ID> on the command line.
  • /effort changes thinking level; available levels and effective behavior depend on the model.
See Configuration files for default model settings.

Sign in remotely

In an SSH, server, or container terminal, run step login --no-browser to get an authorization link, then complete sign-in in a browser on this or another device. The command still requires an interactive terminal and does not depend on a local callback port.