Installation and upgrades
The step command is not found after installation
Open a new terminal so PATH changes take effect. The default installation directory is~/.stepcode/bin, or %USERPROFILE%\.stepcode\bin on Windows. Check that the executable exists and whether you chose a custom path.
The installer writes a marked PATH block. Check the corresponding shell login configuration.
How do I upgrade?
Runstep update. See Updates for choosing a version or uninstalling.
Login and models
Which platform should I choose in /login?
Choose Step Plan for a subscription onplatform.stepfun.com, or Step Plan Oversea for a subscription on platform.stepfun.ai. For pay-as-you-go, use the Open Platform API key for the account’s platform. For other providers, use environment variables or custom provider settings; see Authentication and models.
How do I sign in from a remote terminal?
In an SSH, server, or container terminal, runstep 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.
Why is an old key used after I update an environment variable?
Saved accounts and custom provider settings can affect the selected credentials. Checkauth.json, models.json, launch options, and the process environment, then restart from the terminal with the intended variables. See Authentication and models.
Why does a custom model not appear in /model?
Check JSON syntax, model IDs, and provider settings inmodels.json. Local services without authentication still need a nonempty apiKey placeholder. Reopen /model after saving; restart if login or environment variables changed.
Why did usage increase after switching models?
The new model may not reuse the previous prompt cache, and pricing and tokenization can differ. Check the model, session usage, and account bill rather than estimating costs from conversation length alone.Interaction
Shift+Enter sends a message instead of a newline
Use Ctrl+J or Alt+Enter. Some terminals intercept key combinations; adjust terminal forwarding or Step Code keybindings.Why do tools run without approval prompts?
New interactive sessions without a configured permission mode default to Approve for Me, so routine calls do not request approval. Choose Ask when you want confirmation before file changes and commands. Operations matched by dangerous-command rules are handled separately, but the rules are not a security sandbox covering every risk. See Permissions and safety for mode behavior.Why did approval prompts reappear after upgrading?
Saved legacy permission modes reset to Ask. Run/permissions to select the mode you need.
Pasting an image fails
Use Ctrl+V, or Alt+V on Windows / WSL. Confirm that the clipboard contains an image, shortcuts do not conflict, and the model accepts images. Alternatively, reference a file withstep @screenshot.png.
MCP and plugins
An MCP server shows failed
Runstep mcp get <name>. For stdio, check command paths, arguments, dependencies, and variables. For HTTP, check the endpoint, credential variables, and authorization. Do not include real tokens in feedback.
MCP did not change after installing a plugin
Restart Step Code after installing or removing a plugin, then check/mcp. Confirm the program is installed, the project is trusted, and the server is not set to enabled = false.
Data and privacy
Where is data saved?
Global data defaults to~/.stepcode/; project resources use the project’s .stepcode/. See Data paths for the layout and cleanup.
Does a local agent mean code is never sent out?
No. Model calls send task-related content, and tools or plugins may access external services. Read-only tools do not modify files, but their results can enter model context. Confirm providers, data-handling requirements, and access scope before working on sensitive projects.How do I disable telemetry?
Set this in globalconfig.toml:
Feedback
Use/feedback. Include step --version, OS and terminal details, reproduction steps, and redacted errors. Review code, paths, and credentials before sharing session exports or logs.
