Warp
Desktop appWarp
The Agentic Development Environment — a terminal and agent platform with local and cloud agents (Oz), MCP, rules, and skills.
MCP
SupportedMCP servers configured in Settings > Agents > MCP servers, in Warp Drive, or via file-based .warp/.mcp.json config. Warp also picks up MCP config from Claude Code, Codex, and other agent providers.
Config files
| Path | Scope | Format | Key |
|---|---|---|---|
~/.warp/.mcp.jsonShared by Stable and Preview channels. Pasted multi-server JSON also uses the mcpServers key. | Global | json | mcpServers |
.warp/.mcp.jsonProject-scoped; requires explicit approval and never auto-spawns. | Project | json | mcpServers |
Fields
| Field | Type | Description |
|---|---|---|
command* | string | Executable to launch for a CLI (stdio) server, e.g. npx. |
args* | string[] | Command-line arguments passed to the command. |
env | record<string, string> | Environment variables for the server (e.g. API tokens). |
working_directory | string | Working directory where the command runs; used to resolve relative paths. |
url* | string | HTTP endpoint for a Streamable HTTP or SSE server. |
headers | record<string, string> | HTTP headers for remote servers (e.g. Authorization bearer token). |
Capabilities
Examples
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
},
"externalDocs": {
"url": "http://localhost:4000/mcp/stream",
"headers": { "my-header": "my-header-value" }
}
}
}- •Global Warp-managed servers auto-spawn by default; global servers from third-party providers (Claude Code ~/.claude.json, Codex ~/.codex/config.toml, other agents ~/.agents/.mcp.json) require the Auto-spawn servers from third-party agents toggle.
- •Project-scoped servers from any provider never auto-spawn and must be approved/toggled on per session.
- •The bundled /agent-add-mcp skill lets the agent write file-based server definitions to ~/.warp/.mcp.json (global) or {repo_root}/.warp/.mcp.json (project) with your approval.
- •Warp prevents edits to MCP config files unless you explicitly approve the change.
- •Servers can be shared with teammates via Warp Drive; env secrets are scrubbed and replaced with variables on share.
- •Set working_directory explicitly when command/args include relative paths.
Skills
SupportedSKILL.md skills (Agent Skills format) discovered from .agents/skills/ and many compatible directories, invocable by the agent or directly via /{skill-name} with argument placeholders.
Config files
| Path | Scope | Format | Key |
|---|---|---|---|
.agents/skills/<name>/SKILL.mdRecommended project location; subdirectory skills are discovered when working within that subdirectory. | Project | markdown | — |
~/.agents/skills/<name>/SKILL.mdRecommended global location, available across all projects. | Global | markdown | — |
.warp/skills/<name>/SKILL.mdWarp-specific alternative; .claude/skills/, .codex/skills/, .cursor/skills/ and others are also scanned. | Project | markdown | — |
~/.warp/skills/<name>/SKILL.mdWarp-specific global directory; also where Warp's bundled skills live. | Global | markdown | — |
Fields
| Field | Type | Description |
|---|---|---|
name* | string | Unique identifier for the skill (typically kebab-case). |
description* | string | What the skill does and when to use it; the agent uses this to decide when to invoke the skill. |
Examples
---
name: explain-topic
description: Explain a topic for a specific audience in a given tone
---
# Explain Topic
Explain $0 for an audience of $1 professionals.
Use a $2 tone.
Full request: $ARGUMENTS- •Warp scans many skill directory names at both project and home scope: .agents/skills/ (recommended), .warp/skills/, .claude/skills/, .codex/skills/, .cursor/skills/, .gemini/skills/, .copilot/skills/, .factory/skills/, .github/skills/, .opencode/skills/.
- •Skill discovery is based on the cwd; for git repos Warp includes all skills from the current directory up through the repository root.
- •Argument placeholders: $ARGUMENTS (full raw string), $ARGUMENTS[N] (Nth whitespace-separated arg, 0-indexed), $N shorthand. Extra text with no placeholders is passed as a separate user message.
- •Skills can include supporting files (scripts, templates, configs) referenced by relative path from SKILL.md.
- •Edit skills with the /open-skill slash command; bundled skills live in ~/.warp/skills/.
- •Warp maintains ready-to-use skills in the warpdotdev/oz-skills repository; skills can also drive cloud agents (Skills as Agents).
Rules
SupportedProject Rules in AGENTS.md (or legacy WARP.md) files at repo root and subdirectories, plus cloud-managed Global Rules in Warp Drive.
Config files
| Path | Scope | Format | Key |
|---|---|---|---|
AGENTS.mdRepo root and subdirectories; closest file takes precedence. | Project | markdown | — |
WARP.mdLegacy name, still fully supported; wins over AGENTS.md in the same directory. | Project | markdown | — |
Examples
/init- •AGENTS.md is the default project rules file; existing WARP.md files remain fully supported and take priority if both exist in the same directory.
- •The filename must be all caps (AGENTS.md, not agents.md).
- •Warp automatically applies the rules file in the repo root and the current directory, and makes a best-effort attempt to include a subdirectory's rules file when editing files there.
- •Precedence: current subdirectory rules > root directory rules > Global Rules.
- •/init generates an AGENTS.md or links an existing rules file (CLAUDE.md, .cursorrules, AGENT.md, GEMINI.md, .clinerules, .windsurfrules, .github/copilot-instructions.md); /add-rule creates a Global Rule; /open-project-rules opens project rules in Warp's editor.
- •Global Rules are managed in Warp Drive (Personal > Rules), not as local files; rules usage can be toggled with the agents.knowledge.rules_enabled setting.
Hooks
Not supportedWarp has no lifecycle hook mechanism for its agents.
- •No hooks surface exists in the official docs (docs.warp.dev). Agent lifecycle hooks are open feature requests tracked in warpdotdev/Warp issues #7834, #8931, and #6857.
Commands
SupportedSlash commands in Agent Mode combine built-in static commands (/init, /agent, /model, /add-mcp, ...) with user-defined Agent Prompts saved in Warp Drive and skills invoked as /{skill-name}.
Fields
| Field | Type | Description |
|---|---|---|
name* | string | Prompt name shown in the slash menu and used for search. |
description | string | Meaningful description, indexed for search. |
arguments | array | Prompt arguments created via {{argument}} placeholders; each has a type (text or enum), optional description, and default value. |
Examples
Summarize the git log since {{ref}} and highlight breaking changes for {{audience}}.- •Built-in static commands include /agent, /new, /init, /index, /model, /add-mcp, /add-prompt, /add-rule, /prompts, /queue, /create-environment, and more.
- •Custom reusable prompts are Warp Drive Prompts — parameterized natural-language queries stored in Warp Drive (cloud objects, not local files) and runnable from the slash menu, Command Palette, or Warp Drive.
- •Prompt arguments use {{argument}} placeholders, typed text or enum, with optional descriptions and default values; SHIFT-TAB cycles through arguments.
- •Skills are also user-invocable as slash commands with argument support (see Skills).
- •Slash command availability in the terminal input is controlled by the terminal.input.enable_slash_commands_in_terminal setting.
Settings
SupportedTOML settings file with hot reload; the [agents] sections control model, knowledge (rules), MCP auto-spawn, and permission profiles for the agent.
Config files
| Path | Scope | Format | Key |
|---|---|---|---|
~/.warp/settings.tomlmacOS Stable path; Linux uses ~/.config/warp-terminal/settings.toml. There is no project-scoped settings file. | Global | toml | — |
Fields
| Field | Type | Description |
|---|---|---|
agents.model | string | Default model for the Warp Agent in the terminal. Default "auto". |
agents.knowledge.rules_enabled | boolean | Whether the agent uses your saved rules during requests. Default true. |
agents.mcp_servers.file_based_mcp_enabled | boolean | Auto-spawn global file-based MCP servers from third-party agents. Default false. |
agents.profiles.agent_mode_coding_permissions | string | File read permission level for the agent. |
agents.profiles.agent_mode_execute_readonly_commands | boolean | Whether the agent can auto-execute read-only commands without asking. Default false. |
agents.profiles.agent_mode_command_execution_allowlist | string[] | Regex patterns for commands the agent can execute without explicit permission. |
agents.profiles.agent_mode_command_execution_denylist | string[] | Regex patterns for commands the agent must always ask before executing. |
agents.warp_agent.is_any_ai_enabled | boolean | Master switch for all AI features. Default true. |
agents.warp_agent.other.agent_attribution_enabled | boolean | Add an attribution co-author line to commits and PRs the agent creates. Default true. |
agents.warp_agent.other.default_prompt_submission_mode | string | Behavior when submitting a prompt while the agent is still responding. Default interrupt. |
agents.cloud_conversation_storage_enabled | boolean | Whether conversations are stored in the cloud. Default true. |
general.default_session_mode | string | Default mode for new terminal sessions. Default terminal. |
code.indexing.agent_mode_codebase_context | boolean | Whether Codebase Context is provided to the agent. Default true. |
Examples
[agents]
model = "auto"
[agents.profiles]
agent_mode_execute_readonly_commands = true
agent_mode_command_execution_allowlist = ["ls(\\s.*)?", "cat(\\s.*)?"]
[agents.mcp_servers]
file_based_mcp_enabled = true- •File location depends on platform/channel: macOS Stable ~/.warp/settings.toml, Linux ~/.config/warp-terminal/settings.toml, Windows %LOCALAPPDATA%\warp\Warp\config\settings.toml.
- •Settings are grouped into TOML sections; only include settings you want to change. A settings_schema.json ships with the app.
- •Agent-relevant sections: [agents], [agents.knowledge], [agents.mcp_servers], [agents.profiles], [agents.warp_agent.*], [agents.third_party], [agents.voice].
- •Settings can sync across devices via account.is_settings_sync_enabled.