Overview
Zed’s task system allows you to configure and execute build commands, tests, and custom tasks directly from the editor. Tasks integrate with the terminal and can be configured per-project or globally.Task Structure
Task Template
Resolved Task
When a task template is resolved with context, it becomes a runnable task:Spawning Tasks
Task Modal
Cmd+Shift+R- Spawn task (opens modal)Cmd+Alt+R- Rerun last taskCtrl+Alt+Shift+R- Spawn task in center pane
Spawn Strategies
Tasks can be spawned in different ways:Task Variables
Tasks support variable substitution for dynamic configuration:Using Variables
In your task configuration:Terminal Integration
Tasks run in the integrated terminal:Reveal Strategies
Task Context
Tasks are resolved with context from the current editor state:Task Configuration Files
Tasks can be configured in multiple formats:Zed Tasks Format
Create a.zed/tasks.json file:
VS Code Tasks Format
tasks.json format:
Debug Tasks Format
Rerunning Tasks
Zed tracks the last executed task and allows quick reruns:reevaluate_context- Re-evaluate task variables from current contextallow_concurrent_runs- Override concurrent execution settinguse_new_terminal- Force new or reuse existing terminal
Task Filtering
Tasks can be filtered by name or tag:Shell Configuration
- System shell
- Bash
- Zsh
- Fish
- PowerShell
- Custom shell
Task Sources
Tasks can come from multiple sources:- Static tasks - Defined in configuration files
- Language servers - Provided by LSP servers
- Plugins - Custom task providers
- Runnables - Code lens run commands
Nearest Task
Run the nearest available task from cursor position:Related Features
Terminal
Integrated terminal where tasks execute
Editing
Code editing and task invocation
