CHANGELOG
What changed in Vistara.
Versions are the app’s version. Vistara updates itself and tells you when a new version is ready.
Added
- Messages are kept until they land. Every message you send to a session is saved first in Vistara's local outbox on your Mac. Closing the panel, quitting Vistara or restarting it no longer loses it. The session's own hooks carry it in at the first moment they can: mid-turn after a tool call, when you next type in its terminal, or when its turn ends. It counts as delivered only once the agent's own history shows your words.
- Replies through Codex's app-server. A message to a live Codex session becomes a new turn on its thread, or steers the turn that is running, through Codex's own shared app-server. No window is touched.
- Sessions started inside Vistara. + New and Send work start the agent in a terminal Vistara hosts. The session view shows that terminal live and you can type into it. Replies and option picks go straight into it and are confirmed from the agent's history. Hosted sessions keep running when Vistara quits or updates. Settings → General → Terminal → Where new sessions run switches back to your terminal app.
- Move to Vistara in a session's ⋯ menu resumes a session from another terminal in Vistara. A session whose process has ended moves at once. One idle at its prompt elsewhere moves after one confirm. A session mid-turn or asking you something is never moved.
- Continue in Vistara on a message that can't reach its session resumes the session in a hosted terminal.
- A row for every message you send, in the conversation's own scroll: sending, queued, handed over, delivered, not confirmed, or not sent and why, with Retry, Copy, Open and Continue in Vistara where they apply. A retry checks the agent's history first and never sends the same words twice.
- A multiline reply box (Enter sends, Shift+Enter adds a line). Type
/ for the agent's own slash commands and skills, including those of enabled plugins (Claude Code, Codex and Grok).
- A model picker in the reply box for Claude Code and Grok, listing the models the agent's own files name. A pick sends the agent's model command.
- Settings → Keys lists every key Vistara owns, grouped by where it works, and says which ones another app has taken.
- Settings → Node has an off switch for your node. Off stays off at every launch.
- Sounds, on by default: macOS's own sounds when an agent finishes, needs an approval or asks a question, one at a time, with a volume slider, a switch and a preview for each. The menu-bar menu mutes them for an hour or until tomorrow morning.
- Collapsible sidebar. Hide it with ⌘B or the sidebar button. A strip at the workspace's left edge brings it back.
- Keki in the workspace. The mascot rests small in the header's corner, inside the window, and grows for a moment for each thing that happens: agents working, an agent needing you, work finishing, checks running, passing or failing, a second node matching, an hour online, you coming back, Vistara closing. Its tail's eyespots count your verified work.
- Meet Keki. On first launch, and once after an update, a short intro opens in its own window with sample data. Nothing in it is counted or sent. Only Esc, Skip or Get started ends it. Replay it with Play intro in the menu-bar menu or Play the intro in Settings → Mascot.
- Approval cards show the command's evidence and risk: what the command does, and which parts are risky.
- Fix: when a session's own tests or typecheck failed and its turn is over, Vistara offers to send the failure back to the agent, with the exact prompt shown first. Settings → Agents → Offer to send failing checks back to the agent turns it off.
- Open the session's work. ⌃⌥E opens the file the session changed in its editor; ⌃⌥B opens its dev server, else its pull request. ⌃⌥O lands on the session's own Warp pane.
- Claude subagents show under their parent session in Fleet.
- The headline. The workspace header, the pill and Keki name the one session that matters now. Settings → Cards → Lead with what matters now switches back to counts.
- Stops you can act on. A model at capacity or an API error is named as such, with Switch model where the agent supports it.
- The morning brief counts the approvals and questions asked while you were away, including the ones nobody answered.
Changed
- Each agent is reached through its own channels. Claude Code: its held hook, then its own inbox, in any terminal, busy or idle. Codex: its app-server. Cursor and Grok: their held Stop hook and their next hook. Hosted sessions: their terminal in Vistara. A typed message to Claude Code goes through Claude's inbox again. An answer to a menu or an approval never does.
- Nothing is copied to the clipboard as a delivery. Words nothing could carry stay queued and say why. The clipboard is written only when you click Copy.
- Your words stay in the box until they land. Cards and the workspace keep undelivered words and keep a draft per session.
- Typing into another app's window is off by default. It happens only with Terminal typing and focus return on in Settings → Permissions.
- One Settings page with links to each part (General, Node, Cards, Sounds, Mascot, Keys, Agents, Privacy, Permissions, Points, Team, Phone, Diagnostics). The menu-bar menu, a card's menu and a session's menu open it at the right part. Each setting has one switch, and the menu-bar menu and Settings show the same value.
- The node is on for a new install, and a failed first sign-in is tried again at the next launch. The two lines that explain the node show in the welcome, on Points, and beside the switch. They name what it sends: a task finished, when, and its session id.
- "Waited" is clock time: how long at least one agent waited on you. The same waits added up across agents show beside it as agent-time. Before-and-after comparisons only compare waits with a similar number of sessions running (1, 2–3, 4 or more), and only with enough waits on each side.
- One state word everywhere. "Your turn" (finished, waiting at its prompt for you) is its own state. The sidebar, Today, Fleet, the header, the session view and the pill use the same words and the same counts.
- A refreshed look: one design system across the workspace, a rebuilt sidebar, and menus that always open on top and inside their window.
- Faster opens. After a restart, the last Today and Fleet paint at once, marked as updating, until fresh data arrives. The card window is prepared in the background after launch.
- A question whose hold ended stays on its card, so you can still answer it.
- A pause of cards (Shift+Esc on a card, or Pause cards in the menu-bar menu) now survives a restart.
Fixed
- A Claude session with several process files gets its message through the running process, not an old one.
- A message to Codex never starts a new turn while Codex shows a menu in its terminal.
- Vistara's local service is restarted when it stops answering, and cards start even when it was down at launch.
- A task notification or shell output is no longer mistaken for the agent's reply.
- A turn that started and ended between two looks still counts as finished.
- Keki treats a check failure as news only when the session ended its turn on it.
- A Fleet tile no longer shows a check result that ran before the latest change.
- The header's count line matches Today's, "your turn" included.
- Card footers and Fleet tiles no longer clip on narrow windows.
- System prompts, the lock screen and menu-bar apps no longer count as you being "elsewhere".
- Fewer background programs and less CPU while idle; a dead network mount can no longer stall the agent list.