Claudes Code, Codex, shells, and editors in joyful harmony. Speak with the dead, jump to your phone, and more.
CLIs in tabs and panes | Forever coding agent history | What if tmux and Claude fell in love?
- Tabs and panes β Organize projects with multiple coding agents, shells, browsers, editors, and more on a tab - and as many tabs as you want.
- Desktop, laptop, phone β Run on your main machine, then work on your project anywhere via VPN or Tailscale.
- Speak with the dead β Resume any Claude or Codex session from any device (even if you weren't using freshell to run it)
- Fancy tabs β Auto-name from terminal content, drag-and-drop reorder, and per-pane type icons so you know what's in each tab
- Freshclaude β An interactive alternative to Claude CLI that works with your Anthropic subscription.
- Self-configuring workspace β Just ask Claude or Codex to open a browser in a pane, or create a tab with four subagents. Built-in tmux-like API and skill makes it simple.
- Live pane headers β See your active directory, git branch, and context usage in every pane title bar, updating live as you work
- Activity notifications β Configurable attention indicators (highlight, pulse, darken) on tabs and pane headers when a coding CLI finishes its turn, with click or type dismiss modes
- Mobile responsive β Auto-collapsing sidebar and overlay navigation for phones and tablets
# Clone the repository at the latest stable release
git clone --branch v0.6.0 https://github.com/danshapiro/freshell.git
cd freshell
# Install dependencies
npm install
# Build and run
npm run serveOn first run, freshell auto-generates a .env file with a secure random AUTH_TOKEN. The token is printed to the console at startup β open the URL shown to connect.
Node.js 18+ (20+ recommended) and platform build tools for native modules (windows-build-tools on Windows, Xcode CLI Tools on macOS, build-essential python3 on Linux).
Note: On native Windows, terminals default to WSL. Set
WINDOWS_SHELL=cmdorWINDOWS_SHELL=powershellto use a native Windows shell instead.
npm run dev # Development with hot reload
npm run serve # Production build and run| Shortcut | Action |
|---|---|
Ctrl+Shift+[ |
Previous tab |
Ctrl+Shift+] |
Next tab |
Ctrl+Shift+ArrowLeft |
Move tab left |
Ctrl+Shift+ArrowRight |
Move tab right |
Ctrl+Shift+C |
Copy selection (in terminal) |
Ctrl+V / Ctrl+Shift+V |
Paste (in terminal) |
Right-click / Shift+F10 |
Context menu |
| Variable | Required | Description |
|---|---|---|
AUTH_TOKEN |
Auto | Authentication token (auto-generated on first run, min 16 chars) |
PORT |
No | Server port (default: 3001) |
ALLOWED_ORIGINS |
No | Comma-separated allowed CORS origins (auto-detected from LAN) |
CLAUDE_HOME |
No | Path to Claude config directory (default: ~/.claude) |
CODEX_HOME |
No | Path to Codex config directory (default: ~/.codex) |
WINDOWS_SHELL |
No | Windows shell: wsl (default), cmd, or powershell |
WSL_DISTRO |
No | WSL distribution name (Windows only) |
CLAUDE_CMD |
No | Claude CLI command override |
CODEX_CMD |
No | Codex CLI command override |
OPENCODE_CMD |
No | OpenCode CLI command override |
GEMINI_CMD |
No | Gemini CLI command override |
KIMI_CMD |
No | Kimi CLI command override |
GOOGLE_GENERATIVE_AI_API_KEY |
No | Gemini API key for AI-powered terminal summaries |
Freshell indexes local session history and can launch terminals for these coding CLIs:
| Provider | Session history | Launch terminals | Home directory |
|---|---|---|---|
| Claude Code | Yes | Yes | ~/.claude |
| Codex | Yes | Yes | ~/.codex |
| OpenCode | β | Yes | β |
| Gemini | β | Yes | β |
| Kimi | β | Yes | β |
Enable/disable providers and set defaults in the Settings UI or via ~/.freshell/config.json.
- Frontend: React 18, Redux Toolkit, Tailwind CSS, xterm.js, Monaco Editor, Zod, lucide-react
- Backend: Express, WebSocket (ws), node-pty, Pino, Chokidar, Zod
- Build: Vite, TypeScript
- Testing: Vitest, Testing Library, supertest, superwstest
- AI: Vercel AI SDK with Google Gemini
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License β see LICENSE for details.
Made with terminals and caffeine
