v0.1.35 - Configuration Management, better allowed directories, blocked terminal commands and shell/terminal selection
New Features
🔧 Configuration Management
What's New: You can now easily customize how Desktop Commander works through configuration settings.
How to Use:
- View all settings:
get_config({}) - Change a setting:
set_config_value({ "key": "defaultShell", "value": "/bin/zsh" })
Available Settings:
allowedDirectories: Control which folders Desktop Commander can accessblockedCommands: Prevent potentially dangerous commands from runningdefaultShell: Choose your preferred terminal (bash, zsh, PowerShell, etc.)
Tip: For security, always make configuration changes in a separate chat from your main work.
Removed duplicate functionality
We removed number of tools for allowing and blocking commands and paths as separate tools. Now it all is handled trough unified config. More configuration options will come next.
🖥️ Shell Selection
What's New: You can now specify which shell to use for your commands. Both individually for each call and default one to use trough configuration
How to Use:
// Use your default shell
execute_command({ "command": "echo $SHELL" })
// Specify a particular shell
execute_command({ "command": "echo $SHELL", "shell": "/bin/zsh" })Benefits:
- Windows users can easily switch between PowerShell and Command Prompt
- Mac/Linux users can choose between bash, zsh, or other shells
- Use shell-specific features without changing your system defaults
Side note - WSL support is bit weird, does work trough CMD/PowerShell but can't be yet set as shell, something to polish in future, help is welcome.
🔒 Enhanced Security
What's New: Better protection for your system with improved path validation and command restrictions.
How it Works:
- Desktop Commander now blocks potentially dangerous commands by default, you can change in config
- File operations are restricted to allowed directories for better security, be default list is empty which allows all
- Clearer error messages when a security restriction is encountered
Tip: Setting allowedDirectories to an empty array ([]) grants access to your entire filesystem. Use specific paths for better security.
Usage Recommendations
Security Best Practices
- Use separate chats for configuration: Make configuration changes in a dedicated chat, then start a new chat for your actual work.
- Be specific with allowed directories: Instead of allowing entire drives, specify just the directories you need to work with.
- Verify configuration changes: After making changes, use
get_config({})to confirm they were applied correctly.
Effective Command Execution
- Choose the right shell: Use the shell that's best suited for your specific task.
- Handle long-running commands: Remember that commands continue in the background after timeout - use
read_outputwith the PID to check progress. - Be patient with file operations: When working with large directories or files, operations may take longer than expected.
We hope these improvements make Desktop Commander MCP even more useful for your workflows! Join our [Discord server](https://discord.gg/kQ27sNnZr7) for support and to share feedback.