Dash documentation
Commands and Tool Execution
Take control of what Dash starts, edits, and shows you.
Slash commands
Commands typed at the Dash prompt are intercepted before anything is sent to the model:
| Command | What it does |
|---|---|
| /new | Start a new session. |
| /sessions | Open the sessions popup to continue a past conversation. |
| /models | Open the model popup and pick an available model. |
| /providers | Open provider setup — enter your API key (alias /provider). |
| /updates | Check for Dash updates. |
| /exit | Leave Dash and return to the shell. |
Input controls
Enter sends the message. Ctrl+Enter inserts a new line for multi-line prompts. The status line at the bottom shows hints while you type.
Approving actions
The approval model is deliberately narrow — Dash does not ask permission for everything, only for what matters:
- Reads, searches, and listings inside the workspace: always allowed.
- File writes and edits inside the workspace: allowed, checkpointed for rollback.
- Writes outside the workspace: approval requested per operation.
delete_file,write_memory, and everyrun_command: approval requested each time.
name: "run_command",
description: "Run a command in the workspace."
+ " The user must explicitly approve each command.",
parameters: { command: string }Running commands
Use natural prompts — Dash picks the right mechanism. run_command is for short-lived commands (tests, builds, git one-liners). run_background starts long-lived processes, reads their output on demand, and kills them by pid when you no longer need them.
> run the test suite and fix the failing tests
> start the dev server in the background and check it responds
> git status + diff, then commit the wip changes