The terminal for Mac that treats your agent as part of the window
Every setting is a file you can open. Claude Code, Codex and local models get a control bar instead of text scrolling past. Free, no account, nothing about you leaves the machine.
curl -fsSL https://vobuda.com/install.sh | sh Notes
-
Tabs hold blocks, not just shells
A window holds tabs, a tab holds blocks. Drag a block onto another tab and it lands there with its shell still running: same session, same folder, still building. The alternative, closing it and starting again, kills the build you were moving it for.
-
A dock on any side
Buttons for the files panel, the monitor, the agent, dictation and a new space. It goes on any edge, folds to icons, reorders by dragging, and a look may hide it entirely, in which case its buttons move to the end of the tab strip.
-
The shell behaves like a shell
No command is rewritten, no output is reinterpreted, nothing is guessed on your behalf. A terminal that outsmarts the shell breaks the muscle memory of everyone who has one, so the clever parts are opt-in and the default is a terminal.
-
The agent has a control bar
Claude Code running in a block, with its model, its effort level, its permission mode, its past sessions and every slash command it has, drawn as ordinary menus a mouse can use. All of it read from that installation, none of it a list of ours.
-
A monitor of its own
Processor and cores, memory and swap, disks and their traffic, network, sensors, battery with wear, processes, GPU and the machine's addresses. Eleven kinds of panel, arranged by a skin file rather than fixed on a screen.
-
Say it instead of typing it
Cmd+Shift+V types what you say into the block you are working in, and the strip names the language it is hearing in two letters. Recognition happens on the machine, and a language that would need the network is refused rather than quietly sent.
What the best terminal for Mac has to do now
Terminals are either fast and bare or comfortable and closed. Neither noticed what is actually sitting in the window all day.
For twenty years the choice was straightforward. The fast terminals keep their configuration in files you own and stop at the shell. The comfortable ones add panels and polish, then ask for an account and put your history on somebody's server. You picked which half you could live without.
Then the thing sitting in the terminal all day stopped being a shell. It is an agent: Claude Code, Codex, a local model. And a terminal is the wrong shape for one. An agent has a model, an effort level, a permission mode, a session history and a state, and every bit of that arrives as text scrolling past, invisible the moment it scrolls. You end up reading three screens to work out which of your three agents is waiting on you.
vobuda is the third answer, built on two decisions and everything that follows from them. Everything the program knows is a file you can read. The agent is a first-class citizen of the window. Around those, it does what people normally open three more programs for, because once a window knows how to hold a block it can hold any of them.
Three decisions, and the whole program follows from them
Every setting is a file
No database, no account, no hidden state. ~/.config/vobuda holds readable JSON, watched while the program runs: save the file and the window redraws. Themes, looks, monitor skins, dock buttons, agent descriptions, shortcuts, workspaces. Your settings folder can be a git repository, and it saves as one archive and restores on another Mac.
Five ways to one action
A button, a key, the macOS menu bar, Cmd+K and the command line all name the same action in one dictionary. Not five implementations, one. That is why an agent can rearrange your window with vobuda do block.split-down and you can read exactly what it did, and why the interface tests drive the whole program through its own command line.
The agent describes itself
Sessions come from the agent's own files. Models come from its own installation. Effort comes from the model in use. The permission mode is read off its screen and changed by pressing its own key. Nothing here is our list of somebody else's models, because that list goes stale the day a new model ships.
Vibe coding, with the controls where your hand is
If you spend the day handing work to an agent and reading what comes back, this is the part that changes.
Notes
-
Every slash command, as a menu
/compact, /clear, /model, /effort, /cost, /context, /resume, /rewind, /memory, /agents, /mcp, /status, read from the installation in front of you and listed with what each one does, in your language. An agent draws its own menus with arrow keys, where a mouse cannot reach them at all. These are ordinary drop-downs, drawn by us, over the agent that is running.
-
Every skill this folder actually has
Grouped by where it came from and counted: your own, your team's, whatever a plugin brought. Sixty skills across six sources is a list you can look through instead of a name you have to remember. Claude Code's skills come from ~/.claude/skills and the matching folder inside the project.
-
Past sessions by their first line
Read from the agent's own files, with the time each one ran. New starts one, continue picks up the last, and any older one opens by its first sentence, which is how a person actually remembers a conversation.
-
The model this installation has
Default, Opus, Sonnet, Haiku, the million-token context, whatever is there, with the effort level beside it taken from the model in use. Both buttons carry the value rather than the word model, because it is read off the agent's own status line and a belief of ours would be stale the moment you changed it inside the agent.
-
What it may do without asking
Decide for itself, accept edits, ask before every step, plan only. Read off the agent's own screen and changed by pressing its own key as many times as it takes, rather than being a setting of ours that could quietly disagree with the truth.
What happens while you are not looking
While you were away
Every time an agent stops, one line is kept: which block, what it was asked, when it finished, how long it took. Grouped by block, newest first, with a mark down the edge of what you have not seen. The request is read off the agent's own screen and left empty when it cannot be read, because a guess in a record is worse than a gap. Fifty are kept, per window, so while I was away includes while I was asleep.
The night nobody is there for
The machine is held awake while there is work to do. An agent stopped by a usage limit goes back to work by itself when the limit lifts, with a switch you control and a badge in the morning saying what happened. Sleep is released the moment the work ends.
Signals you can act on
An agent that finished, or is waiting for permission, pulses a badge on its tab, plays a sound you chose and posts a system notice when vobuda is not the window in front. It clears on your first action in the window, a click, a key or a scroll, not on the cursor merely passing over the badge.
Drop a screenshot on it
Drag a file out of Finder onto a block and its path is typed there, quoted and ready to run. Drop a screenshot or any image onto the block where the agent is running and the agent gets the picture, which is exactly how Claude Code and Codex want to be handed one. Drag it straight from the thumbnail in the corner of the screen; nothing has to be saved first.
What leaves your machine
Almost nothing, and each of these is worth naming plainly rather than burying in a policy.
| What | Where it goes |
|---|---|
| Your speech | Recognised on the machine by the system's own framework, with on-device recognition demanded rather than preferred. A language that would need the network is refused, with instructions for installing it locally. |
| Your files, settings and history | Never leave. There is no account, no sync and no server of ours. |
| Faults | Recorded where they happen, scrubbed before they are written, and sent nowhere until you turn it on. |
| Once a day | One request asking whether a newer version exists. |
| The address panel | While it is on screen, one request every ten minutes asking what address the internet sees. |
The last two carry nothing about you or the machine. There is no analytics, no identifier and no usage report, not as a setting you can switch off but as code that does not exist.
A Mac terminal that keeps every setting in a file
Built-in themes live inside the binary and the settings folder overrides them, so an update brings new colours without overwriting anything you edited. Twenty-five terminal palettes ship, two of them built for colour vision deficiency and checked by a test that simulates three forms of it before they go out. The theme picker states the contrast of the theme you are choosing and how distinguishable its colours are to a colour-blind reader, because a theme that cannot be read is not a theme.
Twenty-three window looks decide the shape of the window rather than its colours: corners, shadows, panel colours, transparency, and whether the dock is drawn at all. Make one of your own with a button, from whichever look is in use, and it becomes a file in your looks folder like any other. Anything a look paints, the next look hands back, because a colour you cannot take off is a colour nobody should be able to put on.
Nothing asks for a restart. Ever. The settings folder is watched, and that now includes the two things the core owns, the macOS menu bar and the global key of the drop-down window. A check reads every hint in the settings screen and fails the build on the word restart.
And everything else a window has to hold
A block is a block. Once the window knows how to hold one, it holds any of them.
A file open beside the shell
Colouring for 227 kinds of file, taken from the terminal's own theme so an open file looks like it belongs next to the shell that named it. Search across the whole project, a file opened by typing part of its name, several cursors. Nothing is written until Cmd+S, a file changed on disk underneath you is not overwritten, and a binary is refused rather than shown as noise.
Everything it can do, in one list
Cmd+K opens about two hundred actions as a list you can type at. The letters match in order, so spld finds Split down, and every line shows its own shortcut, which is where the keys get learnt. A check holds that list to the core's dictionary in both directions: an action that exists and is not offered there fails the build.
A quake window
One global key drops the terminal from the top of the screen; the same key hides it and gives focus back to wherever you called it from.
A web page as a block
A page opens in the layout like anything else, with its own address bar, bookmarks and home page, and it comes back with the session. Where an agent's browser opens is yours to decide.
Read the answer back
Cmd+Shift+R reads the agent's last answer out loud through the system's own voices. What is read is the answer, not the screen: the furniture, the spinner and the hint bar are skipped, a path becomes its file name, and the reading stops at the command that produced the answer.
Workspaces
A project is a window with its own tabs, its own folder, its own theme and its own dock, kept as a file in workspaces and opened from the settings, the menu or the command line.
At a glance
| Platform | macOS 10.15 and newer, Apple Silicon and Intel in one universal build |
|---|---|
| Price | Free, for personal and commercial work alike |
| Account | None |
| Built on | Rust, Tauri 2, React 19, xterm.js with WebGL |
| Settings | Readable JSON in ~/.config/vobuda, hot-reloaded, about ninety settings in nine sections |
| Interface | 40 languages, right-to-left included, with a guide in each |
| Themes | 25 terminal palettes, 23 window looks, monitor skins of your own |
| Install | One line, no administrator rights |
| Signature | Apple Developer ID, notarised and stapled |
| Source | Not published. See the licence |
Questions people ask before they install it
Is vobuda free?
Yes, and for commercial work as well as personal. There is no trial, no paid tier and no account to make. What the licence does not allow is handing the program on: distributing a copy, selling it, offering it as a service or taking it apart.
Is vobuda open source?
No. It is free of charge and closed: what is handed out is the build, and the source is not published. The public repository carries the README, the changelog, the licence and the figures on this page.
Will macOS warn me when I open it?
No. The build is signed with an Apple Developer ID and notarised, and the installer is stapled, so a Mac that has never seen it opens it without a word. Earlier versions were signed with our own certificate and did warn; that ended at 0.1.1.
Does it work on Intel Macs?
Yes. One universal build carries both architectures, and the minimum is macOS 10.15.
Do I need Claude Code or Codex to use it?
No. It is a terminal first and it opens with one shell block and nothing else. The agent bar appears when an agent is running in a block, and never before.
What terminal works best with Claude Code?
The question is really what a terminal does with an agent's state. vobuda reads Claude Code's own sessions, skills, models, effort levels and permission mode and puts them on a bar above the block, so none of it has to be typed or remembered. Nothing is proxied and nothing is reimplemented: underneath is the real Claude Code with your skills, your memory and your permissions.
Is there a Linux or Windows version?
Not today. macOS is what ships, and Linux and Windows are what comes next. There is no date to give, so we are not giving one.
What does it send over the network?
One request a day asking whether there is a newer version, and while the address panel is on screen, one request every ten minutes asking what address the internet sees. Neither carries anything about you or the machine. There is no analytics and no identifier.
One line installs it, and the same line updates it
No account, no sign-in, nothing to configure before it works. Or take the signed package and double-click it.
curl -fsSL https://vobuda.com/install.sh | sh