Dash documentation
Project Files
What Dash does with the files in the folder you launch it from.
The workspace
Dash treats your current working directory as the workspace. File tools resolve relative paths against it, and the TUI shows its identity in the header. The workspace is the default boundary between freely editable paths and paths that need approval.
Reading and exploring
list_fileslists a directory tree, optionally filtered by a glob pattern.find_filesfinds files by pattern, for example**/*.tsxorpackage.json.search_filessearches file contents by literal string or regex, with optional case-sensitivity.code_searchlocates symbol definitions and references.read_filereturns UTF-8 text;get_file_inforeturns size, type, and mtime without reading contents.
Editing files
edit_filereplaces one exact text occurrence — precise and grep-style, not fuzzy.multi_editapplies several edits to a file atomically: if any edit fails, the file is left untouched.write_filecreates or replaces an entire file, creating folders as needed.delete_filecan delete, move, or rename — always with explicit approval.
Excluded directories
A fixed set of directories is always skipped by file tools:
.git · node_modules · .dash · dist · build
Safety model
- Before the first edit of a task, Dash records a snapshot under
.dash/checkpoints/. - In-workspace edits run without interruption; out-of-workspace writes require your approval.
- You can always roll back with the
undo_checkpointtool or ask Dash to restore.