Skip to content

v0.1.35 - Configuration Management, better allowed directories, blocked terminal commands and shell/terminal selection

Choose a tag to compare

@wonderwhy-er wonderwhy-er released this 16 Apr 17:41
· 174 commits to main since this release

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 access
  • blockedCommands: Prevent potentially dangerous commands from running
  • defaultShell: 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

  1. Use separate chats for configuration: Make configuration changes in a dedicated chat, then start a new chat for your actual work.
  2. Be specific with allowed directories: Instead of allowing entire drives, specify just the directories you need to work with.
  3. Verify configuration changes: After making changes, use get_config({}) to confirm they were applied correctly.

Effective Command Execution

  1. Choose the right shell: Use the shell that's best suited for your specific task.
  2. Handle long-running commands: Remember that commands continue in the background after timeout - use read_output with the PID to check progress.
  3. 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.