NatShell is a TUI that lets you type plain English and it plans/executes shell commands using a bundled local LLM (Qwen3 4B/8B or Mistral Nemo 12B). ReAct agent loop with 12 tools shell exec, file editing, code execution in 10 languages, git, etc.
I built it because I wanted an agentic CLI without cloud dependency or token costs. Everything runs on-device via llama.cpp (Vulkan/Metal/CPU).
Here are some of the design decisions that make Natshell different
- Safety classifier is regex-based, not LLM-based fast and deterministic
- Command chaining detection splits on &&/||/;/| before classification
- Context window auto-scaling from 4K to 1M tokens
- No sandbox it uses your real shell environment by design
MIT licensed runs on Linux/macOS/WSL. Happy to answer questions about the architecture.
mutant•1h ago
i mean, 'claude --dangerously-skip-permissions -p "categorize my downloads folder into iso date formats, by modified date" is pretty natlang
barent•1h ago
It is indeed! I made this primarily to see what I could do with smaller and local models and I wanted a utility I could always use for basic tasks that would work offline if need be. I even installed it on my phone in the new linux terminal feature. Performance there is not great but it was fun just to see that it worked.
barent•1h ago
I built it because I wanted an agentic CLI without cloud dependency or token costs. Everything runs on-device via llama.cpp (Vulkan/Metal/CPU).
Here are some of the design decisions that make Natshell different - Safety classifier is regex-based, not LLM-based fast and deterministic - Command chaining detection splits on &&/||/;/| before classification - Context window auto-scaling from 4K to 1M tokens - No sandbox it uses your real shell environment by design
MIT licensed runs on Linux/macOS/WSL. Happy to answer questions about the architecture.