Never touches your config
It works out state by sniffing: reading output and read-only file watching. It never writes to ~/.claude or ~/.codex, installs no hooks, runs no background services. Not a byte of your agent config gets touched.
A modern terminal manager built for vibe coding. Local-first, CJK-native. Let the agents run — who's burning, who's burned out, who's pinging you — all in plain sight. No intrusion, no login, no cloud.
macOS · Windows · always free and open source
What's different
It works out state by sniffing: reading output and read-only file watching. It never writes to ~/.claude or ~/.codex, installs no hooks, runs no background services. Not a byte of your agent config gets touched.
Agents get messy once you've got a few. It floats the stuck ones and the ones waiting on you to the top, so you're not clicking through each one to see who needs you.
It does the terminal basics well. No feature bloat, no ambition to become an agent workbench.
Wide characters, IME input, copying text with emoji in it — the things English terminals keep getting wrong. Handled here.
No login, no data collection, offline by default. It only goes online when you check for updates — and even then, it only reads.
All the code is public. Read it, change it, do whatever you want with it.
What it does
All the usual terminal features, plus state-awareness and orchestration built for a screen full of AI agents.
Working, waiting, stalled, or done — figured out without touching your config.
Screen full of agents? The stuck ones and the ones waiting on you go to the top.
Context left, 5h/7d quota, burn rate, cache, cost — all on one bar.
Token and cost numbers for Claude / Codex. Computed offline, exportable.
Mount a git worktree, one terminal tree per task.
Lay tasks out as cards, drag-select, send one command to several terminals.
Pop any task into its own window and keep watching.
WebGL-accelerated — and CJK still won't drop glyphs or stutter.
Custom keybindings and actions — drive the whole thing from the keyboard.
Handy presets for claude / codex / shell, a keystroke away.
Drag the widgets around; each agent type gets its own layout.
24 built-in sounds + quiet hours, only when an agent's state changes.
10 built-in themes, switch anytime, macOS and Windows.
How it works
Three layers of sniffing, plus read-only file watching. No hooks, no login, nothing written.
Command boundary markers from shell integration. The most reliable layer: it knows exactly when a command starts, ends, or sits waiting for input.
Matches the approval prompts of 11 common agents to tell when one's waiting on you.
If the braille spinner in the window title is moving, the agent's working.
Never writes ~/.claude or ~/.codex, installs no hooks, runs no background services. Every state is watched, never injected.
Straight talk
Almost every major AI-terminal repo has CJK bugs sitting open, buried under English users' urgent ones. Nobody's really done this part. VibeTerm treats it as actual work.
Data is current as of publication. Spot something off? PRs welcome.
Themes
The product's 10 built-in terminal themes are right here on this site. Click one and everything follows, from the nav to the terminal window.
Click to try
Credits
VibeTerm uses and borrows from these open-source projects.
Special thanks to ryoppippi's ccusage (MIT). The usage stats, model pricing, and 5-hour blocks all drew from it; pricing data comes from LiteLLM and Anthropic's official numbers.
Free, open source, everything local. Download and run, no signup.
macOS 11+ and Windows — same download page.
Or build it from source →