Move your AI agent
onto niubash
Windows is the first battleground: every command the agent runs lands on real bash syntax, with deterministic output and git 3–7× faster. Agents are grouped into terminal / VSCode family / workarounds / not supported / not yet verified; cards with a switch script open to a copy-paste script, verification and a rollback path.
24 AI agents catalogued — 15 work out of the box · 38 more in the research pipeline
① I use Claude Code / Codex / Cursor…
Pick your agent in the directory — terminal-native and VSCode-family entries ship a switch script, verification and a rollback path.
Browse the directory →② My agent isn't listed
The universal wiring guide: four detection mechanisms + a three-step decision flow; any agent can be wired to niubash.
Read the universal guide →③ Let the agent install it itself
The AI portal: paste the one-click install prompt and your agent installs and wires up niubash on its own.
Open the AI portal →Works out of the box (terminal)
6 Wire the agent to niubash today using the methods belowZero-config support: launch it from a niu session and it just works; a persisted SHELL covers every launch method.
Works with no config by default: the installer drops a bash launcher right on the probe path; an env var can pin it explicitly.
The unixwin-maintained Codex fork ships ShellType::Niu built in — selected automatically once installed.
A single setting: point terminal.shell.program at niu.exe, and the agent shares that terminal.
One env var: on Windows the shell tool spawns GOOSE_SHELL and passes -c to any name that is not cmd/PowerShell — point it at niu.exe and done.
One command installs the plugin bundle: enables niu-sandbox and tool-bash, and disables the PowerShell row.
VSCode family
9 One shared probe, one entry each for all nine: VS Code and its forks / extensions — fix it once, the whole family followsThe family anchor: the GitHub Copilot agent runs commands through the editor's automation terminal and hits the family-shared probe by default — no configuration needed.
A Code OSS lineage fork: the automation terminal inherits the family-shared probe — it hits the launcher once niubash is installed, no configuration needed.
A VS Code lineage fork: the automation terminal inherits the family-shared probe — it hits the launcher once niubash is installed, no configuration needed.
AWS's agentic IDE (Code OSS lineage): wired per the family-shared probe on an inferred basis — agents.md marks it inferred, not machine-tested; it should hit the launcher once niubash is installed.
The family's only machine-verified member: the probe sequence in agents.md was read out of a ZCode app.asar (verified locally) — hits by default, no configuration.
An editor extension, not a standalone IDE: it never picks a shell itself — commands run through the host editor's terminal or automation profile and inherit the family probe.
A Cline-lineage editor extension: it never picks a shell itself — commands run through the host editor's terminal or automation profile and inherit the family probe.
An editor extension (Cline/Roo lineage): it never picks a shell itself — commands run through the host editor's terminal or automation profile and inherit the family probe.
An editor extension: it never picks a shell itself — commands run through the host editor's terminal or automation profile and inherit the family probe.
Workarounds
3 Doable in some scenarios; waiting on upstreamThe IDE side has a workaround (Legacy Terminal Tool); the Agent CLI currently hard-codes PowerShell and cannot be configured.
Investigation: the Devin CLI has no native niubash integration; it launches from a niu session, but devin setup and other Win32 console TUIs white-screen today — niubash#455 is open.
After forking gemini-cli it grew its own MSYSTEM/TERM sniffing and Git Bash lookup — set MSYSTEM=MINGW64 (experimental) to hit the installer-placed bash launcher.
Not supported yet
2 Upstream exposes no mechanism; issues are being trackedThe shipped code returns PowerShell on Windows outright — no bash branch; two upstream proposals track this.
/run always uses PowerShell or cmd; launching from inside niu does not change its choice.
Not yet verified
4 No per-machine test or code read yet — wire via the universal guide and report backNot verified yet: no local test or code read. Wire it via the universal four-mechanism guide and report back.
Not verified yet: no local test or code read (a Sourcegraph product, mostly closed source). Wire it via the universal guide.
Not verified yet: command execution usually happens inside a container/sandbox — where the host shell plugs in is still unverified.
Not verified yet: runs inside JetBrains IDEs; whether the host terminal's shell setting reaches its command execution is unverified.
Research pipeline · 调研中
38 Candidates from the ecosystem survey, none verified yet — one gets catalogued each time one is verified24 agents catalogued (15 work out of the box); another 38 candidates are in the research pipeline — priority goes to CLI/TUI agents that execute a local shell.
- Warp
- Copilot CLI
- Crush 28.7k★
- Droid
- Kimi Code CLI 7.9k★
- CodeBuddy Code
- iFlow CLI 5.1k★
- Plandex 15.8k★
- SWE-agent 20.6k★
- Jules
Other CLIs & products 9 Candidate products beyond the terminal-first set
| Name | Form | Vendor | Outlook | One-liner |
|---|---|---|---|---|
| Open Interpreter ↗ 59k★ | CLI | Open Interpreter | Needs config | 59k★ veteran project that lets LLMs run code/commands locally — the host-shell call point awaits a code read. |
| Auggie ↗ | CLI | Augment Code | Needs config | Augment Code's terminal agent (Auggie CLI, closed source) — awaits verification. |
| Codebuff ↗ | CLI | Codebuff | Needs config | A terminal coding agent with parallel multi-agent runs — awaits verification. |
| Grok Build ↗ | Web | xAI | Hard to verify | xAI's coding agent product, closed source with an undisclosed execution environment — too little verifiable surface. |
| grok-cli ↗ 3.5k★ | CLI | superagent-ai | Needs config | Community Grok terminal agent at 3.5k★ — awaits a code read. |
| Vibe CLI ↗ | CLI | Mistral AI | Needs config | Mistral's agentic coding CLI — awaits a code read. |
| ShellGPT ↗ 8k★ | CLI | TheR1D | Needs config | 8k★ natural-language-to-shell generator running locally — the wiring point is clear; the argument style awaits a code read. |
| aichat ↗ 9k★ | CLI | sigoden | Ready-candidate | sigoden's 9k★ all-in-one CLI: shell execution takes $SHELL — should work from a niu session; mechanism clear, machine test pending. |
| Forge ↗ 3k★ | CLI | Antinomy | Needs config | 3k★ open-source agent CLI in Rust — awaits a code read. |
Frameworks & engines 6 The wiring point lives in user code; no single verifiable surface
| Name | Form | Vendor | Outlook | One-liner |
|---|---|---|---|---|
| AutoGPT ↗ 187k★ | Framework | Significant Gravitas | Hard to verify | 187k★ elder of the autonomous agent frameworks — executors are assembled by user code; no single wiring point. |
| gpt-engineer ↗ 55k★ | Framework | Anton Osika | Hard to verify | 55k★ codegen pipeline framework — the shell is decided by user code. |
| MetaGPT ↗ 50k★ | Framework | FoundationAgents | Hard to verify | 50k★ multi-role 'software company' framework — the shell is decided by the execution environment. |
| CrewAI ↗ 60k★ | Framework | CrewAI | Hard to verify | 60k★ multi-agent orchestration framework — tool execution is assembled by the user. |
| smol developer ↗ | Framework | smol-ai | Hard to verify | A minimal human-in-the-loop codegen prototype — library-shaped, no fixed wiring point. |
| AutoCodeRover ↗ | CLI | nus-apr | Hard to verify | Research-grade autonomous bug-fixing agent (SWE-bench lineage), usually containerized — awaits verification. |
IDE & editor extensions 7 Commands mostly run through the host editor terminal
| Name | Form | Vendor | Outlook | One-liner |
|---|---|---|---|---|
| Tabnine Agent ↗ | IDE plugin | Tabnine | Needs config | In-IDE agent mode; commands run through the host editor terminal — follows automationProfile-style settings. |
| Sourcegraph Cody ↗ | Editor extension | Sourcegraph | Needs config | Editor extension; commands execute through the host terminal — follows the VS Code family probe / automationProfile. |
| JetBrains AI Assistant ↗ | IDE plugin | JetBrains | Needs config | Plugin across the JetBrains IDE family — the built-in terminal shell can point at niu.exe; whether that reaches the agent awaits testing. |
| Gemini Code Assist ↗ | Editor extension | Needs config | Agent mode of the VS Code/JetBrains extension — its state does not transfer to the blocked Gemini CLI (unconditional PowerShell); awaits testing. | |
| avante.nvim ↗ 15k★ | Editor extension | yetone | Ready-candidate | 15k★ Neovim plugin: Neovim's 'shell' option (&shell) can point at niu.exe — mechanism clear, machine test pending. |
| codecompanion.nvim ↗ 6.9k★ | Editor extension | olimorris | Ready-candidate | 6.9k★ Neovim plugin: agent commands run through Neovim's 'shell' option — mechanism clear, machine test pending. |
| gptel ↗ | Editor extension | karthink | Needs config | An Emacs LLM client: tool execution spawns system shells through Emacs subprocesses — awaits verification. |
Chinese products 6 Standalone IDEs and editor plugins
| Name | Form | Vendor | Outlook | One-liner |
|---|---|---|---|---|
| 通义灵码 Lingma ↗ | IDE plugin | Alibaba Cloud | Needs config | Alibaba Cloud's AI coding assistant (VS Code/JetBrains plugin) — commands run through the host editor terminal. |
| Qoder ↗ | GUI | Alibaba | Needs config | Alibaba's agentic IDE (standalone product) — terminal detection awaits a code read / testing. |
| 文心快码 Comate ↗ | IDE plugin | Baidu | Needs config | Baidu's AI coding assistant (VS Code/JetBrains plugin) — commands run through the host editor terminal. |
| CodeGeeX ↗ | IDE plugin | Zhipu AI | Needs config | Zhipu AI's coding plugin (many editors) — commands run through the host editor terminal. |
| iFlyCode ↗ | IDE plugin | iFlytek | Needs config | iFlytek's AI coding assistant (VS Code/JetBrains plugin) — commands run through the host editor terminal. |
| Fitten Code ↗ | IDE plugin | FittenTech | Needs config | FittenTech's AI coding plugin (many editors) — commands run through the host editor terminal. |
Outlook legend: Ready-candidate = mechanism known (configurable shell / takes $SHELL), awaiting a machine test · Needs config = probably configurable, awaiting a code read or test · Likely blocked = blocked by design (cloud execution / sandbox / hard-coded shell) · Hard to verify = closed source or no stable verifiable surface; sources are the outbound links on each row. Survey date: 2026-10-22.
The principle: how it picks a shell ($SHELL rule + uname signature table)
Launch the agent from inside a niu session: niu exports $SHELL, and any agent that honors the POSIX convention picks it up. $SHELL is not persisted — agents started from the Start menu will not see it; configure those per their detail pages.
echo "SHELL=$SHELL"; uname -s; uname -a
In plain terms: have the agent run the verify command above and match its output against
this table — MSYS_NT means it is already on niu (success); MINGW64
means it fell into Git Bash; Linux means it fell into WSL; a missing command
with an empty $SHELL means it is still on PowerShell/cmd.
uname -s = MSYS_NT-… (uname -a ends with x86_64 Msys) | niu (winuxcmd shim) ✓ MSYS_NT is a deliberate compatibility persona (uname reports MSYS so old scripts assume they are inside MSYS), not a real MSYS runtime — there is no MSYS inside niu. |
uname -s = MINGW64_NT-… (MSYSTEM=MINGW64) | Git Bash |
uname -s = Linux | WSL — the agent fell back to System32\bash.exe; fix per the detail page |
uname missing, $SHELL empty | PowerShell or cmd |
Status legend: Ready = configurable in the current version · Partial = workaround for some scenarios · Blocked = upstream exposes no mechanism · Unverified = no test or code read yet; source-read (not machine-tested) entries name their evidence in the detail page notes.
Detail pages behind these cards are English translations of the Chinese source (agents.md); the Chinese editions stay one click away on every page.
Source of truth for this page: Coding agents on Windows, and the shell they run (niubash repo docs/src/agents.md); icon provenance and licensing live in the repo's THIRD_PARTY_NOTICES.md