Watch mode
Use --watch (or -w) to keep a task running and rerun it when its source files change. For a Go project:
version: '3'
tasks:
build:
sources:
- '**/*.go'
- go.mod
- go.sum
cmds:
- go build ./...Run task --watch build, edit a Go file, and save it to trigger another build. Press Ctrl+C to stop watching.
Watch mode detects changes; up-to-date checks decide whether the task's commands need to run. Both use the same sources.
Enable watching by default
Set watch: true on a task if its normal CLI use should start a watcher:
version: '3'
tasks:
build:
watch: true
sources: ['**/*.go']
cmds:
- go build ./...Now task build starts watch mode. The watch setting applies when the task is called from the CLI; calls from another task through cmds or deps do not start a watcher.
Combine rapid changes
The default watch interval is 100 milliseconds. Increase it if saving several files produces duplicate events:
task --watch --interval=500ms buildYou can also set interval: '500ms' at the root of the Taskfile. The interval groups events close together so that Task reruns the task once for the batch.
Watch long-running apps
Builds and checks finish after each run. Servers keep running and need to stop before a replacement can take over their port.
WARNING
There is a known issue where watch mode may leave child processes running. Prefer building and running the executable directly over go run, which starts another process.
For applications that need dedicated live-reload behavior, consider tools such as Air. Report Task-specific problems with a small reproducer in the issue tracker.