A colorful, fast, terminal-first AI coding assistant.
Multi-LLM chat • OAuth • Web fetch • Images • Agent Skills • Plugins • Sandboxed coding tools • Termux-ready
npm install -g @simplelittledev/fastcode
fastcodeShort alias:
fcFastCode is a terminal-first AI coding assistant. It supports Anthropic, OpenAI, Sign in with ChatGPT/Codex, Google Gemini, OpenRouter, Groq, DeepSeek, Mistral, and Ollama. It ships with slash commands, web fetch, shell helpers, image attachments, Agent Skills, plugin packs, and a sandboxed coding-agent mode.
It runs on Linux, macOS, Windows, and Android through Termux.
| Feature | What You Get |
|---|---|
| 🎨 Smooth TUI | Responsive status bar, hidden banner during chat, Termux stable UI |
| 🤖 Multi-provider | Anthropic, OpenAI, Gemini, OpenRouter, Groq, DeepSeek, Mistral, Ollama |
| 🔐 OAuth | Claude Code OAuth and ChatGPT/Codex OAuth via PKCE |
| 🌐 Web + Shell | /web fetches pages, /sh runs local commands |
| 🖼️ Images | /img and drag-and-drop image attachments |
| 🧠 Agent Skills | Install and enable SKILL.md workflows |
| 🧩 Plugins | Import always-active plugin packs with bundled skills |
| 🛠️ Coding Agent | Shell, file editing, grep, patching, and sandboxed local tools |
npm install -g @simplelittledev/fastcode
fastcodeRun without installing globally:
npx @simplelittledev/fastcodeStart with a prompt:
fastcode "explain this repository"Use environment variables:
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
export OPENROUTER_API_KEY="sk-or-..."Or save a key inside FastCode:
/login openai sk-...
/login anthropic sk-ant-...
OAuth-supported providers can sign in with:
/login anthropic --oauth
/login openai --oauth
| Provider | Default Model | Auth |
|---|---|---|
anthropic |
claude-3-5-sonnet-latest |
ANTHROPIC_API_KEY, CLAUDE_API_KEY, or OAuth |
openai |
gpt-4o-mini |
OPENAI_API_KEY or ChatGPT/Codex OAuth |
google |
gemini-1.5-flash |
GEMINI_API_KEY or GOOGLE_API_KEY |
openrouter |
anthropic/claude-3.5-sonnet |
OPENROUTER_API_KEY |
groq |
llama-3.3-70b-versatile |
GROQ_API_KEY |
deepseek |
deepseek-chat |
DEEPSEEK_API_KEY |
mistral |
mistral-small-latest |
MISTRAL_API_KEY |
ollama |
llama3.2 |
Local, no API key required |
Switch anytime:
/provider ollama
/model qwen2.5-coder:7b
Agent mode is enabled by default and works with any provider, including local Ollama models. The model can request local tools through FastCode's universal text tool protocol.
/agent status
/agent on
/agent off
/tools
/cwd
Available tools:
shell, pwd, read_file, read_many, write_file, append_file, apply_patch,
replace_in_file, list_files, grep, stat_path, make_dir, copy_file,
move_path, delete_file
Tools run inside a sandbox rooted at the directory where you start FastCode. File tools cannot access paths outside that root. Shell commands run with:
FASTCODE_SANDBOX=1
FASTCODE_SANDBOX_ROOT=<current-working-directory>
Example:
cd ~/my-project
fastcode "run the tests, find the failing file, patch it, and verify the fix"FastCode supports Anthropic-style Agent Skills.
/skills search pdf
/skills install pdf
/skills install anthropics/skills/pdf
/skills install https://example.com/my-skill/SKILL.md
/skills enable pdf
/skills list
/skills info pdf
Installed skills live under:
~/.fastcode/skills/<name>/SKILL.md
Plugins are always-active behavior packs. A plugin folder can contain:
my-plugin/
├── PLUGIN.md
└── skills/
└── reviewer/
└── SKILL.md
Manage plugins:
/plugin import ./my-plugin reviewer
/plugin list
/plugin info reviewer
/plugin disable reviewer
/plugin enable reviewer
/plugin remove reviewer
Installed plugins live under:
~/.fastcode/plugins/
Attach images with:
/img /path/to/photo.png
/img list
/img clear
You can also drag and drop a file into terminals that paste dropped paths.
On Termux, run termux-setup-storage first and use paths under
/storage/emulated/0/....
Vision-capable providers receive images as multimodal content blocks. Text-only models ignore the attachment.
| Command | Action |
|---|---|
/help |
Show command list |
/agent [on/off/status] |
Toggle local coding-agent tools |
/tools |
Show available coding tools |
/cwd |
Show agent sandbox root |
/plugin ... |
Import and manage always-active plugin packs |
/provider [id] |
List or switch provider |
/model [id] |
List or switch model |
/login <provider> <key> |
Save API key |
/login <provider> --oauth |
Sign in via Claude Code or ChatGPT OAuth |
/logout <provider> |
Remove API key and cached OAuth tokens |
/web <url> |
Fetch a page and inject text into chat |
/sh <cmd> |
Run a local shell command |
/img <path> |
Attach an image to the next message |
/skills ... |
Search, install, enable, disable, list skills |
/theme [id] |
Switch theme |
/cost |
Show token and cost usage |
/system [text] |
Show or update system prompt |
/whoami |
Show configured provider keys |
/config |
Print config and paths |
/clear |
Clear conversation |
/reset |
Reset config |
/about |
Show version and platform |
/exit |
Quit |
Keyboard controls:
Esc cancel streaming
Ctrl+C press twice to quit
/theme fastcode
/theme neon
/theme sunset
/theme matrix
/theme mono
Termux enables stable UI automatically. You can force it anywhere:
FASTCODE_STABLE_UI=1 fastcodepkg install nodejs
npm install -g @simplelittledev/fastcode
fastcodeIf the command is not found:
npm bin -g
echo "$PATH"FastCode stores state under:
~/.fastcode/
├── config.json
├── auth.json
├── skills/
├── plugins/
├── cache/
├── sessions/
└── logs/
Override the root:
FASTCODE_HOME=/path/to/fastcode fastcodegit clone https://github.com/SimpleLittleDev/FastCode
cd FastCode
npm install
npm run devQuality gate:
npm run checkRun the built CLI:
node ./bin/fastcode.mjsnpm publish --access publicThe package exposes:
{
"bin": {
"fastcode": "./bin/fastcode.mjs",
"fc": "./bin/fastcode.mjs"
}
}MIT © SimpleLittleDev