fauxnix MCP
fauxnix переводит bash-команды агента в PowerShell и выполняет их на Windows без WSL и виртуальной машины, с выводом и ошибками в стиле GNU
- 903 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Выполняет переведенные команды в PowerShell напрямую на вашей системе, включая удаление и перемещение файлов
- Экспериментальный режим подменяет встроенный инструмент Bash в Claude Code собранным бинарником на основе node.exe
- MCP-сессия хранит переменные окружения и текущую папку между вызовами, в том числе значения, которые агент установил сам
Установка
- Работает в
Ручная установка
npm install -g fauxnix-cliПосле установки выполните fauxnix install --claude (или --codex, --opencode, --kimi, --qwen) и fauxnix doctor для проверки.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Выполняет переведенные команды в PowerShell напрямую на вашей системе, включая удаление и перемещение файлов
- Экспериментальный режим подменяет встроенный инструмент Bash в Claude Code собранным бинарником на основе node.exe
- MCP-сессия хранит переменные окружения и текущую папку между вызовами, в том числе значения, которые агент установил сам
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
fauxnix — слой перевода команд для агента на Windows: агент пишет привычный bash (`ls -la | grep foo`, `find . -name '*.ts' | wc -l`), а fauxnix детерминированно переводит каждую команду в PowerShell, выполняет эту команду через .NET и возвращает вывод в формате GNU: колонки `ls -l`, сообщения об ошибках в стиле bash вместо дампов `CategoryInfo`, коды возврата coreutils, автоматическую обработку UTF-8 и GBK. Переведено 109 команд: работа с файлами, обработка текста, процессы, архивы, базовая сеть, сверенные построчно с реальным GNU coreutils через Git Bash на этапе разработки. Команда `fauxnix mcp` поднимает stdio MCP-сервер с одним инструментом `bash` (имя меняется переменной `FAUXNIX_TOOL_NAME`), который держит сессию как обычный вход в оболочку: текущая папка, переменные окружения, экспорт и `cd -` сохраняются между вызовами инструмента. Инструмент `bash_batch` компилирует весь план из нескольких шагов до начала выполнения, выполняет его атомарно в одной сессии и останавливается на первом шаге с ненулевым кодом возврата, если не указано иное. Установка `fauxnix install --claude` подключает MCP-сервер к Claude Code одной командой, а экспериментальный режим `fauxnix install --claude-shell` подменяет встроенный в Claude Code Bash на собранный бинарник на основе node.exe, который сам отвечает на bash-синтаксис без отдельного MCP-сервера и дополнительных обращений по протоколу на каждую команду.
Для кого. Для тех, кто запускает агентов на Windows без WSL и Git Bash и хочет, чтобы агент продолжал писать привычный bash, получая результат в формате GNU, а не сырой вывод PowerShell.
Подходит, если
- Агент на Windows пишет bash-команды, а PowerShell выдает их результат в непривычном формате или с ошибками парсинга
- Нет возможности поставить WSL или Git Bash на машину, где работает агент: нужна виртуальная машина или много гигабайт
- Агентов запускают флотом на разных машинах Windows, и состав установленного bash-инструментария на них непредсказуем
- Нужна сессия оболочки, которая помнит текущую папку и переменные между вызовами инструмента, а не выполняет каждую команду заново
Не подходит, если
- На машине уже есть рабочий Git Bash: авторы прямо советуют оставить его, потому что сам fauxnix использует Git Bash как эталон при тестировании перевода
- Нужна команда вне 109 переведенных: инструмент заявленно переводит только определенное подмножество bash, а не всю оболочку целиком
- Нет Node.js 22.20.0 или новее: более ранние версии Node 18 и 20 в этой версии не поддерживаются
- Используется не Windows: инструмент переводит bash в PowerShell для Windows, на других системах смысла в нем нет
Пример запроса к агенту
Найди в проекте все файлы .log старше 7 дней и покажи их размер, используй обычные bash-командыMCP
- Транспорт
- stdio
- Авторизация
- не нужна
Переменные окружения
FAUXNIX_TOOL_NAME- Переименовывает инструмент bash на другое имя, если оно занято в клиенте
Ограничения
Лицензия MIT.
- Требует Windows с PowerShell 5.1 или новее (встроен) и Node.js 22.20.0 или новее; версии Node 18 и 20 в этой версии не поддерживаются.
- Переведенное подмножество покрывает 109 команд из файловых операций, обработки текста, процессов, архивов и базовой сети, а не всю Linux-оболочку: на непереведенной команде инструмент останавливается с понятной ошибкой, а не выполняет ее приблизительно.
- Экспериментальный режим `--claude-shell` подменяет встроенный Bash Claude Code копией node.exe весом около 85 мегабайт с внедренной логикой через Node SEA, автор сам называет его компромиссным решением до появления компактной сборки.
- Имя пакета в npm — `fauxnix-cli`, а не `fauxnix`: короткое имя уже занято несвязанной библиотекой для веб-сокетов 2015 года, при этом установленная команда называется `fauxnix`.
- В неинтерактивном режиме `codex exec` вызовы инструментов MCP по умолчанию отклоняются слоем подтверждения Codex: нужен либо флаг обхода песочницы, либо интерактивный запуск с ручным подтверждением.
Как отключить. Выполните `fauxnix install --claude-shell-off`, чтобы вернуть прежнюю настройку Bash в Claude Code, затем удалите запись fauxnix из конфигурации MCP (`claude mcp remove fauxnix`) или уберите блок `mcpServers`/`mcp` для fauxnix из конфигурации другого клиента, после чего `npm uninstall -g fauxnix-cli`.
Частые вопросы
Нужен ли WSL для работы fauxnix?
Нет, это главное отличие от WSL: fauxnix обходится без виртуальной машины и лишних гигабайт, переводя команды напрямую в PowerShell через .NET. Единственная зависимость кроме Windows — установленный Node.js 22.20.0 или новее.
Что происходит, если агент написал команду, которую fauxnix не умеет переводить?
Инструмент останавливается с понятной ошибкой вместо того, чтобы выполнить команду приблизительно и вернуть неверный результат. Автор называет это правилом «громкого провала»: лучше явный отказ, чем молчаливо неправильный ответ.
Чем bash_batch отличается от обычных вызовов bash по одной команде?
bash_batch сначала компилирует весь план из нескольких шагов, затем выполняет его атомарно в одной сессии и возвращает по одному структурированному результату на шаг за один обмен по протоколу MCP. По умолчанию выполнение останавливается на первом шаге с ненулевым кодом возврата.
Что такое экспериментальный режим --claude-shell?
Он подменяет сам встроенный в Claude Code Bash собранной копией node.exe с внедренной логикой fauxnix, поэтому команды выполняются без отдельного MCP-сервера и без обращения по протоколу на каждый вызов. Автор прямо называет сборку весом около 85 мегабайт временным решением до появления компактного бинарника.
Сохраняется ли текущая папка между командами агента?
Да, MCP-сессия fauxnix ведет себя как обычный вход в оболочку: текущая папка, переменные окружения, export, unset и cd - сохраняются между вызовами инструмента bash, а не сбрасываются на каждую команду заново.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыSSH MCP Server (classfang) — команды на сервере по SSH
SSH MCP Server (classfang)
MCP-сервер для SSH: агент выполняет команды, читает и пишет файлы по SFTP, передает файлы и запускает долгие задачи, а пароли остаются у вас
MCP SSH Manager
mcp-ssh-manager
Управление несколькими SSH-подключениями из Claude Code и Codex: команды, перенос файлов, базы данных и бэкапы. Стабильная ветка в npm, в GitHub бета 4.0
MCP-сервер по ресурсам NixOS: поиск пакетов и опций, чтобы агент не выдумывал названия и настройки
MCP-сервер из SSH-менеджера purple: агент читает хосты из ~/.ssh/config и контейнеры на них, а команды и управление контейнерами включаются отдельно
SSH MCP
ssh-mcp
SSH-сервер с упором на безопасность: классификация команд, авторизация по политикам и разные способы входа. Выполняет команды на удаленных серверах
Нативный терминал для macOS на базе Ghostty с вертикальными вкладками и уведомлениями, когда агенту нужен ответ
Коротко о README
Описание репозитория открывается значками версии npm, числа загрузок и оценки на каталоге Glama, а первый блок дает команду npx для пробного запуска без установки. Отдельный раздел «Измерено» приводит таблицу сравнения с чистым PowerShell на одной модели и пяти задачах и ссылки на полные замеры по семи моделям. В конце идет таблица переведенных команд по категориям (файлы, текст, процессы, архивы, сеть) и перечень известных пределов перевода.