🤖 Powered by Local LLM

Fix your shell typos with AI

An AI-powered command corrector that runs entirely on your machine. No API keys, no cloud, no internet required after setup.

Terminal
$ gti status
zsh: command not found: gti
$ fix "gti status"
git status

Quick Install

curl -fsSL https://animeshkundu.github.io/fix/install.sh | sh
irm https://animeshkundu.github.io/fix/install.ps1 | iex
cargo install --git https://github.com/animeshkundu/fix fix-cli

Installs both wit (smart) and fix (fast). Model downloads automatically (~1GB for wit)

Why developers choose fix

AI-powered corrections without compromising your privacy

🔒

Privacy First

Your commands never leave your machine. No telemetry, no API calls, no data collection. What happens in your terminal stays in your terminal.

Lightning Fast

Sub-100ms inference on Apple Silicon with Metal GPU. Near-instant corrections that keep up with your typing speed.

📡

Works Offline

After the initial one-time model download, everything runs locally. Perfect for air-gapped environments or unreliable connections.

🤖

AI Powered

Uses a fine-tuned Qwen3-0.6B model that understands shell command patterns. Handles novel typos that rule-based systems would miss.

🖥️

Cross Platform

Native binaries for macOS (Intel and Apple Silicon), Linux (x64, ARM64), and Windows. GPU acceleration where available.

📦

Single Binary

No Python, no Node.js, no runtime dependencies. Just one executable that downloads its model on first run.

Local AI vs Cloud APIs

Your commands are private. Keep them that way.

fix Local LLM
  • Runs entirely on your machine
  • No API keys or subscriptions
  • Works offline forever
  • Zero data leaves your computer
  • One-time 400MB download
  • Sub-100ms response time
vs
Cloud APIs Requires Internet
  • Sends commands to remote servers
  • Requires API keys and billing
  • Fails without internet
  • Commands stored in logs
  • Ongoing costs per request
  • Network latency (200-500ms)

See it in action

Common typos fixed instantly

Git
gti status git status
git pul origin main git pull origin main
Docker
dcoker ps -a docker ps -a
docker biuld -t myapp . docker build -t myapp .
Package Managers
npm isntall npm install
pip instal requests pip install requests
Kubernetes
kubeclt get pods kubectl get pods
kubectl delte pod nginx kubectl delete pod nginx
Rust
cagro build --release cargo build --release
cargo tset cargo test
Python
pytohn script.py python script.py
pyton -m venv myenv python -m venv myenv

How fix works

Simple setup, powerful results

1

Install

Download the single binary for your platform. No dependencies required.

2

First Run

On first use, fix downloads a small AI model (~400MB) fine-tuned for shell commands.

3

Fix Typos

Run fix "your typo" and get the corrected command instantly. No internet needed.

Get started

Install in seconds, works forever

🐧

Linux

curl -fsSL https://animeshkundu.github.io/fix/install.sh | sh

x86_64 and ARM64 supported

🍎

macOS

curl -fsSL https://animeshkundu.github.io/fix/install.sh | sh

Intel and Apple Silicon with Metal GPU

🪟

Windows

irm https://animeshkundu.github.io/fix/install.ps1 | iex

PowerShell 5.1+

🚀 Shell Integration

Set up a shortcut to automatically correct and run your last failed command

After setup, just type fix with no arguments to correct your previous command. Supported on all major shells across macOS, Linux, and Windows.

Add to ~/.bashrc:

fix() { if [[ -n "$1" ]]; then command fix "$@"; else local cmd=$(fc -ln -1); local c=$(command fix "$cmd"); echo "→ $c"; eval "$c"; fi; }

Add to ~/.zshrc:

fix() { if [[ -n "$1" ]]; then command fix "$@"; else local cmd=$(fc -ln -1); local c=$(command fix "$cmd"); echo "→ $c"; eval "$c"; fi; }

Add to ~/.config/fish/functions/fix.fish:

function fix --wraps='command fix'; if test (count $argv) -gt 0; command fix $argv; else; set c (command fix (history --max=1)); echo "→ $c"; eval $c; end; end

Add to your $PROFILE:

function fix { if ($args) { & fix.exe @args } else { $c = & fix.exe (Get-History -Count 1).CommandLine; Write-Host "→ $c"; iex $c } }

Add to ~/.tcshrc (use fixlast to correct last command):

alias fixlast 'set _cmd = `history -h 1` && set _fix = `fix "$_cmd"` && echo "→ $_fix" && eval "$_fix"'

Use fix directly (cmd has limited history access):

fix.exe "gti status"

Ready to fix your typos?

Join developers who type faster and let AI handle the mistakes.