Warp documentation
  • ๐Ÿš€Getting Started
    • Quickstart Guide
    • What is Warp?
    • Migrate to Warp
    • Using Warp with [zsh|bash|fish|pwsh]
    • Privacy
    • Refer a Friend & Earn Rewards
    • Warp Preview & Alpha Program
    • Changelog
  • ๐ŸŽจAppearance
    • Themes
    • Custom Themes
    • Prompt
    • Input Position
    • Text, Fonts, & Cursor
    • Size, Opacity, & Blurring
    • Pane Dimming & Focus
    • Blocks Behavior
    • Tabs Behavior
    • App Icons
  • ๐Ÿ“•Features
    • Warp AI
      • Active AI
      • Agent Mode
      • Generate
      • Model Context Protocol
      • Voice
      • Rules
    • Command Palette
    • Warp Drive
      • Notebooks
      • Workflows
      • Prompts
      • Environment Variables
      • Warp Drive on the Web
    • Teams
    • Session Sharing
    • Blocks
      • Block Basics
      • Block Actions
      • Block Sharing
      • Block Filtering
      • Background Blocks
      • Sticky Command Header
    • Modern Text Editing
      • Alias Expansion
      • Command Inspector
      • Syntax & Error Highlighting
      • Vim Keybindings
    • Command Entry
      • Command Corrections
      • Command Search
      • Command History
      • Synchronized Inputs
      • YAML Workflows
    • Command Completions
      • Completions
      • Autosuggestions
    • Session Management
      • Launch Configurations
      • Session Navigation
      • Session Restoration
    • Window Management
      • Global Hotkey
      • Tabs
      • Split Panes
    • Warpify
      • Subshells
      • SSH
    • Accessibility
    • Find
    • Files, Links, & Scripts
    • Markdown Viewer
    • Working Directory
    • Smart-Select
    • Full-screen Apps
    • Keyboard Shortcuts
    • Notifications & Audible Bell
    • Settings Sync (Beta)
    • Quit Warning
    • Integrations
    • URI Scheme
    • Network Log
    • Secret Redaction
    • Linux
  • ๐Ÿ“ŠHow Does Warp Compare?
    • Performance
    • Terminal features
  • โ“Help
    • Sending Feedback & Logs
    • Plans, Subscriptions & Pricing
    • Updating Warp
    • Using Warp Offline
    • Logging out & Uninstalling
    • Known Issues
    • Troubleshooting Login Issues
    • Open Source Licenses
Powered by GitBook
On this page
  • What is it
  • How to use it
  • How it works
  • How is this Different from Aliases?
  • Creating Custom Workflows
  • How to create a workflow with YAML
  • Where to save workflows

Was this helpful?

  1. Features
  2. Command Entry

YAML Workflows

Workflows are an easier way to execute and share commands within Warp.

PreviousSynchronized InputsNextCommand Completions

Last updated 1 month ago

Was this helpful?

You can continue to use YAML-based workflows, but we recommend using new instead for a better editing experience.

What is it

Workflows are easily parameterized and searchable by name, description, or command arguments. sourced by the Warp team and community are readily available within the app. Additionally, you can create and scope Workflows locally or to a git repository.

How to use it

  • Open the or Workflow Search CTRL-SHIFT-R panel to find Workflows.

  • Once inside the menu, start typing in the search bar to filter the existing Workflows. (e.g. git, android, npm, etc.)

  • When a Workflow is selected with ENTER, you can use SHIFT-TAB to cycle through the arguments.

  • You can also expand the menu horizontally with the mouse by dragging it on the right edge.

Tailor your experience by toggling off "Show Global Workflows" in Settings > Features. When disabled, your search will exclusively encompass YAML and Warp Drive Workflows.

How it works

How is this Different from Aliases?

Workflows solve some major pain points with aliases, specifically the:

  1. need to context switch

    1. leave vim, source dotfiles, or reset shell

  2. difficulty with attaching documentation

  3. inability to easily search or share

  4. inability to easily parameterize

Creating Custom Workflows

How to create a workflow with YAML

You can store local workflows (scoped to your machine) in:

$HOME/.warp/workflows/
$env:APPDATA\warp\Warp\data\workflows\
${XDG_DATA_HOME:-$HOME/.local/share}/warp-terminal/workflows/

Or, you can share them with your team by saving them in {{path_to_git_repo}}/.warp/workflows/. Local and repository Workflows can be accessed under the "My Workflows" and "Repository Workflows" tab of the Workflows menu, respectively.

Where to save workflows

Local Workflows are scoped to your machine. Repository Workflows are scoped to a git repository and can be accessed by anyone who has cloned the repo. Note: Repository Workflows will not appear if you are ssh into a remote machine.

# Local Workflow Path
$HOME/.warp/workflows/

# Repository Workflow Path
{{path_to_git_repo}}/.warp/workflows
# Local Workflow Path
$env:APPDATA\warp\Warp\data\workflows\

# Repository Workflow Path
{{path_to_git_repo}}\.warp\workflows
# Local Workflow Path
${XDG_DATA_HOME:-$HOME/.local/share}/warp-terminal/workflows/

# Repository Workflow Path
{{path_to_git_repo}}/.warp/workflows

Local Workflows

To start, create a Workflow subdirectory within

mkdir -p $HOME/.warp/workflows/
New-Item -Path "$env:APPDATA\warp\Warp\data\workflows\" -ItemType Directory
mkdir -p ${XDG_DATA_HOME:-$HOME/.local/share}/warp-terminal/workflows/

Add your Workflowโ€™s .yaml file to this directory; if the file format is valid Warp should automatically load it into the Workflows menu.

cp ~/path/to/my_awesome_workflow.yaml {{path_to_local_workflow_folder}}

Repository Workflows

You can add a repository Workflow similarly to how you added a local Workflow. Create a Workflows folder in a repositoryโ€™s root directory and save your .yaml file like so:

cd {{repository_path}}
mkdir -p .warp/workflows/
cp ~/path/to/my_awesome_workflow.yaml {{path_to_local_workflow_folder}}

Global Workflows

See the existing Workflow spec within the for examples. Additionally, we outline the file format below:


name

The name of the Workflow. Required.

command

The command that is executed when the Workflow is selected. Required.

tags

An array of tags that are useful to categorize the Workflow. Optional.

tags: ["git", "GitHub"]

description

The description of the Workflow and what it does. Optional.

source_url

author

author_url

shells

The list of shells where this Workflow is valid. If not specified, the Workflow is assumed to be valid in all shells. This must be one of zsh, bash, or fish.

arguments

A Workflow can have parameterized arguments to specify pieces of the Workflow that need to be filled in by the user.

You can specify which part of the Workflow command maps to an argument by surrounding it with two curly braces ({{<argument>}}).

For example the Workflow command:

for {{variable}} in {{sequence}}; do
  {{command}}
done

Includes 3 arguments: variable, sequence, and command.

arguments.name

The name of the argument. The argument name is used within the command to specify the ranges of the argument. Required.

name: Example Workflow
command: echo {{string}}
arguments:
  - name: string
    description: The value to echo

arguments.description

arguments.default_value

The default value for the argument. If specified, the default_value replaces the argument name within the command. Optional


You can contribute Workflows that will be made available to other Warp users by forking the and opening a pull request. See the section for more details.

The Workflow file format is a file and must have either a `.yml ` or `yaml` extension. If you're new to YAML and want to learn more, see .

The URL from where the Workflow was originally generated from. This is surfaced in for attribution purposes. Optional.

The original author of the Workflow. For example, if this Workflow was generated from StackOverflow, the author would be the author of the StackOverflow post. This is surfaced in for attribution purposes. Optional.

The URL of original author of the Workflow. For example, if this Workflow was generated from StackOverflow, the author_url would be the StackOverflow author's profile page. This is surfaced in for attribution purposes. Optional.

The description of the argument. This is surfaced in both and Warp to help users fill in Workflow arguments. Optional

๐Ÿ“•
Workflows repo
Workflow File Format
yaml
Learn YAML in Y minutes
commands.dev
commands.dev
commands.dev
commands.dev
Workflows repo
Contributing
workflows in Warp Drive
Common Workflows
Command Search
Command Search
YAML Workflows Demo
YAML Workflows Demo