MIT licensed Local-first Zero telemetry

Command your agents. Drown in none.

VibeTerm is a modern terminal manager built for vibe coding. Zero-intrusion awareness of every AI agent's state and urgency — local-first, CJK as a first-class citizen, nothing uploaded, nothing left behind.

macOS 11+ · Windows soon · Free & open source forever

vibeterm

Why it's different

Not just another agent workbench.

00

Zero intrusion

Agent state comes purely from sniffing and read-only watching. It never writes to ~/.claude or ~/.codex, installs no hooks, runs no daemons — not a single byte of your agent config is touched.

01

Tame many agents

More than just running agents: see every agent's state and urgency at a glance — who's stuck, who's waiting on you, who needs a look — auto-ranked, calmly orchestrated.

02

A terminal is a terminal

The terminal fundamentals, honed — never bloating into an agent workbench.

03

CJK first-class

Unicode 15 graphemes, East-Asian wide characters, IME input, copy that never splits surrogate pairs or ZWJ — Chinese, Japanese and Korean handled end to end.

04

Local-first · privacy-first

No account, no telemetry, offline by default; it only goes online when you manually check for updates — read-only, nothing uploaded.

05

MIT open source

Fully open code — review and contributions welcome.

Features

The missing piece for multi-agent workflows.

Everything a terminal should have, plus state awareness and orchestration designed for a screen full of AI agents.

Agent awareness

Pure state sniffing

Running / waiting / stalled / done — zero-intrusion detection of what each agent is doing right now.

Stall detection + urgency ranking

A screen full of agents — whoever is stuck or waiting on you floats to the top.

Live usage monitoring

Context %, 5h/7d quota, burn rate, cache TTL, cost — all in one view.

Usage stats panel

Token and cost estimates for Claude / Codex — aggregated offline, exportable.

Terminal power

n-way splits + worktrees

Mount git worktrees; one independent terminal tree per task.

Canvas board

Tasks as cards, marquee-select, broadcast a command to many terminals.

Floating windows

Pop any task into its own window and keep watching.

GPU rendering

WebGL-accelerated and CJK-native — smooth, never dropping a glyph.

Productivity & customization

Command palette

Custom keybindings and actions for fluid keyboard control.

Prompt library

Presets for claude / codex / shell scenarios, a keystroke away.

Configurable status bar

Drag to arrange widgets, with a separate profile per agent type.

Desktop notifications

24 built-in sounds + quiet hours — only when an agent's state changes.

Hot-swappable themes

10 built-in themes, switch instantly, across macOS / Windows.

Zero-intrusion mechanism

How does it read agents without touching your config?

Three layers of pure sniffing + read-only file watching. No hooks, no account, no writes.

01

OSC 133 / 633 sequences

Shell-integration command boundary markers — the most reliable layer, pinpointing command start / end / prompt-ready.

02

Agent stdout rules

Regex matching of 11 popular agents’ authorization prompts to detect "waiting for your input".

03

OSC title spinner

A braille spinner moving in the window title = the agent is working.

Red line: zero intrusion

Never writes ~/.claude or ~/.codex, never installs a hook, never runs a daemon. Every state is observed, not injected.

Five states, one glance.

Running Steady blue dot with a glow — the agent is working.
Waiting Breathing amber dot — it's waiting on you; time to look.
Stalled Red-orange ring — silent for over 5 minutes, possibly stuck.
Idle Still grey dot — no activity right now.
Done Outlined ring with strikethrough — the task is truly finished.

CJK, proven

No major English AI terminal treats CJK as P0.

Nearly every major AI-terminal repo carries long-unfixed CJK issues, perpetually buried under English users' P0 bugs. It's a structural gap in the CJK developer market — VibeTerm treats it as first-class.

How VibeTerm answers

  • IME composition intercepted throughout (isComposing / keyCode 229) — no misfires, no lag
  • East-Asian wide & ambiguous width measured correctly; tables stay aligned
  • Chinese line-wrap never truncates; streaming UTF-8 boundaries never break a glyph
  • Intl.Segmenter-guarded copy never splits surrogate pairs or ZWJ
  • CJK never dropped or misaligned under GPU rendering
  • Background agent-activity notifications, natively supported

Data current as of publication — PRs to add evidence or correct scoring are welcome. Read the full CJK Showdown →

Multi-theme

Switch the theme, the whole site breathes with it.

The product's 10 built-in terminal themes, right here on this site — click one and everything reskins live, from the nav to the running terminal.

Click to preview

Credits

Standing on the shoulders of giants.

VibeTerm is powered and inspired by these excellent open-source projects.

Frontend

Inspiration

Fonts & assets

Special thanks to ryoppippi's ccusage (MIT) — the reference for usage aggregation, model pricing and 5-hour blocks; pricing data traces back to LiteLLM and Anthropic's official pricing.

Ready to command your agents?

Free, open source, local-first. Download and go — no account needed.

Requires macOS 11+. Windows support in progress.

Or build from source →