Permission modes
Starting with v0.1.4, the interactive interface provides these modes:
Both automatic modes enable automatic retry after model errors by default, with a retry limit.
Ask and Approve for Me require confirmation for detected dangerous or unanalyzable commands. Full Access skips such per-call confirmation after risk confirmation; per-tool deny or confirm rules still apply. Rule checks cannot cover arbitrary scripts or all dangerous behavior and are not a sandbox.
Choose a permission mode
Full Access is not entered without risk confirmation, and a run without an interactive interface does not obtain Full Access from configuration alone. Permission modes are not an OS sandbox.- Enter
/permissionsin the interactive input box. - Choose a mode for the task. Start with Ask when working on an unfamiliar project, and inspect tool arguments before approving an operation.
- Review the mode when the task scope changes. Shift+Tab and
/permissions cyclealso cycle modes.
Trust project resources
Project trust controls whether Step Code loads project configuration, extensions, and resources. Manage trust with/trust. The CLI options --approve and --no-approve control whether trust-dependent project resources load for that launch.
Inspect the project’s .stepcode/ configuration and resources before trusting it. See Project instructions for instruction discovery and Configuration files for settings precedence.
Limit available tools
For project analysis, select Ask and describe the files in scope. Use--tools or --exclude-tools to restrict tool availability, with names that match the registered tools. See Built-in tools.
defaultTools manages native built-in tools. Step tools, extensions, and MCP tools also require their respective configuration. For MCP, filter tools with enabled_tools and disabled_tools; see Tool names and filtering.
Permission modes and tool filters do not provide OS-level isolation. Use containers, virtual machines, or OS permissions when running untrusted code or enforcing file and network boundaries.
Configure unattended approval
step -p has no interactive approval dialog. Set the task’s approval policy with --approval-mode and --non-interactive-approval, and specify which tools it can use. See The step command for syntax.
--non-interactive-denial controls what happens after an operation requiring human confirmation is denied. The default, terminate, ends the task. continue returns the failure to the model so it can try another approach under the selected permission policy.
Protect data and credentials
- Model requests send prompts, relevant files, and tool results. Check that the receiving service is authorized to process the material.
- MCP servers and plugins can run local programs or contact external services. Load trusted sources and grant only necessary credentials.
- Logs and exported sessions can include code, paths, and error details. Review them before sharing.

