sill CLI

A drop-in bash.exe for coding agents on Windows: a Bash interpreter with no Git, MSYS2 or WSL, an MCP server and a Windows adapter

  • 271 ★ on the repository
  • Last commit
CLI

Broad access

Why this level

  • Runs arbitrary Bash commands for the agent and can change files and processes
  • The MCP server gives the client three tools that start and stop processes
  • The installer adds bash.exe to PATH and MCP entries to client configs
All reasons and checks

lemonadesaltbagel/sill

Install

Manual install

scoop bucket add sill https://github.com/lemonadesaltbagel/scoop-sill
scoop install sill/sill

Puts sill on PATH. bash.exe sits in ~\scoop\apps\sill\current. The install-windows.ps1 installer from the release takes -ClaudeCode and -Mcp codex,gemini,claude.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Runs arbitrary Bash commands for the agent and can change files and processes
  • The MCP server gives the client three tools that start and stop processes
  • The installer adds bash.exe to PATH and MCP entries to client configs

This is third-party code. Review the repository files before installing.

What it does

sill is a Bash interpreter (a fork of brush) with a Windows adapter built for the way agents run commands. An agent on Windows rarely loses commands in its own reasoning, it loses them at the boundary between shell and system: asterisks and quotes get mangled on their way to `.exe` and `.bat`, `/c/...` and `C:\...` paths get mixed up, non-English text turns to mojibake, a console window flashes up per command, background servers hold the output pipe, and `make`, `rg`, `ps` and `lsof` are missing. sill takes each one on and covers it with a test. The package installs a `bash.exe` that Claude Code uses as its shell. For Codex CLI, Gemini CLI, Claude Desktop and any MCP client there is a built-in server: `bash.exe --mcp` exposes three tools, `bash`, `bash_output` and `bash_kill`. Each command runs in a fresh process inside a Job Object, so a crash or a timeout cannot take the server down and ends everything the command started. The author reports measurements: on a 108-case conformance suite sill passes 108 and Git Bash 78. On 36 tasks with Codex CLI and Gemini CLI the MCP server scored 36 of 36 against 35 and 31 for PowerShell alone.

Who it is for. Developers on native Windows who run Claude Code, Codex CLI or Gemini CLI and lose commands at the shell boundary, without Git Bash or WSL.

Good fit when

  • An agent on Windows breaks arguments with asterisks and quotes when calling `.bat` files and programs
  • File names and output in Cyrillic or Chinese arrive as mojibake
  • A background dev server hangs and holds the output pipe until the timeout
  • Codex CLI or Gemini CLI needs a Bash shell through MCP instead of PowerShell
  • The environment has no Git or WSL and the agent needs `rg`, `make`, `ps` and `jq`

Not a fit when

  • You work on macOS or Linux, which have a full Bash
  • You need full compatibility with any Bash script, including `set -e` across MCP calls: part of the state does not carry between calls
  • You need a shell for people: sill is tuned for agent commands

Example request

Run make in this project through sill and show the output, including Cyrillic messages

Limitations

Windows only. State that carries between MCP calls is the working directory, exported variables, functions, aliases and options; `set -e` and unexported variables do not. Commands run one at a time, parallel client calls run in no set order, and dependent commands are better chained in a single call. Java writes console output in the ANSI code page when it goes to a pipe, so non-Latin Java output can arrive garbled. sill itself creates one folder: `\tmp` on the current drive.

How to disable. Remove sill with scoop uninstall sill or the %LOCALAPPDATA%\Programs\sill folder. Remove the MCP entry from the Codex, Gemini CLI or Claude Desktop config and restore Claude Code's shell setting.

FAQ

Which tools does the MCP server expose?

Three: bash runs a command and returns stdout, stderr and exit code, bash_output reads a background job's new output, and bash_kill stops it with everything it started.

Are Git, MSYS2 or WSL required?

No. sill is a self-contained bash.exe and needs nothing else.

How do I wire MCP into Codex and Gemini CLI?

The install-windows.ps1 installer takes -Mcp codex,gemini,claude and adds the server itself. For other MCP clients give the command bash.exe with the argument --mcp over stdio.

How do I install it?

Through Scoop (scoop bucket add sill, scoop install sill/sill) or with the install-windows.ps1 script and the release archive, which unpacks to %LOCALAPPDATA%\Programs\sill.

Do npm scripts work?

Yes, npm, npx, yarn and pnpm run package.json scripts in sill unless you have configured a script shell.

Discussion

No questions or reviews yet.

CLI tools
Official

fauxnix translates an agent's bash commands into PowerShell and runs them on Windows with no WSL or VM, returning GNU-style output and error messages

MCP serverBroad access900Repository stars

MCP server giving an agent a PowerShell 7 console shared with the user: commands appear live, passwords and MFA codes stay manual.

MCP serverBroad access110Repository stars

A command-line SSH tool for agents: remote execution, file upload and download, and command allow and block lists.

CLIBroad access88Repository stars

Console Automation MCP gives an agent local shells and SSH sessions: input, output, error detection, long processes

MCP serverBroad access54Repository stars

squeez compresses bash output by up to 95 percent in the hooks of seven AI CLIs and preserves exact identifiers

CLIExtended access231Repository stars

A native Bash-compatible shell written in Rust for Windows, Linux and macOS, running agent commands exactly as written.

CLIBroad access268Repository stars

README in short

The description starts with the problem: agents on Windows lose commands at the boundary between shell and system. It gives results from a 108-case suite, runs with real agents and public Terminal-Bench and SWE-bench benchmarks, then install, wiring into agents, the MCP server and known limits.

README badge

Report a problem