Skip to content

Releases: Vibisual/vibisual

0.1.16

Choose a tag to compare

@github-actions github-actions released this 31 Aug 08:40

Download

Find your operating system — that row has the only file you need.

Your machine Download
Windows 10 / 11 · 64-bit Vibisual-0.1.16-setup.exe · 181 MB
macOS Apple Silicon (M1 and later) — Vibisual-0.1.16-arm64.dmg · 194 MB
Intel — Vibisual-0.1.16.dmg · 198 MB
Linux Debian, Ubuntu, Mint — vibisual_0.1.16_amd64.deb · 134 MB
Fedora, RHEL, openSUSE — vibisual-0.1.16.x86_64.rpm · 139 MB
Arch, NixOS, anything else — Vibisual-0.1.16.AppImage · 162 MB

Not sure which Mac you have? Apple menu → About This Mac — "Apple M1/M2/M3/M4" is Apple Silicon, "Intel" is Intel.

The other 10 files under Assets — you do not need them

They are what the app's built-in updater reads: latest*.yml is the version feed, *.blockmap lets an update download only the changed parts, and *-mac.zip is the format macOS updates in place with. Downloading them by hand does nothing.

Or install with one line

# macOS and Linux
curl -fsSL https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.ps1 | iex

The script reads this release, picks the build for your machine, and prefers your package manager over the AppImage when you have one.

First launch

  • Windows — the build is not code-signed yet, so SmartScreen warns on first run: More info → Run anyway.

  • macOS — unsigned too, and Gatekeeper blocks it outright. Move Vibisual.app into /Applications, then run this once:

    xattr -cr /Applications/Vibisual.app
  • Linux (.deb / .rpm) — your package manager pulls in the libraries for you:

    sudo apt install ./vibisual_0.1.16_amd64.deb
    sudo dnf install ./vibisual-0.1.16.x86_64.rpm
  • Linux (AppImage) — for distributions that take neither format. It needs FUSE 2, which recent releases no longer ship:

    sudo apt install libfuse2t64   # "libfuse2" on Ubuntu 22.04 and older
    chmod +x Vibisual-0.1.16.AppImage
    ./Vibisual-0.1.16.AppImage

Vibisual runs on top of the Claude CLI, which must already be on your PATH.

Day-to-day development and testing happen on Windows, so macOS and Linux get far less hands-on use. If a build is broken there, open an issue — we will fix it quickly.


What changed in 0.1.16

Fixed

  • The macOS builds are back. Version 0.1.15 shipped with no macOS files at all — not a broken download, simply nothing to download, and because the release page builds its table from the files that actually exist, the macOS row disappeared rather than pointing at something that was not there. The cause was the code-signing slot: when the signing certificate is not configured, the build system supplies an empty value rather than no value, and the packager treats an empty path as a real one and stops on it. Both macOS builds spent all three of their retries on that and produced nothing, while Windows and Linux published normally — so the release looked like it had succeeded. Signing values are now kept under names the packager does not read, and are handed over only once a certificate is actually present.

Changed

  • A release is titled with its version and nothing else. The list of releases is where you compare one version against the next, and a product name repeated down every row is not information — it pushes the number your eye is looking for to the right. Every release up to 0.1.14 was titled with the bare number; 0.1.15 arrived as "Vibisual 0.1.15" and broke the column. Titles are back to the number, past releases we titled ourselves are corrected as they are regenerated, and a title someone wrote by hand is still left alone.

Full history: CHANGELOG.md

0.1.15

Choose a tag to compare

@github-actions github-actions released this 31 Aug 08:04

Download

Find your operating system — that row has the only file you need.

Your machine Download
Windows 10 / 11 · 64-bit Vibisual-0.1.15-setup.exe · 181 MB
Linux Debian, Ubuntu, Mint — vibisual_0.1.15_amd64.deb · 134 MB
Fedora, RHEL, openSUSE — vibisual-0.1.15.x86_64.rpm · 139 MB
Arch, NixOS, anything else — Vibisual-0.1.15.AppImage · 162 MB
The other 3 files under Assets — you do not need them

They are what the app's built-in updater reads: latest*.yml is the version feed, *.blockmap lets an update download only the changed parts, and *-mac.zip is the format macOS updates in place with. Downloading them by hand does nothing.

Or install with one line

# macOS and Linux
curl -fsSL https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.ps1 | iex

The script reads this release, picks the build for your machine, and prefers your package manager over the AppImage when you have one.

First launch

  • Windows — the build is not code-signed yet, so SmartScreen warns on first run: More info → Run anyway.

  • Linux (.deb / .rpm) — your package manager pulls in the libraries for you:

    sudo apt install ./vibisual_0.1.15_amd64.deb
    sudo dnf install ./vibisual-0.1.15.x86_64.rpm
  • Linux (AppImage) — for distributions that take neither format. It needs FUSE 2, which recent releases no longer ship:

    sudo apt install libfuse2t64   # "libfuse2" on Ubuntu 22.04 and older
    chmod +x Vibisual-0.1.15.AppImage
    ./Vibisual-0.1.15.AppImage

Vibisual runs on top of the Claude CLI, which must already be on your PATH.

Day-to-day development and testing happen on Windows, so macOS and Linux get far less hands-on use. If a build is broken there, open an issue — we will fix it quickly.


What changed in 0.1.15

Added

  • Install with one line. Picking the right file out of fourteen release assets was the first thing a new person had to get right, and the macOS instructions had a step you could only find by scrolling. curl … | sh on macOS and Linux, irm … | iex on Windows: the script reads the release list, picks the build for your machine, prefers your package manager over an AppImage when you have one, and prints the quarantine command macOS still needs. Both scripts are in scripts/ so you can read them before you run them.
  • The release page now says which file is yours. It had no description at all — electron-builder uploads the builds and writes nothing, so everything a first-time visitor saw was fourteen filenames in alphabetical order. Nothing on that page told you that -arm64.dmg is the Apple Silicon build, that the .dmg with no suffix is the Intel one, or that the .zip, .blockmap and latest*.yml files are for the app's own updater and are not meant to be downloaded. Every release from now on opens with a six-row table — one row per machine, with the file size — followed by the first-launch step for that platform and what changed in the version. The table is built from the assets that were actually published, so a release that lost one platform's build shows five rows instead of pointing you at a file that does not exist. Past releases can be given the same treatment without re-tagging, from Actions → Release notes.
  • A written answer to "what does this send?"PRIVACY.md names every outside address the app can reach — separating the ones that happen while it simply runs from the ones that stay unused until you switch a feature on — and says where everything else is stored on your disk. SECURITY.md states the security model that was previously only implied — loopback binding, the per-installation hook token, that remote access takes two deliberate steps, that crash dumps are never uploaded — and gives a private channel for reporting a vulnerability.
  • macOS installs its own updates again. The previous release could only announce a new version on macOS and send you to the download page, because the updater's macOS backend refuses to apply anything unsigned — it would download the whole build and then fail at the last step. The app now performs the replacement itself: it fetches the build for your machine, checks it against the SHA-256 the release publishes, opens the downloaded binary and confirms its actual architecture before touching anything, and swaps the app in place. That last check matters more than it sounds — the two macOS builds publish a feed under the same name and overwrite each other, so trusting the feed is how an Intel build ends up on an Apple Silicon Mac, where it dies on launch. Nothing downloaded this way is quarantined, so there is no Gatekeeper prompt on the next start.
  • Linux installs through your package manager. The only Linux build was an AppImage, and AppImage opens libfuse.so.2 — which Ubuntu 24.04 and its relatives no longer ship, so the app exited on launch with a FUSE error and left you to work out the package name yourself. Every release now also carries a .deb and an .rpm, where the package manager resolves the dependencies and there is nothing to install by hand. The AppImage stays for distributions that use neither.
  • Chinese, Japanese and Indic text is drawn with fonts that ship with the app. Only Latin and Korean faces were bundled, so those scripts fell back to whatever the machine happened to have — which on a clean Windows or Linux install is often nothing, and the interface showed rows of empty boxes. Noto Sans SC, JP and Devanagari are now included (SIL OFL 1.1, licence files committed beside them), and a test checks each locale's characters against what is actually bundled rather than trusting the list.
  • Sticky notes you can leave on a conversation. A thought about what an agent just did had nowhere to go except the input box, where it becomes a prompt. Notes attach to the point in the stream you put them at, stay there across restarts, and belong to that session.
  • HTML files open as pages in the editor. Opening one showed you its source, so checking what an agent had just built meant leaving for a browser. It now renders in place, with back and forward, and relative links to the stylesheets and images beside it resolve the way a browser resolves them.
  • Alt+click reaches into a preview page. The element inspector stopped at the frame edge, so anything an agent rendered was a picture you could not point at. Clicking inside now selects the element and takes you to the line and column in the source that produced it.
  • The file explorer has a right-click menu — new file, new folder, rename, delete — and right-clicking Files in the activity bar opens the folder in your system file manager.
  • A right-click menu in every text field. Cut, copy, paste, select all and the web-search entry existed in some places and not others, which is worse than not having them at all: you learn the gesture and then it silently does nothing. One menu now serves every field in the app.
  • Choosing a project folder is part of first run. Onboarding went install, sign in, and then straight to a canvas — the app had already created state somewhere before you said where your work lives. There is now a third step, nothing is written until you answer it, and the three onboarding windows let you pick the interface language, which previously could only be changed once you were already through them.
  • A verification run can keep what it saw on screen. Verification could report a verdict but not show you the moment it was judging, so a disputed "passed" had nothing behind it. Selected frames are now kept with the run.

Changed

  • Contributions can no longer opt out of the terms that let the project license itself. CONTRIBUTING.md asked for a relicensing grant and then, at the end, offered to accept contributions without it. One such merge would have permanently pinned the affected module to a single licence — the exact outcome the sign-off check exists to prevent. The grant is now stated as a condition of merging, with an invitation to raise employer IP concerns first.
  • Building from source works from a fresh clone. The instructions ran a development script that is not part of the public repository, so the documented path failed immediately for anyone who cloned it. They now use the published workspace scripts.
  • Every package declares its licence. Five of the seven package.json files had no license field, which is what corporate dependency scanners read; they now all say Apache-2.0, matching the repository.
  • The Status section stopped turning people away at the door. It used to end with "not recommended for critical production workflows or repositories containing highly sensitive data" — which reads as do not use this at work, and left the reader with no way to decide for themselves. It now says the same honest thing from the other side: this is a 0.1.x preview, pin a version if you need one that holds still, and it runs entirely on your own machine with nothing sent anywhere. The security guidance it duplicated already lives one section down, where reviewing the generated hook configuration is framed as the review any tool with shell access deserves.
  • Pull requests are checked for a sign-off. CONTRIBUTING.md alrea...
Read more

0.1.14

Choose a tag to compare

@github-actions github-actions released this 27 Aug 05:34

Download

Find your operating system — that row has the only file you need.

Your machine Download
Windows 10 / 11 · 64-bit Vibisual-0.1.14-setup.exe · 151 MB
macOS Apple Silicon (M1 and later) — Vibisual-0.1.14-arm64.dmg · 164 MB
Intel — Vibisual-0.1.14.dmg · 169 MB
Linux Arch, NixOS, anything else — Vibisual-0.1.14.AppImage · 152 MB

Not sure which Mac you have? Apple menu → About This Mac — "Apple M1/M2/M3/M4" is Apple Silicon, "Intel" is Intel.

The other 10 files under Assets — you do not need them

They are what the app's built-in updater reads: latest*.yml is the version feed, *.blockmap lets an update download only the changed parts, and *-mac.zip is the format macOS updates in place with. Downloading them by hand does nothing.

Or install with one line

# macOS and Linux
curl -fsSL https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.ps1 | iex

The script reads this release, picks the build for your machine, and prefers your package manager over the AppImage when you have one.

First launch

  • Windows — the build is not code-signed yet, so SmartScreen warns on first run: More info → Run anyway.

  • macOS — unsigned too, and Gatekeeper blocks it outright. Move Vibisual.app into /Applications, then run this once:

    xattr -cr /Applications/Vibisual.app
  • Linux (AppImage) — for distributions that take neither format. It needs FUSE 2, which recent releases no longer ship:

    sudo apt install libfuse2t64   # "libfuse2" on Ubuntu 22.04 and older
    chmod +x Vibisual-0.1.14.AppImage
    ./Vibisual-0.1.14.AppImage

Vibisual runs on top of the Claude CLI, which must already be on your PATH.

Day-to-day development and testing happen on Windows, so macOS and Linux get far less hands-on use. If a build is broken there, open an issue — we will fix it quickly.


What changed in 0.1.14

Fixed

  • Pressing "Update" now actually installs the update. The installer was launched before the app finished shutting down, and it replaces the installed files by renaming them one at a time — which fails outright while Vibisual.exe is still running. After five one-second retries it gave up with "Failed to uninstall old application files" and installed nothing, so from your side the app just closed and came back on the old version. The installer is now launched at the very last moment, once cleanup is done and the process is about to disappear.
  • Closing the app takes a moment instead of a minute. Shutdown waited for every open network connection to finish on its own — a phone still connected over LAN access, or an idle keep-alive socket, could hold it for over a minute (68 seconds, measured). Sockets are now cut when we have decided to close, and cleanup has a hard four-second ceiling after which the app exits regardless. Everything written to disk is flushed before that point.
  • No second "work is still running" prompt when you update. The update button already warns you and asks for confirmation; the ordinary close-confirmation was then asking again about the same thing — and the time spent answering it was enough for the installer to give up.

Full history: CHANGELOG.md

0.1.13

Choose a tag to compare

@github-actions github-actions released this 27 Aug 03:06

Download

Find your operating system — that row has the only file you need.

Your machine Download
Windows 10 / 11 · 64-bit Vibisual-0.1.13-setup.exe · 151 MB
macOS Apple Silicon (M1 and later) — Vibisual-0.1.13-arm64.dmg · 164 MB
Intel — Vibisual-0.1.13.dmg · 169 MB
Linux Arch, NixOS, anything else — Vibisual-0.1.13.AppImage · 152 MB

Not sure which Mac you have? Apple menu → About This Mac — "Apple M1/M2/M3/M4" is Apple Silicon, "Intel" is Intel.

The other 10 files under Assets — you do not need them

They are what the app's built-in updater reads: latest*.yml is the version feed, *.blockmap lets an update download only the changed parts, and *-mac.zip is the format macOS updates in place with. Downloading them by hand does nothing.

Or install with one line

# macOS and Linux
curl -fsSL https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.ps1 | iex

The script reads this release, picks the build for your machine, and prefers your package manager over the AppImage when you have one.

First launch

  • Windows — the build is not code-signed yet, so SmartScreen warns on first run: More info → Run anyway.

  • macOS — unsigned too, and Gatekeeper blocks it outright. Move Vibisual.app into /Applications, then run this once:

    xattr -cr /Applications/Vibisual.app
  • Linux (AppImage) — for distributions that take neither format. It needs FUSE 2, which recent releases no longer ship:

    sudo apt install libfuse2t64   # "libfuse2" on Ubuntu 22.04 and older
    chmod +x Vibisual-0.1.13.AppImage
    ./Vibisual-0.1.13.AppImage

Vibisual runs on top of the Claude CLI, which must already be on your PATH.

Day-to-day development and testing happen on Windows, so macOS and Linux get far less hands-on use. If a build is broken there, open an issue — we will fix it quickly.


What changed in 0.1.13

Added

  • Drive a session from Telegram or Discord. The app already knew how to ask you things — reports, questions, permission prompts — but only while you were sitting in front of it. Those same cards now arrive in a chat you already have open, and you answer by tapping a button on the card or typing a command. Setup is the part people give up on, so it is three gated steps: the link that creates the bot, a token that is checked the moment you paste it (it shows the bot's name back to you), and a QR code that pairs the chat without anyone having to look up a numeric chat id. How much it says is yours to set, per channel.
  • A Verify view in the IDE sidebar. It sits beside skills, goals and loops rather than taking over the screen — the unit is the session tab you are looking at, so switching tabs shows that session's verification history. The server runs and judges; the panel draws the verdict it is given and never paints "passed" ahead of the answer. It does not start on its own — you start it.
  • The reading fonts ship with the app. Terminals were falling back to whatever the OS had, and a line of Korean was drawn in a proportional face — from that line on, every box and status bar the CLI drew was misaligned. JetBrains Mono (Latin) and Nanum Gothic Coding (Korean, exactly double the Latin width) are now bundled, so the same screen appears on Windows, macOS and Linux. Both are SIL OFL 1.1, with their licence files committed beside them.
  • A quiet marker while a project is still arriving. Over a remote or slow link, moving to a project tab left the canvas completely empty with nothing to say whether the bubbles were still coming or the project was simply empty. A small pill now appears — but only if the wait is long enough to notice, with different wording once it gets slow, gone the moment the data lands, and never blocking right-click, pan or zoom.
  • The usage figure fills in without an interactive session. Its only source was the CLI status line, which exists only when a human-facing Claude Code window is drawing it — every agent this app launches is headless, so the pill sat at - no matter how much you worked. It now asks the CLI directly through its own published usage command, using your own login.
  • A how-to for Project Memory, one click from the library. The guide was reachable from the File menu and nowhere else, so the person actually looking at the memory library had no way to ask what any of it meant. There is now a How-to button in the library header that opens the guide at a new Project Memory chapter — what the rails are, what gets stored, and that switching it off never deletes anything.
  • Tests run on all three operating systems now. Until this release the repository had exactly one workflow — the release build — which means 238 test files had never once executed on macOS or Linux. Every push now type-checks and tests on all three.

Changed

  • An IDE window keeps its contents when you pull it out of the app or put it back. The receiving side used to build a new window: open editor tabs cleared, the view reset to the first screen, the sidebar folded. It looked like the same window had moved, but you lost a little more of your working state every time you moved it.
  • The IDE title bar keeps its close button on a phone. Nine handles in one row overflowed a 390px screen and pushed the rightmost one off the edge. Which handles fold is now decided per window mode by one rule with tests behind it, and nothing is actually removed — everything that folds is still reachable from the status bar or the session tabs.
  • Canvas menu entries that cannot draw here are no longer offered. Capture, app, play, spec, lab and shelf bubbles only render on the main view, but the right-click menu offered them while you were drilled into a worktree or a folder. Clicking one looked like nothing happened — and left a bubble sitting on the parent canvas.
  • Deleting a worktree stops what is running inside it first. The confirmation dialog is where you agree; hesitating after that only produces a half-deleted folder. Processes holding files open are ended, and the agents that lived in that worktree go to the trash with it instead of quietly falling back to the parent project and carrying on against the main tree.
  • Tools are found even when the app was opened from the Dock or Finder. A macOS app launched that way inherits a four-entry PATH with no Homebrew in it, so ffmpeg, debug adapters, editors, MCP executables and brew itself read as "not installed" — silently, with no error to show for it. Lookup now also consults your login shell (at most once) and the known install locations, in one place shared by everything that spawns a binary.
  • Two files whose names differ only in case are two files on Linux. Paths were folded to lowercase everywhere for use as keys, which is correct on Windows and standard macOS and wrong on ext4 — two projects or worktrees could merge into one entry, taking their graph, tabs and memory settings with them. Folding is now decided by the platform the app is actually running on.
  • Shortcut hints show the key your keyboard has. The client had no OS detection at all, so every hint read Ctrl+…, including on Macs. The shortcuts themselves were always right — only the labels were wrong.
  • The plugin list stops taking a card's word for it. Whether a card actually reads your project was a hand-written flag in its manifest, and hand-written flags drift. It is now confirmed by running that card against a full context and an empty one and checking that what it produces changes.

Fixed

  • Installing a local model engine failed on every platform. llama.cpp moved its release scheme, and the release tagged latest now carries a single text file — the 33 platform binaries live on prerelease tags. Every download therefore found no usable asset and ended at "llama-server not found after extract". The most recent release that actually has the file is now chosen instead of trusting the label.
  • A half-extracted engine no longer installs "successfully" on macOS and Linux. The truncation check read Windows executable headers only, so on the other two systems it always answered "nothing wrong" — a partially written library passed installation and surfaced later as an unexplained loader error. Mach-O (including universal binaries) and ELF are now read too.
  • A file edited outside the project showed an empty bubble — and was gone after a restart. The bubble and its diff were filed under two different keys, so the two never met: the node existed with nothing in it, and the checkpoint discarded it entirely.
  • Clicking one bubble and then another no longer drags both. The canvas has two selection channels and neither cleared the other, so an ordinary bubble and an app bubble could be selected at the same time — and moving either one took the other with it.
  • macOS stops downloading updates it can never install. The updater treated all platforms alike, but macOS requires a code signature to apply an update and this build has none — so it downloaded the new version in full and then failed at the last step, leaving nothing but "update error". On unsigned macOS it now announces the new version and the button opens the releases page instead. Windows and Linux are unchanged, and macOS returns to au...
Read more

0.1.12

Choose a tag to compare

@github-actions github-actions released this 26 Aug 07:28

Download

Find your operating system — that row has the only file you need.

Your machine Download
Windows 10 / 11 · 64-bit Vibisual-0.1.12-setup.exe · 147 MB
macOS Apple Silicon (M1 and later) — Vibisual-0.1.12-arm64.dmg · 160 MB
Linux Arch, NixOS, anything else — Vibisual-0.1.12.AppImage · 150 MB

Not sure which Mac you have? Apple menu → About This Mac — "Apple M1/M2/M3/M4" is Apple Silicon, "Intel" is Intel.

The other 5 files under Assets — you do not need them

They are what the app's built-in updater reads: latest*.yml is the version feed, *.blockmap lets an update download only the changed parts, and *-mac.zip is the format macOS updates in place with. Downloading them by hand does nothing.

Or install with one line

# macOS and Linux
curl -fsSL https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.ps1 | iex

The script reads this release, picks the build for your machine, and prefers your package manager over the AppImage when you have one.

First launch

  • Windows — the build is not code-signed yet, so SmartScreen warns on first run: More info → Run anyway.

  • macOS — unsigned too, and Gatekeeper blocks it outright. Move Vibisual.app into /Applications, then run this once:

    xattr -cr /Applications/Vibisual.app
  • Linux (AppImage) — for distributions that take neither format. It needs FUSE 2, which recent releases no longer ship:

    sudo apt install libfuse2t64   # "libfuse2" on Ubuntu 22.04 and older
    chmod +x Vibisual-0.1.12.AppImage
    ./Vibisual-0.1.12.AppImage

Vibisual runs on top of the Claude CLI, which must already be on your PATH.

Day-to-day development and testing happen on Windows, so macOS and Linux get far less hands-on use. If a build is broken there, open an issue — we will fix it quickly.


What changed in 0.1.12

Added

  • The IDE is no longer one window. A project had a single IDE slot, so opening a second agent from the canvas replaced whatever was already on screen — there was no way to watch two agents at once. You can now open as many IDE windows as you like, dock them to any of the four edges, and stack several along the same edge. The window you already had keeps its state untouched.
  • Split a window into cells by dragging a session tab. Drag a session tab — or a cell's header strip — to the edge of the window body and that area splits; drop it in the middle and only that cell's contents are swapped. The splitters have a wider grab band than they draw, the cursor holds still while you drag, and a tab belonging to another window is refused with a reason instead of landing and then disappearing.
  • The CMD terminal grew up — state, panes, and a way in for the agent. Terminal bubbles now report what they are actually doing (running, blocked at a prompt, idle) from the terminal's own output rather than from hooks alone, split into panes with zoom and drag-resize, show the foreground process beside the tab label, and can be read and pre-filled by the agent that owns them — you still press Enter. A background terminal that gets blocked raises one desktop notification, and scrollback depth is yours to set in Options.
  • Search the web for whatever you've selected. A new right-click entry in all four places text can be selected — stream output, the input box, the editor body, and the built-in terminal. It opens your default browser with the selection as the query, and greys out with the usual reason when nothing is selected.
  • Click an executable in the conversation and it runs. A path in the stream that points at an executable now opens a run session instead of trying to load the binary into the editor.
  • Media the app couldn't play is converted rather than handed off. Chromium ignores system codecs, so a codec pack was never going to help. Files it can't open are now converted with the bundled ffmpeg and opened here — and .mkv / .3gp, which were being pushed out to an external player by mistake, simply play.
  • Internal apps stop asking to be installed. The install gate is gone: an app belongs to the project from the start, and which app opens a given file is something each app declares rather than something the core hard-codes.
  • The learning loop, rebuilt (Brain v2). Skills — procedural memory kept as ordinary SKILL.md files rather than as a sixth kind of card — sit at the centre, with recall, nudges, grounding checks, a curator and an operator profile around them. The whole thing ships off, per project, behind four gates (collection, injection, display, API), and switching it off never deletes what was already learned.
  • Two more places to switch the Brain on. It was reachable from the first-run banner and nowhere else, so dismissing that banner once left no way back in. It is now in the canvas right-click menu and in a brain category in Options.
  • Fast mode. The CLI was refusing it for headless sessions rather than us having forgotten to pass it; the one channel that does unlock it is now wired to a per-agent setting.
  • Local models: the three quantizations people actually use, first. A repository used to unfold as every GGUF in filename order, so the first line was often a 51 GB BF16 while the 15 GB build you wanted sat in the middle. Popular quantizations are ranked to the top, the rest fold away, and each row carries size, sort and filter.
  • Local sessions leave marks on the canvas. An All Model session could read, edit and run commands and still produce no file nodes, no audit entries and no bash history. Its tool calls now travel the same hook path a Claude session's do.
  • One entrance in the top right. The agent badge opens the windows-and-bubbles menu — bring to front, fold, close, open a new window from a bubble, per-bubble settings — with the Command Center at the bottom of it, instead of the header carrying two buttons that pointed at the same things.

Changed

  • The agent settings window matches the provider. On an All Model bubble it was still the Claude CLI argument sheet — model family, version pin, 1M window, effort, skills, isolation, max turns, budget — of which a local turn reads five fields. Settings that do nothing there are no longer offered, and the right-hand panel and the canvas bubble stop introducing a local bubble as opus.
  • The slash-command dropdown stops advertising commands that can't run. Of the 103 it listed, 49 are screen-panel commands inside the CLI and answered a headless session with a single line of refusal. Those are filtered out — and three things the CLI was offering that we never picked up (forwarded subagent text, replayed user messages, prompt suggestions) are now wired in.
  • Less of your context window goes to our own boilerplate. Measured across 249 sessions, 44 % of the protocol we inject was literal duplication. It is down 47 % (9,157 → 4,893 tokens): the unchanging prose moved to a once-per-session channel, and each turn now carries a few lines of state.
  • Web search no longer scrapes anyone's results page. The local WebSearch tool parsed a search engine's HTML — the very thing its terms forbid, with our users on the receiving end of any block. It now calls documented, keyless APIs.
  • Our licences ship with the app. A scan of all 768 installed dependencies found no GPL/AGPL/LGPL, and all 10 bundled font families are SIL OFL 1.1 with their licence files committed beside them; the distributed build now carries them.
  • Every bubble fits its own text. The space reserved at the bottom of a bubble was a fixed three lines, so a fourth or fifth line pushed badges over the model name. It is now measured from the lines actually being drawn, and overflow degrades in steps — tighten, merge, ellipsise, fold — instead of overlapping.
  • macOS is built once per architecture, on that architecture's runner. Producing both from one machine put Apple Silicon native modules in the Intel disk image, so it died on launch while the build stayed green.

Fixed

  • The macOS disk image was missing the server. Packaging wrote the server bundle to resources/ beside the .app — outside the bundle, so it never reached the image — and created that folder when it wasn't there, which meant no warning either. The path now comes from electron-builder itself, and a missing one fails the build instead of publishing a hollow installer.
  • The CMD window repeating the same banner over and over. It looked like the CLI was stuck in a loop; it was Windows re-emitting the entire visible screen on every resize, with each copy piling up in the replay buffer.
  • "Copy selection" on a question card was locked the moment you reached for it. The card asked whether a selection existed at that instant, and the stream re-renders constantly — so the selection was gone by the time your cursor got to the button. It now remembers what you selected on that card.
  • A command resumed after a force quit no longer sinks below its own output. Restart recovery re-queues an interrupted command, and two ordering rules were reading that state as "not sent yet".
  • The tab dot stops flickering green → blue → green every turn. Hooks and on-screen detection both wrote the same status with nothing to arbitrate between them; the hook now owns the session's lifecycle and detection fills the gaps. With split...
Read more

0.1.11

Choose a tag to compare

@github-actions github-actions released this 20 Aug 07:40

Download

Find your operating system — that row has the only file you need.

Your machine Download
Windows 10 / 11 · 64-bit Vibisual-0.1.11-setup.exe · 251 MB
macOS Apple Silicon (M1 and later) — Vibisual-0.1.11-arm64.dmg · 130 MB
Intel — Vibisual-0.1.11.dmg · 136 MB
Linux Arch, NixOS, anything else — Vibisual-0.1.11.AppImage · 261 MB

Not sure which Mac you have? Apple menu → About This Mac — "Apple M1/M2/M3/M4" is Apple Silicon, "Intel" is Intel.

The other 6 files under Assets — you do not need them

They are what the app's built-in updater reads: latest*.yml is the version feed, *.blockmap lets an update download only the changed parts, and *-mac.zip is the format macOS updates in place with. Downloading them by hand does nothing.

Or install with one line

# macOS and Linux
curl -fsSL https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.ps1 | iex

The script reads this release, picks the build for your machine, and prefers your package manager over the AppImage when you have one.

First launch

  • Windows — the build is not code-signed yet, so SmartScreen warns on first run: More info → Run anyway.

  • macOS — unsigned too, and Gatekeeper blocks it outright. Move Vibisual.app into /Applications, then run this once:

    xattr -cr /Applications/Vibisual.app
  • Linux (AppImage) — for distributions that take neither format. It needs FUSE 2, which recent releases no longer ship:

    sudo apt install libfuse2t64   # "libfuse2" on Ubuntu 22.04 and older
    chmod +x Vibisual-0.1.11.AppImage
    ./Vibisual-0.1.11.AppImage

Vibisual runs on top of the Claude CLI, which must already be on your PATH.

Day-to-day development and testing happen on Windows, so macOS and Linux get far less hands-on use. If a build is broken there, open an issue — we will fix it quickly.


What changed in 0.1.11

Added

  • What a session actually cost you. Token spend was visible only as a plan-usage percentage, so "which agent burned the afternoon" had no answer. Cost is now kept per session, rolled up per agent, per project and per day, and shown at the bottom of the usage popup (today's figure) with the full breakdown one click deeper. Nothing new is collected for it — it reuses the session log scanner and the price table the app already had.
  • A permission and audit boundary. Every tool call an agent makes is now written as one line — the call and its result folded together — so you can read back what was touched, when, and whether it was approved. Risky tools can be escalated to ask you first, and a shield in the header opens the timeline. It ships entirely switched off: turn on only the boundary you want, and the popup explains how it relates to the permission mode you already set before it offers you a single switch.
  • A review lane for isolated work. Changes made by an agent in a worktree used to reach the main line the moment you merged. They can now be held in a lane first and approved, rejected, or parked — with a rejection going back to the agent that owns the worktree as an instruction, not as a shrug.
  • See the hooks that are attached to this session — and switch them off. Hooks are the heart of this app, and yet nothing in the app admitted they existed. A new activity-bar view lists what is registered for this session, where each one came from, and lights up as they fire, so a misbehaving hook is something you can watch instead of guess at.
  • Claude Code's own plugins, inside the app. Not our inspector cards — the claude plugin unit that ships commands, agents, skills, hooks and MCP together. Global installs, this project's entries, and the marketplaces they came from are gathered into one list.
  • Local models on the canvas — All Model. Right-click the canvas and a model bubble appears immediately; picking the engine and the weights comes after, and the IDE reshapes itself to whichever provider that bubble ended up with. A bubble with nothing installed is a bubble that is getting ready, not a dead one.
  • Agent Lab — run the same task several ways and keep the one that won. Give it a task, vary the settings, and it runs N copies in isolation, lays the results out in one table, and promotes the winning configuration to that agent's default. No new machinery underneath: worktrees, custom agents and the existing run path do the work.
  • A shelf for the commands you keep retyping. Pin frequently-used shell commands and prompts to the canvas and run one with a click; the last result stays on its row.
  • Design preview — three device widths side by side, and a snip you can send. A compare view renders mobile, tablet and desktop at their real widths in one bubble rather than as a shrunken copy, and dragging a rectangle over the preview attaches exactly that region to your next message.
  • Playtest recording. Capture bubbles could already be driven remotely; what was missing was a way to grab the moment that just went past. The live stream is now recorded in place — no second capture prompt — and any stretch of it can be turned into frames attached to a message.
  • Script → storyboard → render, with three output presets. Vibistudio's two ends — the storyboard board and the timeline document — are now joined: write the script, let it become a storyboard, pick an output preset, and render. No new app, board, or store was added to do it.
  • Images open as images. The editor used to greet a PNG with a one-line "binary file" notice. It now shows the picture, opens it for annotation, and writes the result back over the original file.
  • The Command Center has a second door. Clicking the agent badge in the header opens it, so you no longer have to be looking at the canvas — and at that project's root bubble — to get there.
  • Idle sessions hand their memory back. A session whose conversation ended kept its claude child process alive indefinitely — measured at 300–590 MB each, eleven of them holding roughly 5.5 GB at zero CPU. After fifteen idle minutes the child is now reclaimed, and speaking to that session again revives it with --resume. The tab, the history and the session itself stay exactly where they were.

Changed

  • The four newest canvas elements start out behind Debug mode. Play bubbles, the spec board, Agent Lab and the shelf are all reachable from the canvas right-click menu only with Debug mode on. Nothing about them changed — what they do, what they store, and what survives a restart is untouched; only who sees them by default.
  • Cost lives in the usage popup, not the header. The header's right-hand cluster is one pill shorter, and the running cost badge that sat under every agent bubble is gone. Collection, totals and history are unchanged — this is only about where the number is drawn.
  • Full-screen dialogs cover the full screen. With the IDE docked to the right, popups were being inset to avoid the dock, dimming the canvas only and leaving the dock lit beside them.
  • No UI text below 12px, and no fractional pixel sizes. Below that, Korean strokes fall under a single pixel and the text does not reach the colour it was given, so shrinking a label made it less readable, not denser. The floor is now enforced across the client and every plugin.
  • Retention stops deleting things that are still referenced. Archived material is protected, referenced files are recognised as in-use, and what retention does remove goes to the trash instead of straight out.

Fixed

  • macOS builds are published at last. The previous release cleared the icon-size check only to fail at the PNG-to-ICNS converter itself. The .icns is now built directly and shipped in the repository, so the macOS job completes. Signing and notarisation are still absent, so macOS auto-update remains unavailable.
  • The agent count in the header and tabs counts what is actually running. A project with five sessions going could read 1 — the count was drawn from the wrong axis and included agents that were already in the trash. There is now one server-side tally that every badge reads.
  • A background subagent that finished no longer reads as "running" forever. Its completion notice now settles the hook ledger too, instead of only the stream side.
  • A session dot you marked as seen stays grey. Switching tabs or restarting turned it green again — a scoped update that simply said nothing about a project was being read as "that session closed".
  • Number-key bookmark jumps no longer leave an empty dock. A bookmark whose session or bubble is gone now says so and leaves you where you are.
  • The goal light goes out when the goal is met and the session has stopped, instead of sitting lit at 5/5.
  • Closing a project tab takes one click. The close request was being undone moments later by an unload message that recreated the tab as a stub.
  • The app follows the claude executable when it changes underneath you — an extension auto-update or a manual move no longer leaves it pointing at a path that is no longer there.

Full history: CHANGELOG.md

0.1.10

Choose a tag to compare

@github-actions github-actions released this 19 Aug 07:51

Download

Find your operating system — that row has the only file you need.

Your machine Download
Windows 10 / 11 · 64-bit Vibisual-0.1.10-setup.exe · 250 MB
Linux Arch, NixOS, anything else — Vibisual-0.1.10.AppImage · 260 MB
The other 3 files under Assets — you do not need them

They are what the app's built-in updater reads: latest*.yml is the version feed, *.blockmap lets an update download only the changed parts, and *-mac.zip is the format macOS updates in place with. Downloading them by hand does nothing.

Or install with one line

# macOS and Linux
curl -fsSL https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.ps1 | iex

The script reads this release, picks the build for your machine, and prefers your package manager over the AppImage when you have one.

First launch

  • Windows — the build is not code-signed yet, so SmartScreen warns on first run: More info → Run anyway.

  • Linux (AppImage) — for distributions that take neither format. It needs FUSE 2, which recent releases no longer ship:

    sudo apt install libfuse2t64   # "libfuse2" on Ubuntu 22.04 and older
    chmod +x Vibisual-0.1.10.AppImage
    ./Vibisual-0.1.10.AppImage

Vibisual runs on top of the Claude CLI, which must already be on your PATH.

Day-to-day development and testing happen on Windows, so macOS and Linux get far less hands-on use. If a build is broken there, open an issue — we will fix it quickly.


What changed in 0.1.10

Added

  • Spec Board — requirements, acceptance criteria, and the cards that carry them out, on one canvas thread. Write what you're building in Markdown, list the acceptance criteria under it, and one click turns each criterion into a task card, chained in order so they run one after another. Edit the spec afterwards and the affected cards are marked Spec changed rather than being silently deleted or rebuilt — what to do about it stays your call.
  • The MCP servers this project can actually use. There was no way to see, inside the app, what MCP is attached here and what is switched on. A new sidebar view gathers all four places a server can come from — your global config, this project's entry, the repo's own .mcp.json, and our presets — into one list, marks each on / off / awaiting approval, and says what's still missing before it can run (approval, a command that isn't installed, an unset variable, sign-in, or a policy block). Toggling writes to the same place /mcp disable writes, so this list and /mcp never disagree, and nothing in your repo is touched. It replaces the old Terminal session list, which the tab bar and session summary were already showing twice over.
  • Review a diff where you're reading it. Hover any line in a diff to leave a comment, keep going, and send the whole batch as one instruction to the agent — instead of scrolling back and describing the line in prose. Comments live with the session, and a diff you've commented on won't fold itself away.
  • Merge a worktree back into the main line, from the app. Isolation, running, watching and reviewing all happened here; merging was the one step that still sent you to a terminal. It refuses with a reason when the parent has uncommitted changes or there's nothing to merge, and on a conflict it backs the merge out, lists the conflicting files, and offers to hand them to the agent that owns the worktree.
  • Preview at real device widths — and click an element to talk about it. Auto / 390 / 820 / 1280 presets render at the actual width rather than a shrunken copy, and an element picker turns a click in the preview into a command: the thing you clicked, its text, and where it sits go to the agent, so you can say "this one" instead of describing it.
  • First-run setup for people who only downloaded the app. Without the claude CLI installed, the app previously said nothing at all — no login window, no prompt, no explanation. Now you get a guided install that runs the official native installer (no Node.js needed) inside the app, a banner that waits for you if you'd rather do it later, and a handoff to the sign-in window once it succeeds. A Version setting decides which claude executable is used, and CLI auto-update can be switched on or off.

Changed

  • Vibisual is a Visual Development Environment. The product describes itself as the first Visual Development Environment for AI coding agents — a step up the ladder from IDE (you type) and ADE (the agent writes, you read a terminal) to a canvas where the agent builds and you watch the map. The canvas, and everything in it, is unchanged; what changed is how the thing is named.
  • Ctrl+F finds what the agent said. In-conversation search was matching command text, tool input and output, and system lines, so the sentence you were actually looking for sat behind a wall of matches you didn't want. It now searches the agent's prose, with the same rule in the main tab and in a subagent's tab.
  • Open projects you aren't looking at stop costing anything. Four changes together: each window declares which projects it needs and only those are sent in full (of a 3.31 MB update, 81 % was projects nobody had on screen); a save now re-serialises only the projects that actually changed; backup rotation and atomic writes moved off the UI thread onto a worker; and a project that's open, idle, and running nothing is unloaded after 15 minutes — its tab stays where it is, one click brings it back, and it's saved on the way down.

Fixed

  • macOS builds work again. Ten releases in a row failed on macOS, and the workflow's own comment blamed code signing — so nobody opened the log. The log said the app icon was 256×256 where at least 512×512 is required. The icon is now generated at 1024×1024, with the Windows icon byte-for-byte unchanged. Signing and notarisation are still absent, so macOS auto-update remains unavailable, but the build and the release itself now go through.
  • A save guard that kept firing at itself. Two worktrees refused every checkpoint write, over and over. A root node was being created for worktrees at boot and swept away again ten seconds later, and a refused write updated neither the file nor the count it compares against — so the condition that caused the refusal never cleared.

Full history: CHANGELOG.md

0.1.9

Choose a tag to compare

@github-actions github-actions released this 18 Aug 07:39

Download

Find your operating system — that row has the only file you need.

Your machine Download
Windows 10 / 11 · 64-bit Vibisual-0.1.9-setup.exe · 250 MB
Linux Arch, NixOS, anything else — Vibisual-0.1.9.AppImage · 260 MB
The other 3 files under Assets — you do not need them

They are what the app's built-in updater reads: latest*.yml is the version feed, *.blockmap lets an update download only the changed parts, and *-mac.zip is the format macOS updates in place with. Downloading them by hand does nothing.

Or install with one line

# macOS and Linux
curl -fsSL https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.ps1 | iex

The script reads this release, picks the build for your machine, and prefers your package manager over the AppImage when you have one.

First launch

  • Windows — the build is not code-signed yet, so SmartScreen warns on first run: More info → Run anyway.

  • Linux (AppImage) — for distributions that take neither format. It needs FUSE 2, which recent releases no longer ship:

    sudo apt install libfuse2t64   # "libfuse2" on Ubuntu 22.04 and older
    chmod +x Vibisual-0.1.9.AppImage
    ./Vibisual-0.1.9.AppImage

Vibisual runs on top of the Claude CLI, which must already be on your PATH.

Day-to-day development and testing happen on Windows, so macOS and Linux get far less hands-on use. If a build is broken there, open an issue — we will fix it quickly.


What changed in 0.1.9

Added

  • A real editor, inside the IDE. File names were showing in three places — the explorer tree, the edited files section, and the Edit tool header in the stream — and none of them opened anything. All three now open the same built-in editor, docked to the right of the conversation rather than covering it, so you read the file while the agent keeps talking. Tabs with dirty dots and a close prompt, Tab / Shift+Tab indent, Ctrl+S save, original line endings preserved, and a modification check that refuses to overwrite a file the agent changed underneath you. There's a right-click menu, read-only files can be unlocked and saved, and a Follow toggle walks the editor to whatever the agent is editing right now — telling you when it chose not to follow, and why.
  • The Files view is now a workspace explorer. Instead of the bare filenames the agent happened to touch, you get the real directory tree from the project root — lazy-loaded, hidden entries included, original casing — with the full path shown in the tooltip, the footer, and as parent/file. The old edited-files list is kept as a collapsible section rather than replaced.
  • Run and Debug. A new activity-bar section finds your run configurations wherever they already live — .vscode/launch.json, tasks.json, package.json scripts, .vibisual/run.json — and runs them with output in the panel. Debug mode now actually attaches: a common debug layer speaks both CDP and DAP, so a breakpoint stops instead of the process sitting there waiting for a debugger that never came. Unreal projects are first-class — open any .uproject and the configurations appear, without writing a per-project file first.
  • Play bubbles — a button on the canvas that starts your project. Drop one on the canvas and press it instead of asking an agent to "start the server"; a live preview appears beside it, and closing the preview leaves the button. How to start a given app is worked out in four steps (static serving → auto-detection → learning by watching → asking an agent), and once it's settled the recipe is saved to the bubble, so it's one click from then on.
  • Internal apps — and the first one, Vibistudio. Things too heavy to be a plugin now install as separate apps from File → Apps, appear as their own bubbles on the canvas, and cost nothing when you don't use them (an app that isn't installed is never even loaded). The first is Vibistudio, a programmable video studio: code-driven motion graphics and real footage on one timeline, a timeline an agent can edit directly, and rendering that happens entirely on your machine.
  • Session goals. Give an open session a goal sentence and the activity bar carries its progress as a percentage at all times. The goal is re-injected every turn, so editing it mid-run changes the next turn instead of requiring a restart, and progress comes from three sources — the agent's own report, your manual correction, and the plan checklist — with the agent's explicit report winning. A goal is a final objective plus a todo checklist.
  • Sign in to Claude inside the app. Logging in used to mean a black console window outside the app, and logging out or switching accounts had no path at all. There's now a login popup when you aren't signed in, and an Account tab in Options to check the account or sign out.
  • See — and switch off — everything being fed to the agent. A new Context view lays out every source that gets prepended to your prompt: card instructions, the intent declaration, the session goal, the Brain briefing, enforcement plugins, edges, feedback, Agent Rules, plus Claude Code's own CLAUDE.md, memory index, skill and command descriptions, subagent definitions, tool schemas and system prompt. Each row shows its estimated size and can be turned off per session or per project, with a one-line explanation on hover and a detail dialog on click.
  • Reading settings. Line length, text size, line height, letter and word spacing, and paragraph spacing are yours to set, with width presets, a slider, and a badge measuring the line against the accessibility guideline for CJK text — because there is no single correct width, only the one that suits you.
  • Draw on a screenshot instead of describing it. The attachment lightbox gains annotation: rectangle, ellipse, arrow, pen, highlighter, redaction, text, and auto-numbering badges, in six colours and three weights. What gets attached is the annotated PNG, so you can write "area 2" instead of a paragraph locating a button. The default tool is View, so viewing an image behaves exactly as before.
  • Command history, per session. Walk back through what you've already sent, without leaving the session you're in.
  • Verified runs. "Done" used to be a word the model produced. Completion for autonomous runs is now decided by the server, an unreadable review verdict is no longer treated as approval, and exceeding the rework limit calls you instead of quietly lowering its own standards.
  • Copy a skill into another project, straight from the sidebar.
  • Loops got a budget and a memory. The loop screen moved from an overlay into the sidebar, context is compacted automatically at the end of each round, and each round runs against an explicit budget.
  • Running subagents, in detail. The view moved from a count to what each background child is doing and what it produced, with per-item expiry, an unresponsive marker, and the ability to take one down on its own.
  • Emptying the Trash. Three deletion actions inside the Trash bubble, plus a Storage tab in Options.
  • Tabs move out of the way. Dragging a tab now pushes its neighbours aside with real motion instead of snapping into place or drawing an insertion line.
  • Bash tool timeout is a setting, and IDE bookmarks are kept per project.

Changed

  • Plugins stopped only watching. All 111 inspector cards gained an enforcement side: switch one on and that principle is loaded into the agent's prompt every turn — for that project only, since plugin scope moved from global to per-project. Each plugin is also now a self-contained folder that runs if you copy it elsewhere, with its own descriptor and its own translations.
  • Slash commands reach the CLI again. Everything we prepend to a turn was standing in front of them, so /context and friends were handed to the model as plain text instead of being run.
  • Less noise in the stream. Finished thinking blocks are gone entirely (thinking is one live line while it happens), repeated working heartbeats for a task already on screen are no longer drawn at any density, and housekeeping notifications are hidden.
  • Cards stay where they were reported. Work reports, questions, and reviews are pinned at the point in the conversation where they arrived, instead of riding along at the bottom of the screen.
  • Hook bubbles are read-only — an externally-started session is something you watch, not something you type into.
  • A turn ending is provisional. A finished result no longer seals a turn as complete while background work it started is still running.
  • App bubbles are graphite and a third of the size, and canvas physics runs always rather than only when satellites are present.

Fixed

  • It no longer gets heavier the longer it runs. Eleven hours in, the main process — which is also the server core — held 3 GB, while everything on disk came to 73 MB. The I/O counters told the real story: a single tool event was reading 832 MB. Caches are now bounded by bytes rather than item count, whole-file reads became chunked reads, and conversation-event and summary extraction became incremental, so an event reads what changed instead of everything.
  • The middle of a conversation no longer vanishes, leaving only your bubbles and the cards. The restore budget was being spent on events that are never drawn on screen.
  • An [immediate] follow-up could end the session. Sending one while a turn ...
Read more

0.1.8

Choose a tag to compare

@github-actions github-actions released this 03 Aug 02:10

Download

Find your operating system — that row has the only file you need.

Your machine Download
Windows 10 / 11 · 64-bit Vibisual-0.1.8-setup.exe · 131 MB
Linux Arch, NixOS, anything else — Vibisual-0.1.8.AppImage · 147 MB
The other 3 files under Assets — you do not need them

They are what the app's built-in updater reads: latest*.yml is the version feed, *.blockmap lets an update download only the changed parts, and *-mac.zip is the format macOS updates in place with. Downloading them by hand does nothing.

Or install with one line

# macOS and Linux
curl -fsSL https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.ps1 | iex

The script reads this release, picks the build for your machine, and prefers your package manager over the AppImage when you have one.

First launch

  • Windows — the build is not code-signed yet, so SmartScreen warns on first run: More info → Run anyway.

  • Linux (AppImage) — for distributions that take neither format. It needs FUSE 2, which recent releases no longer ship:

    sudo apt install libfuse2t64   # "libfuse2" on Ubuntu 22.04 and older
    chmod +x Vibisual-0.1.8.AppImage
    ./Vibisual-0.1.8.AppImage

Vibisual runs on top of the Claude CLI, which must already be on your PATH.

Day-to-day development and testing happen on Windows, so macOS and Linux get far less hands-on use. If a build is broken there, open an issue — we will fix it quickly.


What changed in 0.1.8

Added

  • Plugins — 111 inspector cards you switch on one at a time. A new plugin kernel (File → Plugins…) turns the 2026 agent-engineering vocabulary — context engineering, retrieval, memory, evaluation, security, orchestration — into small inspector cards that read what your agents are actually doing and show whether that principle is holding. Everything is off by default: each entry tells you what you'd see before you enable it, categories fold, and the enabled / total count is shown per category. Cards only observe — they never take over what the core already does — and one misbehaving card is isolated so it can't take the app down with it. All of them are fully translated into the 12 supported languages.
  • Command Center. Double-click a project's root bubble to open a dedicated window that sorts every session by what it wants from you — Needs your answer, Waiting for review, Your turn, Working, Finished / idle. From a card you can jump to the session, send it a command without opening the IDE, ask for a summary, stop it, or close its tab; a search box filters across every session at once.
  • Screen and program capture bubbles — with remote control. Put a live screen or application window on the canvas as its own bubble (canvas right-click → Screen / Program Capture Bubble). Open it large in an in-app window, magnet-snap two or three capture bubbles together into a multi-monitor wall, and — with remote control on — click, drag, right-click and type into the captured machine straight from the bubble, in either touch mode (acts where you point) or mouse mode (a trackpad for phones). It works from a phone over Mobile Access too, and your own pointer no longer gets yanked around: a look-alike cursor is drawn under your finger while the real one stays where you left it.
  • A memory library you can read. Project Brain moved out of a ranked feed into an in-app window organised by topic: memories are filed under subjects like capture, worktrees, usage, or UI, so an agent (and you) can open only the topic at hand instead of being handed a pile of cards. Cards carry their own lifecycle — a card whose source file changed since it was written is flagged needs checking, agents report back whether it still holds, and repeatedly-stale cards are archived rather than deleted. Trashed custom agents keep their memories in a Trash bubble you can restore from.
  • Usage at a glance. A usage pill in the header shows how much of your Claude plan is left, with a popup that breaks the window down; the figures now come from the same source as the Claude app's own /usage, so they match what you see there.
  • QR pairing for Mobile Access. Instead of typing an address and then a pairing code on your phone, scan a QR code shown on the PC — a three-minute ticket that pairs the device in one step. You can reissue or revoke it at any time.
  • Repeat a session on a loop. Run the same session a set number of times in a row; the completion chime holds until the whole loop is finished instead of firing on every pass.
  • Stream density — Compact / Standard / Raw. Choose how much of an agent's output you want to see. Consecutive tool calls collapse into a single commands run box with the tool names on it, finished thinking blocks are dropped entirely (thinking shows as one live line while it's happening), and every agent turn now leads with what it understood and intends to do, so you can stop it before it goes the wrong way.
  • Jump pills for cards you missed. When a work-report, question, or review card scrolls past while you're reading elsewhere, a stack of pills appears to jump you back to it.
  • Low-power mode. Suspends the always-on physics loop and the endless animations and blur effects to keep the machine cool during long sessions. It's a phone-side optimisation only — the desktop canvas is untouched, and activity signals keep flowing either way.
  • Confirmation before closing a busy tab. Closing an IDE session tab while that session is still working now asks first.

Changed

  • Stop means stop. Stop now ends the open session and the subagents it spawned, and the IDE shows which background subagents are still running rather than leaving them invisible.
  • A trashed project stands on its own. Projects in the Trash no longer depend on the original entry, and entering one shows the path it came from.
  • Question cards handle several questions at once. Multi-question reports lay each question out separately with its own suggested replies.

Fixed

  • It no longer gets slower the more you use it. A full pass over the slowdown found two culprits and removed both: session transcripts were being re-read from disk in full on every snapshot, and /api/tokens kept one last whole-file reader alive on the Electron main process — which is also the server core, so the reads froze the UI. Frame drops with many parallel sessions were traced to double serialisation in the snapshot pipeline and fixed with a load-adaptive batch window, and off-screen bubbles are no longer drawn at all.
  • Deleting a worktree folder no longer resurrects it. Autosave treated "the folder exists" as "this is a worktree" and kept recreating folders you had just removed; it now checks for a live git worktree instead.
  • Usage no longer freezes at an old number after the window resets, and a 1 % figure is no longer drawn as 100 %.
  • Scanning the QR no longer drops you back at the pairing-code screen (the session cookie's SameSite policy was too strict for a scanned link).
  • Custom agents stop claiming they're done. A custom agent bubble flipped to completed at every turn boundary — edges cleaned up, chime played — while work was still queued. Completion is now decided by whether anything remains to be produced.
  • The Brain bubble no longer reads "0 cards" when memories exist, and its summary is kept per project.
  • Reflection no longer spawns itself. A background reflection run triggered the global hooks, which scheduled another reflection — an idle machine was starting a new session every five and a half minutes, chiming each time and littering the canvas with ghost projects. Both the entry point and the scheduler now refuse to run for a reflection's own working directory.
  • Preview satellites from a custom agent's server no longer stay dark, and a reported preview URL is now paired with its server entry.
  • Broken projects are told apart from missing ones at boot — a project whose metadata is damaged is retried, while an entry that was never a project is dropped, instead of both silently emptying the canvas.
  • Right-clicking inside the IDE no longer also opens the canvas menu, and the image lightbox closes properly while the IDE is docked.

Full history: CHANGELOG.md

0.1.7

Choose a tag to compare

@github-actions github-actions released this 08 Jul 07:43

Download

Find your operating system — that row has the only file you need.

Your machine Download
Windows 10 / 11 · 64-bit Vibisual-0.1.7-setup.exe · 97 MB
Linux Arch, NixOS, anything else — Vibisual-0.1.7.AppImage · 122 MB
The other 3 files under Assets — you do not need them

They are what the app's built-in updater reads: latest*.yml is the version feed, *.blockmap lets an update download only the changed parts, and *-mac.zip is the format macOS updates in place with. Downloading them by hand does nothing.

Or install with one line

# macOS and Linux
curl -fsSL https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/Vibisual/vibisual/main/scripts/install.ps1 | iex

The script reads this release, picks the build for your machine, and prefers your package manager over the AppImage when you have one.

First launch

  • Windows — the build is not code-signed yet, so SmartScreen warns on first run: More info → Run anyway.

  • Linux (AppImage) — for distributions that take neither format. It needs FUSE 2, which recent releases no longer ship:

    sudo apt install libfuse2t64   # "libfuse2" on Ubuntu 22.04 and older
    chmod +x Vibisual-0.1.7.AppImage
    ./Vibisual-0.1.7.AppImage

Vibisual runs on top of the Claude CLI, which must already be on your PATH.

Day-to-day development and testing happen on Windows, so macOS and Linux get far less hands-on use. If a build is broken there, open an issue — we will fix it quickly.


What changed in 0.1.7

Added

  • Side-by-side diffs in the agent stream. When an agent edits a file, the change now renders as a before/after diff — red for the old lines, green for the new — with the changed words within a line highlighted, right in the output. Brand-new files show as a Created card, and multi-edit changes stack each hunk in order.
  • Turn your feedback into an agent's rules, from its panel. The agent section of the detail panel now tallies the like / dislike feedback you've left for that agent, and when there are dislikes it offers Promote to rules: a distilled set of proposed rule sentences you review and edit in a confirmation dialog before they're appended to that agent's Agent Rules. Nothing is applied automatically, and you can undo via Rules history. Per-session feedback counts are shown alongside the stream.
  • Performance profiler in the Debug panel. Profile now collects a one-minute frame profile, and one is also captured automatically when the frame rate drops below the threshold (with a cooldown), attributing which scripts held frames the longest. The result is a copyable report you can share to diagnose a slowdown.
  • Reload without restarting. New Reload session and Reload project actions refresh the current IDE session and the canvas project in place.
  • Fullscreen canvas and zoom reset. The canvas controls gain a fullscreen toggle and a one-click zoom Reset.
  • Phone back button acts as Escape. When you're viewing Vibisual from a phone, the browser's back gesture now closes the current overlay instead of leaving the app.

Fixed

  • Projects and tasks survive a crash. The project index (app-state.json) and each project's metadata (project.json) are now written atomically with rotating backups, and project metadata self-heals from the checkpoint or identity file (and their backups) when it's missing or truncated — the same protection the stream files already had. A crash mid-write no longer empties the canvas or drops projects on the next launch.
  • Crash causes are now saved to disk. Fatal errors — uncaught exceptions, unhandled rejections, and renderer / GPU process deaths — are appended to a rotating crash log, and native crashes are captured as local minidumps under the app's data folder, so a crash in an installed build can be diagnosed after the fact instead of vanishing with the process. Nothing is uploaded.
  • No more orphaned processes on Windows. When an agent stops, its whole process tree — including the node workers and MCP servers the CLI spawns — is now terminated together, instead of leaving grandchild "Claude Code" processes piling up in Task Manager across a long session.

Full history: CHANGELOG.md