Two commands to five tools
Install the binary, register it as an MCP server, restart your client. That's it.
Restart your client. Five tools appear:
| Tool | What it does |
|---|---|
| sh_run | Run a command. Output is squashed, categorized, and enriched with diagnostics on failure. |
| sh_spawn | Start a background process. Wait-for-ready patterns, aliases, output spools. |
| sh_interact | Send input, read tail, signal, or kill a running process. |
| sh_session | Named PTY sessions with full lifecycle control. |
| sh_help | Self-documenting reference card. Your agent reads it, never needs a manual. |
macOS + Linux · Works with Claude Code, Cursor, Windsurf, or any MCP-compatible client
What one binary gives your agent
Structured on every response
Exit code, timing, and command category. Your agent never parses raw text to know what happened.
Output squashing
ANSI stripping, progress removal, dedup, Oreo truncation. The noisy middle disappears. Head and tail survive.
Error enrichment
When commands fail, mish pre-walks paths, checks permissions, and lists nearby files — before your agent has to ask.
Watch patterns
Regex filters at the source, not in the context window. A full test suite returns only the lines that match.
Process supervision
Named handles, output spools, wait-for-ready. The process table rides along on every response for free.
6-category classification
condense, narrate, passthrough, structured, interactive, dangerous. Every command gets the handler it deserves.
Measured, not promised
Same commands. Same machine. Same session. mish vs bare shell on a real Rust codebase.
| Scenario | Reduction | How |
|---|---|---|
| Full test suite | 6.6× | Dedup + Oreo truncation — head and tail kept, repetitive middle dropped |
| Test suite + watch | 440× | Only regex-matched lines return |
| Failed command | 5→1 round trips | Path walks, permissions, nearest dirs — pre-fetched on failure |
Three identical warning structures collapsed to one. Next-run flag suggested.
Head and tail preserved. Hidden region scanned for errors. Repeated patterns collapsed.
Same test suite. Same 1,319 lines executed. Three returned.
One call. Source checked, path walked, permissions verified, nearby dirs listed.