Workspace
A workspace is an independent folder that contains a copy of your project. Rover creates a separate workspace for each task, making it possible to run multiple tasks in parallel without interference. Each coding agent will apply changes only in its workspace.
To create it, Rover uses the git worktree feature.
What’s a git worktree?
Section titled “What’s a git worktree?”A git worktree is a separate checkout of your repository, sharing the same .git folder. Imagine it as having multiple copies of your local repository, each in its own folder and a different branch, but all connected to the same git history.
Workspace structure
Section titled “Workspace structure”When you create a new task, Rover will create a new worktree in the .rover/tasks/<task-id>/workspace/ folder. This workspace starts from the branch you specify when creating the task (defaulting to the current branch). The coding agent will then apply changes directly in this workspace.
Directory.rover/
Directorytasks/
Directory1/
- …
Directory2/
- description.json
- …
Directoryworkspace/
- YOUR_README.md
- …
Directory3/
- …
- …
Deleting a workspace
Section titled “Deleting a workspace”When you delete a task using rover delete <task-id>, Rover will also remove the associated workspace, cleaning up the worktree and all its files.
If you delete the .rover/tasks/X/workspace/ folder manually, you will need to prune the git worktree references using:
git worktree prune