Skip to main content
Use config.toml for default models, permissions, context compaction, the interface, and MCP servers. Temporary launch options do not automatically rewrite the file.

Configuration locations

Project configuration merges nested objects key by key and replaces arrays as a whole. Settings marked global-only, such as the proxy and default project trust, cannot be overridden by a project. The global file is created on first run. Writes use an atomic temporary-file-and-rename operation and preserve the leading comment block. TOML does not support null; unsupported expressions are stripped. Remove an optional key to unset it.

Complete example

Use this as a starting point; you do not need to fill in every optional setting:
This example uses the default Bypass mode. Change permissionPreset to "ask" to require individual approvals.

Top-level fields

Models and thinking

Client levels are off, minimal, low, medium, high, xhigh, and max. Available levels and their effective behavior depend on the provider and model; not every model supports every level.

Interface

Sessions and networking

Shell and commands

Projects and permissions

Project trust controls loading configuration, extensions, and resources. It is not a filesystem sandbox.

Section settings

  • [compaction].enabled = false only disables automatic compaction. reserveTokens reserves window space; keepRecentTokens controls recent messages retained.
  • [branchSummary].skipPrompt = true skips the branch-switch prompt and does not generate a summary by default.
  • [retry].baseDelayMs = 2000 uses exponential backoff: 2, 4, and 8 seconds. Keep provider.maxRetries at its default 0; positive values let SDK retries precede Step’s quota handling and may wait until quota resets. provider.timeoutMs sets a per-request timeout.
  • [thinkingBudgets] sets token budgets for thinking levels.
  • [images].autoResize = true resizes images to within 2,000 px.
  • [images].blockImages = true prevents sending images to models; [terminal].showImages only controls display.
  • [terminal].images accepts kitty, iterm2, auto, or false; match it to terminal capabilities.
  • [terminal].imageWidthCells measures inline width in terminal columns. clearOnShrink controls clearing after content shrinks, showTerminalProgress controls OSC 9;4 progress, and hyperlinks accepts true, false, or "auto".
  • [markdown].mermaid accepts streaming, final, or off.
  • [warnings].anthropicExtraUsage defaults to true and controls Claude Pro/Max extra-usage notices.

MCP servers

Declare servers in the global configuration:
Replace the path with your server script. See MCP for transports, authentication, and filtering.

Tool and resource arrays

Resource arrays accept files or directories, glob patterns, ! exclusions, and exact +path / -path controls. Global relative paths resolve from ~/.stepcode/agent; project paths resolve from .stepcode. See Built-in tools for launch options.

TUI settings

Deprecated settings

Next steps