Skip to content

Releases: sodre90/mirador

Mirador 0.4.4

Choose a tag to compare

@sodre90 sodre90 released this 16 Oct 13:51

Mirador 0.4.4 uses far less CPU on Linux while conversations run, lets you try a turn again from the error that ended it, and opens web addresses a terminal shows. It also loads the app under a strict Content-Security-Policy, and the desktop app now runs on Bun 1.4.3.

What's new

  • Much less CPU on Linux. The pulsing status dots of running conversations made the whole window redraw on every frame, which cost a lot of CPU on Linux (issue 17). They now pulse in a few steps, all in the same phase, so many running conversations cost about what one does. Streaming replies also redraw their text a few times a second instead of on every word. Settings → Appearance → Pulse status dots turns pulsing off. The dots also stay still when your system asks for reduced motion.
  • Try again. When an error ends a turn, such as an API error, the error line has a Try again button. The agent continues where it left off, and still has the message the failed turn began with. This works with Claude Code and opencode.
  • Drop a file on the message box to insert the path of a copy the agent can read (issue 13).
  • Links in terminals. Ctrl+click, or ⌘-click on macOS, opens a web address or a hyperlink a terminal shows in your browser (issue 7).
  • Reviews:
    • ⌘F, or Ctrl+F, finds text in a review's changed files and steps from file to file (issue 2).
    • Each finding shows the number the agent calls it by (issue 11).
    • A tour's code sits below its steps across the whole width, so lines wrap less (issue 10).
  • mirador message. An agent, or a script it started, can send its own conversation a message as your next one. A job the agent leaves running can end with it, so the agent picks up where the job left off.
  • Images from other sites in agent replies show as links that name the site, instead of loading on their own, so an agent can't send what it read to another site through an image address. Settings → Conversations → Images from other sites lets them load.
  • A strict Content-Security-Policy protects the app page. Canvas pages load from the canvas assets server under a policy of their own.

Fixes

  • A long word wraps in messages and replies, instead of making the chat scroll sideways.
  • When the browser refuses copy on select in a terminal, Mirador says to copy by hand (⌘C on macOS, Ctrl+Shift+C elsewhere) instead of failing with an error (issue 9).
  • The tray icon is named Mirador on Linux, not bun (issue 15).
  • Undoing a turn's file changes keeps the files' line endings.
  • A host restart works while an agent is still starting, instead of leaving every message queued.
  • A new conversation starts on the agent you just chose, even when you start it right after choosing.
  • A message that joined a running turn goes out again after Stop when the agent had not started answering it.
  • Claude Code installed while Mirador runs shows up in Settings when the page opens again.
  • A turn ends when its agent dies, even if a program the agent started keeps its output open.
  • Mirador makes its certificate on machines with long host names.
  • Error lines are shorter: Claude Code's error kind and opencode's error tags are left out.
  • In a review, All N lines shows every line above a file's first change.
  • Shell blocks in a subagent's card look as they do in the timeline.
  • Each Text size option shows the size chat text really gets.
  • When the desktop app can't start, it says why and writes it to its log, instead of quitting without a word.
  • The desktop app runs on Bun 1.4.3, the Bun Mirador is tested with, instead of the 1.4.0 its framework ships.

Install

The app carries Mirador and the Bun it runs on. It runs the Claude Code and opencode you have installed.

curl -fsSL https://github.com/sodre90/mirador/releases/latest/download/install.sh | sh

On macOS (Apple Silicon) and Linux (x64, arm64) the script downloads this release, installs it and starts it. Already on 0.4.1, 0.4.2 or 0.4.3? The app updates itself: a banner offers to restart into 0.4.4. Coming from 0.4.0, run the script once more (quit Mirador first).

With Homebrew: brew install --cask sodre90/tap/mirador. On Linux, Homebrew prints the apt and dnf commands for the libraries the app needs.

By hand:

macOS (Apple Silicon): Mirador-macos-arm64.zip.

unzip Mirador-macos-arm64.zip -d /Applications
open /Applications/Mirador.app

Linux: Mirador-linux-x64-Setup.tar.gz or Mirador-linux-arm64-Setup.tar.gz (uname -m says which). It needs glibc 2.36 or newer (Ubuntu 24.04, Debian 12, Fedora 37 or later), GTK 3, WebKitGTK 4.1 and the Ayatana AppIndicator library:

sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0 libayatana-appindicator3-1 librsvg2-2   # Debian, Ubuntu
sudo dnf install gtk3 webkit2gtk4.1 libayatana-appindicator-gtk3 librsvg2              # Fedora
mkdir mirador-setup && tar -xzf Mirador-linux-*-Setup.tar.gz -C mirador-setup && mirador-setup/installer

Then start Mirador from your applications menu. The stable-* files are what the app fetches to update itself; you don't need them.

The README covers signing in and running from a checkout.

Checksums (SHA-256)

268259a603e92e67c277ae16b22ddfde8975eb64df3a95452a81ada5325b796d  Mirador-linux-arm64-Setup.tar.gz
9a406dc7584574e119c798d02b13318c153afa8cfd758c31a91a3becf367dee5  Mirador-linux-x64-Setup.tar.gz
72544068759160457935cb41eba1d607c3c93881a124ae6f1967d585c608b136  Mirador-macos-arm64.zip
62d7b79d3f548d3c1c8700052d81cc975ed0450f443aafd2f8e30f5e0b2f1d30  install.sh
6ebb1122ca0f99c2d6e17bfa366722fc0a94d028d5b2430a11fe27604d882868  stable-linux-arm64-29zhyh3or8ry1.patch
5ec9244dd002ea6788fa2e53208c2d395bc51cd51cb5a61d0d95205a747b50e4  stable-linux-arm64-2ozlpe0xpf2p6.patch
3c972389ad96a6debe43776defef8d1e4997be325f2c84dabb2255f9ec45e27f  stable-linux-arm64-31st2g9dnzywz.patch
e66333a83b4443540e13cbda8a526a3ab36deb794951dd23d1def3580ec31683  stable-linux-arm64-Mirador.tar.zst
148b4e2dffce2dcf0ee17e4b5cb3dc46ea912d282b28be4629108d959339abfb  stable-linux-arm64-update.json
6a7f75d4d864f3f3102bc54e914753c072f4e0ce73f5104cef1274d399bfd995  stable-linux-x64-175qm8cpfat0u.patch
144ba87361706ff30f72bdc2182824ed095f43af46f41e83bf7658602883e44e  stable-linux-x64-1wuhx7kg24p4f.patch
d253e69abf804a40f66ee164f92f4f1f3d49c591b5e791205ff9577ba2d0904e  stable-linux-x64-3hsdrhe02j2j5.patch
66f3df8993cb57e6e98ddd35bcc5af22955d2165b2ab5e71139cf4a2835c3c2c  stable-linux-x64-Mirador.tar.zst
5aef0fa495bd74a7c3c7799bec3cb694671b8f2147775003045e9928cdf6436c  stable-linux-x64-update.json
475885d4231b9f348106cbc8b9f629d3ec02d1f0f365e1af7e648a19a05722e6  stable-macos-arm64-1elvqbi9nmx3.patch
66a895d0b3dfadc578297ff2a3751f461ba6b0caaa9afe92e3e6e99babb32721  stable-macos-arm64-3dggi45r45mrk.patch
4bbd70679d51fa9cf51d8e9ac208c0b71bf2da63b6e34099350452fa2836349a  stable-macos-arm64-Mirador.app.tar.zst
06164d3ed09379711be2eaa0e0d37257bd57a966d07e041889d6079e03300ad6  stable-macos-arm64-kuqni7czhuyj.patch
77edd754fffd77e8fd1de40df3d14aac606a644e7728853a2bea9c646e7d172a  stable-macos-arm64-update.json

Mirador 0.4.3

Choose a tag to compare

@sodre90 sodre90 released this 14 Oct 15:25

Mirador 0.4.3 lets you choose how shell blocks look, and marks in the sidebar a conversation that waits for a job the agent left running. It also fixes canvas text that was hard to read in one theme, and an error when you switch conversations.

What's new

  • Shell blocks in your colours. Shell blocks, the commands the agent runs and the ones you run yourself, now follow the theme: light in the light theme, dark in the dark one. Settings → Appearance → Shell colours offers four more looks:

    • Terminal dark, exactly the look shell blocks had until now;
    • Soft dark;
    • Paper;
    • Custom, with your own background, text and prompt colours.

    Below them you can name a font for shell blocks and pick a text size from 90% to 130%. On upgrade, dark shell blocks turn light in the light theme; choose Terminal dark to keep them as they were.

  • A ring in the sidebar while a job runs. When the agent leaves a job running, such as a build or a test suite, and has Mirador wait for it, the conversation's dot in the sidebar becomes a slowly pulsing ring until the job ends. Hover over it to see which job it is, and whether the agent carries on when the job ends or you are told. Agents are also told to start long jobs with nohup and have Mirador wait for them, instead of running them in the background where Mirador can't see them.

  • Review tabs keep their place. Each tab of a review keeps its scroll position when you switch between tabs (issue 3). A click on a finding or an answer on the overview still takes you to it.

  • Enter answers a question. Enter in a question's optional note sends your answer, and Shift+Enter starts a new line (issue 4).

  • Posting a review checks gh first. When gh is missing, or not logged in to the pull request's host, the review panel says what to run instead of failing on Post.

  • Tall pasted images open whole, scaled to fit the window.

Fixes

  • Canvas text stays readable on pages that picked their colours for one theme only, such as dark inline code on a dark page (issue 14).
  • No error when you switch conversations while the agent writes (issue 12).
  • The desktop app starts its host when your login shell is fish, and when your shell profile changes directory.
  • In Settings, a chosen option in the left column shows its whole outline instead of losing its left edge.

Install

The app carries Mirador and the Bun it runs on. It runs the Claude Code and opencode you have installed.

curl -fsSL https://github.com/sodre90/mirador/releases/latest/download/install.sh | sh

On macOS (Apple Silicon) and Linux (x64, arm64) the script downloads this release, installs it and starts it. Already on 0.4.1 or 0.4.2? The app updates itself: a banner offers to restart into 0.4.3. Coming from 0.4.0, run the script once more (quit Mirador first).

With Homebrew: brew install --cask sodre90/tap/mirador. On Linux, Homebrew prints the apt and dnf commands for the libraries the app needs.

By hand:

macOS (Apple Silicon): Mirador-macos-arm64.zip.

unzip Mirador-macos-arm64.zip -d /Applications
open /Applications/Mirador.app

Linux: Mirador-linux-x64-Setup.tar.gz or Mirador-linux-arm64-Setup.tar.gz (uname -m says which). It needs glibc 2.36 or newer (Ubuntu 24.04, Debian 12, Fedora 37 or later), GTK 3, WebKitGTK 4.1 and the Ayatana AppIndicator library:

sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0 libayatana-appindicator3-1 librsvg2-2   # Debian, Ubuntu
sudo dnf install gtk3 webkit2gtk4.1 libayatana-appindicator-gtk3 librsvg2              # Fedora
mkdir mirador-setup && tar -xzf Mirador-linux-*-Setup.tar.gz -C mirador-setup && mirador-setup/installer

Then start Mirador from your applications menu. The stable-* files are what the app fetches to update itself; you don't need them.

The README covers signing in and running from a checkout.

Checksums (SHA-256)

29a43a8ff04bf5dc736d7f9abacbef334e6ef6801fde5d305de0e9e6b12b60a4  Mirador-linux-arm64-Setup.tar.gz
3a4ab08f3b2e8090497837212f6f5d332620e7221dd351756bf014d0c23cbc52  Mirador-linux-x64-Setup.tar.gz
a9c74dc66feb354caf754a12fb051f3147ab24c43b27824109fa198f62112a88  Mirador-macos-arm64.zip
d4b4cc0586b628f7b09867e52e8a24e6f12b3d70c1e6d35930c25fcaa986668f  stable-linux-arm64-29zhyh3or8ry1.patch
1f78fc32cc8a318264556286cfff0e8beb225957a679a66950791fd6f5283d84  stable-linux-arm64-31st2g9dnzywz.patch
dfbdf1eac109acf4d7749c65c12f997865251207e89ad5a06ea30816a24b1339  stable-linux-arm64-Mirador.tar.zst
c4326b65108e2a6ffa86eea41bbd173831637f4a674cedbbaa140ed44d971612  stable-linux-arm64-update.json
b700c96952c7aef2fd88b60bb50d2b52f1bd68a7fb773ed6d75a2a659c622459  stable-linux-x64-1wuhx7kg24p4f.patch
61985cf8fa17c350da9163eb0e6a1e8dd26a106f501aa0c26e6f56945ad8ba81  stable-linux-x64-3hsdrhe02j2j5.patch
570758ba7ad18d8a06afcdb38c5c06e453a4cc8563e20cf589d9e60dbe0c1b86  stable-linux-x64-Mirador.tar.zst
6baf64097e2b9b559ed5445f0e1a9ecbcdcaa3c9e516e335e6e157ddd6081a37  stable-linux-x64-update.json
1f6143a79fb7418d823bdab46c64ca6737f79a385458dc57c7f5b10d81d3192c  stable-macos-arm64-1elvqbi9nmx3.patch
3957719e3eb1b426b2480021b1161040ec6be8ad94c0f211eb7425a67e1cfca9  stable-macos-arm64-3dggi45r45mrk.patch
0c1ad07d288cba65a0bf238d585862e93fbaf4ddc08765144c26f6cb4e590a5e  stable-macos-arm64-Mirador.app.tar.zst
4d10f97c976be5b9491de81a229d9b3978800850fea12ee3b6a76b3557eb9f21  stable-macos-arm64-update.json
62d7b79d3f548d3c1c8700052d81cc975ed0450f443aafd2f8e30f5e0b2f1d30  install.sh

Mirador 0.4.2

Choose a tag to compare

@sodre90 sodre90 released this 13 Oct 12:47

Mirador 0.4.2 gives the agent a checklist beside the canvas that it ticks as it works, and lets you take a page the agent drew with you: as an image, as HTML, or as a file of its own. Mirador is also open source now, under the MIT license, with a website at sodre90.github.io/mirador.

▶ Watch the trailer (1:37)

What's new

  • A checklist beside the canvas. For work with several steps, such as a feature, a release or a migration, the agent publishes its steps as a checklist in a tab beside the canvas and ticks each one as it finishes. Each item says whose it is: the agent's, yours, or both of yours. You can tick items too, and the agent hears of your ticks with your next message. An item the agent ticks flashes, and the agent's own to-do list is pinned underneath. The × next to the checklist's title takes you back to the page under it.
  • Take a canvas page with you. The Export menu on a page the agent drew copies it as an image or as HTML, downloads it, or saves it into the project as a file of its own. The file draws outside Mirador, loading D3, Mermaid and three.js from a public CDN; choose so in Settings → Canvas and D3 and Mermaid go inside the file instead, so it draws offline. The desktop app leaves out Download, as its downloads land in your Downloads folder without a word; save the page into the project instead.
  • A canvas bar that fits a narrow pane. As the canvas pane narrows, the bar folds its less used buttons into a ⋯ menu: first History, Clear and Export, then the arrows and Changes, then the checklist. Every button stays in reach at any width.
  • Hook messages that stay out of the way. What a hook prints, such as the context a SessionStart hook adds after compaction, shows as one line naming the hook, which opens to the hook's lines. The "says:" Claude Code puts before every line is gone, and the line breaks stay. A hook's warning still says it is one.

Install

The app carries Mirador and the Bun it runs on. It runs the Claude Code and opencode you have installed.

curl -fsSL https://github.com/sodre90/mirador/releases/latest/download/install.sh | sh

On macOS (Apple Silicon) and Linux (x64, arm64) the script downloads this release, installs it and starts it. Already on 0.4.1? The app updates itself: a banner offers to restart into 0.4.2. Coming from 0.4.0, run the script once more (quit Mirador first).

With Homebrew: brew install --cask sodre90/tap/mirador. On Linux, Homebrew prints the apt and dnf commands for the libraries the app needs.

By hand:

macOS (Apple Silicon): Mirador-macos-arm64.zip.

unzip Mirador-macos-arm64.zip -d /Applications
open /Applications/Mirador.app

Linux: Mirador-linux-x64-Setup.tar.gz or Mirador-linux-arm64-Setup.tar.gz (uname -m says which). It needs glibc 2.36 or newer (Ubuntu 24.04, Debian 12, Fedora 37 or later), GTK 3, WebKitGTK 4.1 and the Ayatana AppIndicator library:

sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0 libayatana-appindicator3-1 librsvg2-2   # Debian, Ubuntu
sudo dnf install gtk3 webkit2gtk4.1 libayatana-appindicator-gtk3 librsvg2              # Fedora
mkdir mirador-setup && tar -xzf Mirador-linux-*-Setup.tar.gz -C mirador-setup && mirador-setup/installer

Then start Mirador from your applications menu. The stable-* files are what the app fetches to update itself; you don't need them.

The README covers signing in and running from a checkout.

Checksums (SHA-256)

2301395e23743e37e425cc46e8876c6450fc421f2ecebf862c18783886a2b138  Mirador-linux-arm64-Setup.tar.gz
e7e96ee8ff0fe4af5b43477d476474a346d3701416d3a9c541b356ccad853926  Mirador-linux-x64-Setup.tar.gz
bdfd6fd9d598a5394aa73eaf72faf6b4c2cdeaacf897e863ff87e02b3dd47d83  Mirador-macos-arm64.zip
7106b1b5ea275d19732fc21aeab486d840916fb572ec35d39d63d12043fd3ee9  stable-linux-arm64-31st2g9dnzywz.patch
735ba489a3fca581f965bdc8c34a5f86ae2a7d12bd08b2249b7f5f383d82bbea  stable-linux-arm64-Mirador.tar.zst
795ac0bff9daf0511985600da686a762dfbbc6f0b797321f71969ea32e14a631  stable-linux-arm64-update.json
5da27408426ab0349686384bc80042cbf6a4220af8508d5918e65c357bef8b11  stable-linux-x64-3hsdrhe02j2j5.patch
86fc84ef81f57b0ff4ff4565cb0f01caeb49ea56833e312091ea36cf0ae8bedd  stable-linux-x64-Mirador.tar.zst
4f89f3dcf58f799e2d7e969cb165ee7ff939f90df7a979c348c2f5bc6d23c865  stable-linux-x64-update.json
00356c2af9d130cccb8d17634245c717151d05c6a171927569b40e1146f49957  stable-macos-arm64-3dggi45r45mrk.patch
01f5a3352e4b16e8a5c8c9313c475504b3cc386d4a84387004c7f254fa1d7615  stable-macos-arm64-Mirador.app.tar.zst
baffc3612d1b5171417b192ce220780a2779957bfcdb2e04e961754302339c63  stable-macos-arm64-update.json
62d7b79d3f548d3c1c8700052d81cc975ed0450f443aafd2f8e30f5e0b2f1d30  install.sh

Mirador 0.4.1

Choose a tag to compare

@sodre90 sodre90 released this 13 Oct 07:53

Mirador 0.4.1 is the first release signed by an identified developer and notarized by Apple, and from now on the desktop app updates itself. It also installs with Homebrew, works with opencode 2, and fixes a long list of smaller things.

▶ Watch the trailer (1:37)

What's new

  • Signed and notarized on macOS. The app is signed with a Developer ID and notarized by Apple, so it opens like any other app: no more clearing the download's quarantine with xattr.
  • The desktop app updates itself. When a newer release is out, the app downloads it quietly in the background, usually as a small patch rather than the whole app, and a banner offers to restart into it. The restart dialog warns only about agent turns the restart would really stop, and the host the app carries reloads with the update. 0.4.0 can't do this yet, so update from 0.4.0 once by hand (see below); from 0.4.1 on, it's automatic.
  • Install with Homebrew, on macOS and Linux: brew install --cask sodre90/tap/mirador. brew uninstall quits the app and removes it; your conversations in ~/.mirador stay.
  • opencode 2. Mirador works with opencode 2: its agents get the canvas tools directly, each conversation's canvas pages stay on its own canvas, its subagents' included, and a subagent's work nests in its card instead of spilling into the main timeline. opencode conversations keep Mirador's built-in statusline.
  • What's running shows as running. The step the agent runs, and the step a running subagent is on, show as running instead of as not started, even though claude-agent-acp reports them as pending.
  • When each limit starts over. The built-in statusline shows, next to each plan limit's meter, when that limit resets. When Claude's usage limit names a reset further off than a timer can wait, Mirador leaves continuing to you instead of continuing at once.
  • Copy a code block with one click.
  • Reviews you can rely on: comments go into your existing pending review even on a pull request with more than a hundred reviews; findings posted to one pull request no longer show as posted in a review of another; review and tour diffs show the right paths for file names with spaces, quotes, backslashes or accents, and when your git config sets diff.noprefix; review excerpts keep both ends of a long range and say how many lines they leave out; and you keep your place in a review or tour when you switch conversations.
  • Smaller things: the canvas bar keeps its title and its History, Clear and Hide buttons in view when an answer runs long; the sidebar footer with Settings and Shortcuts stays at the bottom while the workspace list scrolls; text cut short never splits an emoji, a flag or an accent, in sidebar titles, notifications and review topics; Undo files no longer leaves what the agent staged queued for your next commit; a message queued around a /clear goes out in the right order once the turn ends; a conversation deleted during its turn stops counting as waiting for you; when an agent's program can't start, the host keeps running and says why, and an agent that doesn't answer within a minute no longer holds up the others; Settings shows the Claude Code it found at once, even for wrappers that ignore a version check; terminals whose program ignores the hangup close with what they started; canvas pages can no longer reload Mirador with Cmd-R; mirador when-done reads a running Podman container right and keeps its waits across host restarts; invite links fill in the join code whatever the fingerprint's length, approving a join request someone else already answered fails instead of overwriting their answer, and a message from a joined machine this host can't read is skipped instead of crashing it; certificate renewal swaps in the new key only once both are signed, and a mismatched serving certificate heals on start; and the host no longer grows its subagent caches forever or crashes on a noisy agent whose log can't be written.

Install

The app carries Mirador and the Bun it runs on. It runs the Claude Code and opencode you have installed.

curl -fsSL https://github.com/sodre90/mirador/releases/latest/download/install.sh | sh

On macOS (Apple Silicon) and Linux (x64, arm64) the script downloads this release, installs it and starts it. Coming from 0.4.0, run it once more (quit Mirador first): later releases come to the app by themselves.

With Homebrew: brew install --cask sodre90/tap/mirador. On Linux, Homebrew prints the apt and dnf commands for the libraries the app needs.

By hand:

macOS (Apple Silicon): Mirador-macos-arm64.zip.

unzip Mirador-macos-arm64.zip -d /Applications
open /Applications/Mirador.app

Linux: Mirador-linux-x64-Setup.tar.gz or Mirador-linux-arm64-Setup.tar.gz (uname -m says which). It needs glibc 2.36 or newer (Ubuntu 24.04, Debian 12, Fedora 37 or later), GTK 3, WebKitGTK 4.1 and the Ayatana AppIndicator library:

sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0 libayatana-appindicator3-1 librsvg2-2   # Debian, Ubuntu
sudo dnf install gtk3 webkit2gtk4.1 libayatana-appindicator-gtk3 librsvg2              # Fedora
mkdir mirador-setup && tar -xzf Mirador-linux-*-Setup.tar.gz -C mirador-setup && mirador-setup/installer

Then start Mirador from your applications menu. The stable-* files are what the app fetches to update itself; you don't need them.

The README covers signing in and running from a checkout.

Checksums (SHA-256)

37cbd551361242417c02799a109f2630412958e4e2f258cf733941a198ddcef8  Mirador-linux-arm64-Setup.tar.gz
07d8d34addf44c74d14de8da1570df70e56143022c6fcd27f7c598642bcfce40  Mirador-linux-x64-Setup.tar.gz
72a09685962deacb924eb9811e8a82fac08f029cd47b71ea2d9f3998671cfbda  Mirador-macos-arm64.zip
94ec2081f96599f3a848efb2f90c45c4da125526a609a72cd00073857fd053a8  stable-linux-arm64-Mirador.tar.zst
9099befbdd2059f7a457e9d5c14febd069cc6eb2e5ae6167e3282b169e487372  stable-linux-arm64-update.json
caa5baccf40b7514acf4537d4a451901d74277362de14cfd8d5f1a5395dc132d  stable-linux-x64-Mirador.tar.zst
0e0eeff081dab8a4c7c6bb796052cb01e7891ca2f8c1cfbce82699e1d942f415  stable-linux-x64-update.json
83905faf3c1de020c843f937ac12372ca76ba9b46eae9e5ed902e196f0ff4add  stable-macos-arm64-Mirador.app.tar.zst
ca070b4643fa9df06261795f3a0408ae6da2110218a950bb3d8cfba1d4745a78  stable-macos-arm64-update.json
62d7b79d3f548d3c1c8700052d81cc975ed0450f443aafd2f8e30f5e0b2f1d30  install.sh

Mirador 0.4.0

Choose a tag to compare

@sodre90 sodre90 released this 12 Oct 07:38

Mirador 0.4.0 lets the agent walk you through code as a tour on the canvas, tells you when a newer Mirador is out, and shows how many conversations wait for you, right in the tab title and the menu bar.

What's new

  • Code tours. Ask the agent how something works, or let it show what it just changed: it puts a tour on the canvas, with steps in the order the code runs, each on its own lines. Given a git ref to count from, the steps mark added and removed lines and a Files tab shows the diff. Mirador keeps the files a tour was made from, so Show the rest of the file works on older tours too. With Settings › Canvas set to Often, Claude Code ends a larger coding task with a tour of what it changed.
  • A sign when a newer Mirador is out. The app checks GitHub's latest published release when it starts and every 6 hours; a host running from a checkout counts the commits it lacks on the branch it follows. A banner says so until you dismiss it, and Settings › About and the tray menu show it too, the tray with a link to the download.
  • How many wait for you. The browser tab's title and the menu bar icon show how many conversations wait for you, and a chip at the sidebar's edge points to waiting conversations scrolled out of view.
  • Steering reaches the agent at once. With Claude Code, a message that joins the running turn now goes in at once while the agent writes, instead of waiting for its next tool to finish. While it runs tools, the message still goes in as soon as they finish.
  • Subagents at a glance. The pane above the message box shows each running subagent's model and tokens, and its card shows the prompt it was given.
  • Another agent, before the first message. A conversation's Profile menu now lists the other agents' profiles too. Until the first message, picking one moves the conversation to that agent; after that they show greyed out, for a new conversation.
  • Two new prompt templates. Start on a ticket and Code tour are added to existing installs too. New installs also get a reworded Deep PR review; one you already have stays as it is.
  • Smaller things: write your own answer to a question over several lines, with Shift+Enter for a new line; on a phone or tablet a finger scrolls a terminal, and a quick swipe keeps it going until a touch or a key stops it; Ctrl, Shift, Alt and Cmd go along with the wheel to full-screen programs that follow the mouse, and the wheel scrolls them after the terminal was resized; a terminal fits its frame after its pane resizes; keys typed right after opening the conversation's find bar stay in its query; Changes shows files outside the project under your home folder as ~/..., refreshes faster, and no longer stalls the host while it reloads a large file's diff; terminals save their output every 15 seconds instead of every 2, easing the host's load; quitting Mirador force-stops an agent that ignores the stop signal; and a question's page keeps space at its sides even when it sets its body margin to 0.

Everything in 0.3.3

  • A skipped advisor call no longer ends the turn. When Claude Code calls its advisor after another tool in the same reply, the API never runs the advisor call. The turn now goes on and ends as usual, instead of ending with an internal error.

Everything in 0.3.2

  • Each conversation's own terminals. The conversations of a workspace each have their own terminal tabs, which keep running while another conversation is shown and close when the conversation is deleted. After Mirador restarts, a conversation's tabs and splits come back with what their shells printed, and a new shell under that output.
  • Several questions at once. An agent can ask several questions in one go: you answer them page by page and review your answers before sending them. Agents are told to ask this way rather than fold several questions into one.
  • Changes in a folder that is not a git repository. The canvas's Changes lists the files written since the turn began, a script's included, along with the agent's edits. Mirador checks up to 50,000 files of such a folder and says when it holds more, as some changed files may then be missing.
  • Half the download. The app leaves out the parts of its libraries it never loads: the macOS download is 50 MB instead of 110 MB, and the Linux installers 44 MB instead of 76 MB.
  • The canvas as you left it. Coming back to a conversation brings its canvas back as it was: Changes still open, or the page still shown.
  • Smaller things: in a workspace below its repository's top, Undo files and Rewind now put back and delete only that folder's files; before, they counted changes elsewhere in the repository and left behind files the turn had created in the folder; and the terminal tooltips say that each conversation has terminals of its own, which come back after a restart.

Everything in 0.3.1

  • Workspaces and groups in any order. Workspaces outside a group and the groups share one order in the sidebar: drag a workspace between two groups or below them, and a group above a workspace. A workspace dropped on the top edge of a group's heading lands above the group; lower on the heading, in it. Workspaces in a group are indented a little, new workspaces and groups go first, and deleting a group leaves its workspaces where it was. Your sidebar keeps its look until you move something.
  • What changed, on the canvas. The canvas's Changes button lists the files this turn, or your uncommitted work, changed, marks the ones the agent edited, and opens a file's line changes right under its row, with Open in IDEA. It shows the last list at once when you come back to it, and updates as the agent works.
  • No more endless "working". A message you send while Claude Code reports on a background command that just finished now ends with that turn, instead of the agent showing as working forever. Mirador now runs claude-agent-acp 0.88.0.
  • Smaller things: a running subagent blinks only its own icon, not the calls it has already finished, and a turn in which Claude Code asks its advisor no longer ends with an internal error.

Everything in 0.3.0

  • Approve edits on the canvas. An edit the agent waits for you to allow takes the canvas, with the file's line numbers and a Unified / Split toggle, and the chat keeps a small card. Settings › Canvas › Edit approvals turns it off, and the chat card shows the diff instead.
  • Find in a terminal. ⌘F (Ctrl+Shift+F on Linux) finds in the focused terminal's output and scrollback. Every match is highlighted, Enter and Shift+Enter step through them, and toggles match case, whole words or a regular expression. The conversation's find bar gets the same Match case toggle, also for the history only the host holds.
  • Workspace groups. Gather workspaces in folding groups in the sidebar, name them, and drag workspaces between them.
  • Prompt templates from the keyboard. ⌘J (Ctrl+J on Linux) in the message box opens a template finder: typing narrows it, Enter puts the template in at the caret with its first value selected, and Tab / Shift+Tab go through the values it asks for.
  • Turns taken in a terminal show in the conversation. When you go on with a conversation's Claude Code session in a terminal, the turns you take there appear in the conversation, and its agent goes on from them.
  • Every conversation runs on a profile. Workspaces and conversations that had none move onto a Claude Code or opencode profile for the agents this machine has, and behave as before. A first run offers a profile already filled in.
  • The terminal from the keyboard. Show, hide, focus, split and fullscreen the terminal with keys and from the palette, and swap two panes from the palette. Each terminal tab keeps where it was scrolled to.
  • Edit a stopped message. Press ↑ after stopping an answer to edit your message; Enter replaces it, its answer and the files it changed.
  • Images in messages. Replayed and agent messages show their images, pasted images show while they upload, and pasted images you never send are deleted.
  • ⌘W in the macOS app closes the focused terminal's shell or an open dialog first, asks before it closes the window, and closes a busy terminal when you press it again.
  • Profile switches finish even when the agent ignores Stop or stops answering, and Force stop ends one. Turns stopped for the change go on with the new profile, and the conversation says why an agent process went away.
  • Smaller things: Rewind and Undo files keep each workspace's newest 100 turns, and say when they leave a submodule as it is; a banner says when the Mirador app was built from older code than its checkout; a headless machine shows a join request on its desktop through notify-send, with an Open button that signs a browser in there; keys typed while a terminal's history replays reach the shell; of two Mirador launches at the same moment on Linux, only one starts; Enter takes the highlighted folder while you type a workspace path; canvas pages in the desktop app follow Mirador's theme rather than the Mac's, and the canvas no longer flashes white behind a loading page on the dark theme; your statusline reads on the light theme; Esc inside a canvas page leaves fullscreen; a squeezed conversation pane stays tall enough for its last lines and the composer; long words wrap in canvas pages and in a question's answer boxes, and agents can make the answer boxes wider; a rejected edit or a withdrawn question shows grey rather than green; the page no longer crashes when a terminal is split, closed or hidden; and dismissing a notice no longer takes a later one with it.

Everything in 0.2.3

  • Reviews update in place. Ask about a finding and the agent changes only what its answer changes: a comment's wording, severity or lines, a finding added or taken out, an answer to a conversation, the tour, the summary or the...
Read more