Dev & Engineering mcp-servershell-executioncode-editinginteractive-terminalclaude-desktopvscode-extension

wcgw Local Coding Terminal

An MCP server that lets chat clients run local shell commands, edit code, and share an interactive terminal.

FollowAgents review · FARS-2.1
Not recommended
45/ 100 5-point scale 2.3 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust6 / 29 · 1.0/5

Evidence: README explicitly warns about unrestricted shell access and default mode has no restrictions, but provides architect and code-writer modes to restrict file editing and commands. However, no user confirmation mechanism; tool calls execute commands directly. Data flow transparency is limited, only describing tool functions without explaining data flow. Sensitive data handling not mentioned. Dependencies have version ranges but no security audit. External effects are obvious (executing arbitrary commands), but no rollback mechanism. Source attribution partial: README mentions Aider modification but not full dependency sources. Deductions: lack of user confirmation, sensitive data handling, rollback mechanism.

2Reliability8 / 14 · 2.9/5

Evidence: README and test files are consistent; tool list matches tests. Dependencies listed in pyproject.toml but availability not verified. Failure messages partially shown in tests (e.g., invalid bg_command_id), but overall error handling documentation insufficient. Deductions: failure message coverage incomplete.

3Adaptability10 / 18 · 2.8/5

Evidence: README targets Claude users, provides multiple use cases (shell, file editing, modes). Capability boundaries explained via modes, but command restrictions in code-writer mode not enforced. Trigger precision: tool parameters clear, but mode switching relies on LLM understanding. Environment fit: supports Mac/Linux/WSL, but not native Windows. Deductions: command restrictions not enforced.

4Convention11 / 18 · 3.1/5

Evidence: README structure clear, includes installation, usage, examples. Installation instructions detailed, including Mac/Linux/WSL. Naming stable, tool names consistent. Examples and FAQ partially present. Known limitations mentioned in README (e.g., unrestricted risk). License is Apache-2.0, complete. Version changelog listed in README but no separate CHANGELOG. Maintenance responsibility not explicit. Deductions: no separate CHANGELOG, maintenance responsibility unclear.

5Effectiveness7 / 13 · 2.7/5

Evidence: Output usability: tools return structured output, e.g., bg_command_id. Marginal value: provides interactive shell and file editing, unique value. Cost-benefit: requires installing uv etc., but no performance data. Deductions: cost-benefit lacks data support.

6Verifiability3 / 8 · 1.9/5

Evidence: Some claims in README are supported by tests (e.g., bash parser tests), but no specific test results provided. Cross-source verification limited, only relying on README and tests. Fact/inference separation: README distinguishes feature descriptions and warnings, but some claims not clearly labeled. Deductions: lack of independent verification and clear fact/inference separation.

Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision e68885e2e08b
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Safety controls not found in source: confirmation before acting, sensitive-data handling, rollback or recovery path
Before you use it
  • This tool provides unrestricted shell access with no restrictions in default mode, posing risks of malicious use or dangerous commands due to AI hallucination.
  • Command restrictions in code-writer mode are not enforced; they rely on LLM compliance and can be bypassed.
  • No user confirmation mechanism; tool calls execute commands directly, potentially causing unintended changes.
  • No rollback mechanism; destructive commands cannot be automatically undone.
  • Sensitive data handling not addressed; lack of protection when handling passwords or other sensitive information.
Review evidence [1][2][3][4][5][6][7][8]
See the full review method →

What does this agent do, and when should you use it?

wcgw is a local MCP server for Claude and other MCP clients with integrated shell and code-editing tools. Once configured, a client can initialize a workspace, run commands, read files, create empty files, and edit existing files through search-and-replace blocks. When screen is available, commands run in a multiplexed terminal that a user can join through `screen -x` or the accompanying VS Code extension. Its ContextSave tool stores a task description and selected project files in one file for later resumption or knowledge transfer. The repository explicitly grants unfiltered access to the machine's shell and files, so it is suited to developers who accept that local-execution risk and want hands-on terminal control.

Initialize resets the shell, prepares a workspace, optionally reads initial files, and can resume a task_id_to_resume. BashCommand runs shell commands and can send interactive input through send_text, send_specials, or send_ascii. ReadFiles reads one or more files; WriteIfEmpty creates files or writes only to empty ones; FileEdit changes existing files with search/replace blocks; and ReadImage reads image files. Initialization returns a filtered repository structure and can load project or global CLAUDE.md/AGENTS.md; large files are chunked by token length. ContextSave records a description, project root, and relevant file globs as a resumable task context.

  1. A Claude Desktop user working in a local repository who wants the model to run tests, compile code, and poll a long-running command.
  2. An engineer who needs to join the terminal used by the model through the VS Code extension or screen -x to inspect output or provide interactive input.
  3. A maintainer changing a large source file who wants incremental search-and-replace edits after the model has read the file, with syntax-error feedback.
  4. A developer investigating an unfamiliar codebase who wants to request the read-only architect mode before any edits are made.
  5. A user handing off or resuming development work who needs ContextSave to preserve a task description and relevant files under a task ID.

What are this agent's strengths and limitations?

Pros
  • BashCommand supports interactive input, arrow keys, interrupts, and ANSI escape sequences rather than only one-shot command execution.
  • It supports multiple concurrent background commands alongside the main interactive shell and returns the current working directory after commands.
  • FileEdit uses search/replace blocks with multi-match checks, whitespace-tolerant matching, and near-match feedback; edit and write flows report syntax errors.
  • screen integration and the VS Code extension let a person join the exact terminal used by the model for observation, interruption, or input.
  • ContextSave packages a task description and relevant files for checkpoints and knowledge transfer.
Limitations
  • The repository warns that it gives the model unfiltered shell and filesystem access; hallucinated or malicious instructions can run dangerous commands or make unintended changes.
  • The documented Claude Desktop setup depends on uv and Python 3.12, while Windows support is limited to WSL.
  • In code-writer mode, allowed-command lists are only an instruction to Claude and are not actually enforced; the documentation marks this as WIP.
  • GPT relay support was removed in version 5 and later, and the supplied documentation has no current ChatGPT setup path.
  • Shared-terminal access depends on screen being installed, and running a new command in that session can interrupt new LLM commands.

How do you install or deploy this agent?

On macOS or Linux, install uv with brew install uv. Add "wcgw": {"command":"uvx","args":["--python","3.12","wcgw@latest"]} under mcpServers in ~/Library/Application Support/Claude/claude_desktop_config.json, then restart Claude Desktop. On Windows, the documented path is WSL only: install uv and configure %APPDATA%\Claude\claude_desktop_config.json with wsl.exe and args ["uvx","--python","3.12","wcgw@latest"]. The supplied setup does not require an API key or other credential.

How do you use this agent?

After restarting Claude Desktop and waiting for its MCP icon, ask Claude to execute commands, read files, edit files, or run code. To force a shell, append --shell and a path such as /bin/bash to the uvx arguments. Request architect, code-writer, or the default wcgw mode as appropriate. To join a running terminal, use screen -ls to find the wcgw session and run screen -x <session-name>. For Docker, build with docker build -t wcgw https://github.com/rusiaaman/wcgw.git, then configure an MCP server that invokes Docker run.

How does this agent compare with similar options?

The documentation describes its search-and-replace editing as Aider-like and says its architect mode was inspired by Aider's architect mode; it does not provide a systematic feature or performance comparison.

FAQ

Does wcgw require an API key?
The documented setup lists no API key or other credential. It is launched locally by Claude Desktop as an MCP server.
What can the model access?
The README explicitly states that the server provides unfiltered access to the local shell and files. Protections such as requiring a file read before editing do not restrict arbitrary shell commands.
Does it run directly on Windows?
The documented Windows route is WSL only, using wsl.exe to launch uvx.
Can a saved task be resumed later?
Yes. ContextSave can preserve a task description and relevant files, and a new chat can request resumption using the saved task ID.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents