Supercharge your coding workflow with AiderDesk, a sleek desktop application that brings the power of aider to your fingertips with a modern GUI. Leverage AI to accelerate your coding tasks while enjoying seamless project management, cost tracking, and IDE integration.
Transform your AI coding experience with AiderDesk - all the power of the Aider console tool in an intuitive desktop interface. Whether you're managing multiple projects, integrating with your favorite IDE, or tracking costs, AiderDesk elevates your productivity to new heights.
- β¨ Key Features
- π₯ Installation
- πΈ Screenshots
- π οΈ Model Context Protocol (MCP) Support
- π REST API
- π¨βπ» Development Setup
- π€ Contributing
- β Star History
- π₯οΈ Intuitive GUI - Replace command-line complexities with a sleek visual interface
- π Project Management - Organize and switch between multiple codebases effortlessly
- π IDE Integration - Automatically manage context files in:
- π REST API - Expose functionality via REST API for external tools
- 𧩠MCP Support - Connect to Model Context Protocol servers for enhanced AI capabilities
- π Settings Management - Easily configure API keys and environment variables
- π° Cost Tracking - Monitor token usage and expenses with detailed insights
- π¨ Structured Messages - View code, prompts, and outputs in a clear, organized manner
- π Visual File Management - Add, remove, and manage context files with ease
- π Model Switching - Seamlessly switch between different AI models while preserving context
- π Code Diff Viewer - Review changes with side-by-side comparison
- βͺ One-Click Reverts - Undo specific AI-generated changes while keeping others
- π Easy Sharing - Copy and share code changes or conversations instantly
- Python 3.9-3.12 installed on your system
- Download the latest release for your platform from Releases
- Run the downloaded executable
If you encounter issues with the application not detecting the correct Python version, you can specify the path to the desired Python executable using the AIDER_DESK_PYTHON
environment variable. This is typically only needed on the initial run/setup of AiderDesk.
For example, on macOS or Linux:
export AIDER_DESK_PYTHON=/usr/bin/python3.10
Or on Windows:
$env:AIDER_DESK_PYTHON = "C:\Path\To\Python310\python.exe"
Replace /usr/bin/python3.10
or C:\Path\To\Python310\python.exe
with the actual path to your Python executable.
If you want to disable automatic updates, you can set the AIDER_DESK_NO_AUTO_UPDATE
environment variable to true
. This is useful in environments where you want to control when updates are applied.
For example, on macOS or Linux:
export AIDER_DESK_NO_AUTO_UPDATE=true
Or on Windows:
$env:AIDER_DESK_NO_AUTO_UPDATE = "true"

Main application interface showing the chat interface, file management, and project overview

Aider settings and preferences

Manage and switch between multiple projects

Manage files included in the AI context

Switch between different models

Switch between different chat modes

Answer questions and run commands

Side-by-side code comparison and diff viewer

Token usage and cost tracking for session per project

Configure and manage Model Context Protocol servers for enhanced AI capabilities
AiderDesk integrates with the Model Context Protocol (MCP), enhancing your coding workflow with external tools and context:
MCP connects AI models to external tools like web browsers, documentation systems, and specialized programming utilities. AiderDesk can use these tools to gather information, then pass the results to Aider for implementing actual code changes.
- Tool Integration: Connect to browsers, documentation systems, and language-specific tools
- Provider Options: Choose between OpenAI and Anthropic models
- Flexible Configuration: Enable/disable servers, customize settings, and control usage
- Seamless Workflow: MCP tools gather information, then Aider implements the code changes
AiderDesk should work with any MCP-compatible server, including Brave API MCP server for searching the web and custom language-specific tools.
AiderDesk comes with a built-in MCP server that provides tools for interacting with the AiderDesk API. This allows you to use MCP to manage context files, run prompts, and more.
To use the built-in MCP server, add the following configuration to your MCP settings:
Windows
{
"mcpServers": {
"aider-desk": {
"command": "node",
"args": ["path-to-appdata/aider-desk/mcp-server/aider-desk-mcp-server.js", "/path/to/project"],
"env": {
"AIDER_DESK_API_BASE_URL": "http://localhost:24337/api"
}
}
}
}
Note: Replace path-to-appdata
with the absolute path to your AppData directory. You can find this value by running echo %APPDATA%
in your command prompt.
macOS
{
"mcpServers": {
"aider-desk": {
"command": "node",
"args": ["/path/to/home/Library/Application Support/aider-desk/mcp-server/aider-desk-mcp-server.js", "/path/to/project"],
"env": {
"AIDER_DESK_API_BASE_URL": "http://localhost:24337/api"
}
}
}
}
Note: Replace /path/to/home
with the absolute path to your home directory. You can find this value by running echo $HOME
in your terminal.
Linux
{
"mcpServers": {
"aider-desk": {
"command": "node",
"args": ["/path/to/home/.config/aider-desk/mcp-server/aider-desk-mcp-server.js", "/path/to/project"],
"env": {
"AIDER_DESK_API_BASE_URL": "http://localhost:24337/api"
}
}
}
}
Note: Replace /path/to/home
with the absolute path to your home directory. You can find this value by running echo $HOME
in your terminal.
The server supports the following:
Command-line arguments:
- First argument: Project directory path (default: current directory)
Environment variables:
AIDER_DESK_API_BASE_URL
: The base URL of the AiderDesk API (default: http://localhost:24337/api)
With this configuration, the MCP server will automatically use the specified project directory for all tool calls, so you don't need to specify the project directory when using the tools.
The AiderDesk MCP server provides the following tools:
add_context_file
: Add a file to the context of AiderDeskdrop_context_file
: Remove a file from the context of AiderDeskget_context_files
: Get the list of context files in AiderDeskget_addable_files
: Get the list of project files that can be added to the context contextrun_prompt
: Run a prompt in AiderDesk
These tools allow MCP clients (Claude Desktop, Claude Code, Cursor, Windsurf...) to interact with your AiderDesk, managing context files and running prompts.
Note: The AiderDesk application must be running for the MCP server to function.
AiderDesk provides a REST API for external tools to interact with the application. The API is running on the same port as the main application (default 24337, configurable by AIDER_DESK_PORT
environment variable).
/api/add-context-file
- Method: POST
- Request Body:
{ "projectDir": "path/to/your/project", "path": "path/to/the/file", "readOnly": false }
- Response:
Returns the list of context files in the project.
[ { "path": "path/to/the/file", "readOnly": false } ]
/api/drop-context-file
- Method: POST
- Request Body:
{ "projectDir": "path/to/your/project", "path": "path/to/the/file" }
- Response:
Returns the list of context files in the project.
[]
/api/get-context-files
- Method: POST
- Request Body:
{ "projectDir": "path/to/your/project" }
- Response:
Returns the list of context files in the project.
[ { "path": "path/to/the/file", "readOnly": false } ]
/api/get-addable-files
- Method: POST
- Request Body:
{ "projectDir": "path/to/your/project", "searchRegex": "optional/regex/filter" }
- Response:
Returns the list of files that can be added to the project.
[ { "path": "path/to/the/file" } ]
/api/run-prompt
- Endpoint:
/api/run-prompt
- Method: POST
- Request Body:
{ "projectDir": "path/to/your/project", "prompt": "Your prompt here", "editFormat": "code" // Optional: "code", "ask", or "architect" }
- Response:
[ { "messageId": "unique-message-id", "baseDir": "path/to/your/project", "content": "The AI generated response", "reflectedMessage": "Optional reflected message", "editedFiles": ["file1.txt", "file2.py"], "commitHash": "a1b2c3d4e5f6", "commitMessage": "Optional commit message", "diff": "Optional diff content", "usageReport": { "sentTokens": 100, "receivedTokens": 200, "messageCost": 0.5, "totalCost": 1.0, "mcpToolsCost": 0.2 } } ]
If you want to run from source, you can follow these steps:
# Clone the repository
$ git clone https://github.com/hotovo/aider-desk.git
$ cd aider-desk
# Install dependencies
$ npm install
# Run in development mode
$ npm run dev
# Build executables
# For Windows
$ npm run build:win
# For macOS
$ npm run build:mac
# For Linux
$ npm run build:linux
We welcome contributions from the community! Here's how you can help improve aider-desk:
- Fork the repository on GitHub
- Create a new branch for your feature or bugfix:
git checkout -b my-feature-branch
- Commit your changes with clear, descriptive messages
- Push your branch to your fork
- Create a Pull Request against the main branch of the original repository
Please follow these guidelines:
- Keep PRs focused on a single feature or bugfix
- Update documentation when adding new features
- Follow the existing code style and conventions
- Write clear commit messages and PR descriptions
For major changes, please open an issue first to discuss what you would like to change.
Thank you β€οΈ