Skip to content

Warp Agent CLI > Using the agent

Permissions and profiles in the Warp Agent CLI

Open in ChatGPT ↗
Ask ChatGPT about this page
Open in Claude ↗
Ask Claude about this page
Copied!

Control what the agent can do in the Warp Agent CLI with permission request cards, auto-approve, and execution profiles in the settings file.

The Warp Agent CLI uses the same permission model as the Warp app: you choose how much approval each type of action needs. This page covers how to set permissions in the CLI, what happens when the agent asks for approval, and how to grant full autonomy with auto-approve. For the full permission model, including team-wide controls, see Profiles & Permissions.

Every action the agent proposes, such as running a shell command, editing files, or calling an MCP tool, is checked against your active execution profile before it runs. Each action type is set independently to always_ask, always_allow, or agent_decides. For example, you could require approval for every shell command while letting the agent read files without asking, or allow everything for an agent that never stops to ask.

By default, the CLI applies these permission values:

  • Shell commands, file edits, file reads, MCP tool calls - agent_decides. For file edits, agent_decides still prompts every time, so you always review a diff before it’s applied.
  • Typing into a running command, launching child agents - Always asks.
  • Command denylist - Sits on top of these values. Matching commands require approval even when execute_commands is always_allow.

Change any of this by editing your execution profile.

When an action needs your approval, the agent pauses and shows a permission card with the proposed command or file edits. Beyond approving or rejecting it, you can:

  • Select Other to reply with guidance instead of running the action. The agent adjusts its approach based on what you type.
  • Press E on a command card to edit it before approving. Esc exits the editor without rejecting the request.
  • Press E on a file-edits card to expand or collapse all diffs.

Auto-approve gives the agent full autonomy. Proposed actions run immediately, without permission cards, until the task finishes or you turn it off. Toggle it with /auto-approve or Ctrl+Shift+I.

Auto-approve is scoped to a single conversation, and new conversations start with it off. To start every new conversation in a session with auto-approve already on, launch with warp --auto-approve. The statusline’s auto-approve indicator (▶▶) shows the current state and is on by default. If your profile sets ask_user_question = "ask_except_in_auto_approve", the agent also skips clarifying questions while auto-approve is on.

To keep your denylist in force while auto-approve is on, turn off the bypass in your settings file:

settings.toml
[agents.warp_agent.other]
auto_approve_bypasses_command_denylist = false

Denylist rules enforced by your team in the Admin Panel always require approval and are never bypassed, regardless of this setting.

The CLI reads its permissions from execution profiles stored in its settings file. Profiles live under the agents.execution_profiles table, and the CLI always runs with the profile under the reserved default key:

settings.toml
[agents.execution_profiles.default]
name = "Default"
execute_commands = "agent_decides"
apply_code_diffs = "agent_decides"
read_files = "agent_decides"
command_allowlist = ['cargo (build|check|test)(\s.*)?']

Edit the file directly, or ask the agent to change its own permissions and it will update the settings file for you. The CLI picks up saved changes automatically.

Profiles in the Warp Agent CLI are local to your machine. They never sync to the cloud, and they are separate from the Agent Profiles you configure in the Warp app. You can define additional profiles in the file, but the CLI currently always runs with default.

Most permission fields accept one of three values:

  • agent_decides - The agent acts on its own when it’s confident and asks when it’s uncertain.
  • always_ask - Every action of this type requires approval.
  • always_allow - Actions of this type run without prompting.
  • execute_commands - Permission to run shell commands.
  • apply_code_diffs - Permission to apply file edits.
  • read_files - Permission to read files.
  • mcp_permissions - Permission to call MCP servers.
  • write_to_pty - Permission to type into running interactive commands. Also accepts ask_on_first_write.
  • ask_user_question - Whether the agent may pause to ask clarifying questions: always_ask, ask_except_in_auto_approve, or never.
  • run_agents - Permission to launch child agents: always_ask, always_allow, or never_allow.
  • command_allowlist - Regular expressions for commands that run without approval.
  • command_denylist - Regular expressions for commands that require approval regardless of the other permission values. Auto-approve bypasses this list by default.
  • directory_allowlist - Directories the agent may read without approval.

Profiles also hold model overrides such as base_model, covered in Models and usage in the Warp Agent CLI.