Repository navigation
Trellis 0.10.0
·
172 commits
to master
since this release
This release adds an optional MCP server, saved SSH passwords in the Keychain, richer text rendering, inline images, smart selection and file links, attention and activity cues on tabs, and a terminal bell setting. Trellis now opens in dark mode on first launch.
Added
- Settings → Appearance → Bell chooses what a terminal bell does: Sound (the macOS alert sound, the default), Visual flash, Sound and flash, or Off. A bell still marks the tab as waiting for input whatever the choice (FR-T07).
- The status bar shows the Trellis icon before the window name, and
swift runbuilds now show the Trellis icon in the Dock and About panel too. - Hovering a window in the collapsed sidebar shows a card of its tabs with their live status (busy, waiting for input, failed command, exited) and pane counts; click a tab to jump straight to it (FR-W06). The card replaces the window-name tooltip.
- An optional MCP server lets agents such as Claude Code control Trellis (INT-07). Turn it on in the new Settings → Remote Control section, which also sets the interface and port (default
127.0.0.1:7777). Every API method except event subscriptions is an MCP tool, authorized by the same automation grants: clients send a grant token as a bearer token, and see and run only what the grant allows. It's off by default and listens only on loopback unless you confirm a network address, which warns that the traffic is plain HTTP. Browser origins and DNS rebinding are refused, revoking a grant ends its sessions at once, and--no-mcpturns it off for one launch. - Saved SSH hosts can remember a password in the macOS Keychain (Hosts → Password). It is stored only on this Mac, is never shown again, and is given to
/usr/bin/sshthrough a bundledSSH_ASKPASShelper only for the host's password prompt, at most once per connection. Host-key confirmations, key passphrases and any retry are still asked in the terminal. An optional per-host toggle requires Touch ID or the Mac password before each use. Changing the destination, user, port or identity file removes the saved password, as does deleting the host. Exports, the automation API and the CLI never include it. - Hosts → Connect in New Window opens a saved host in a new managed window named after the host.
- Tabs show an animated bar along their top edge while a pane is printing output. Output at a shell-integrated prompt and the echo of your own typing never trigger it. Reduce Motion shows a static bar.
- Smart selection: double-clicking a URL, email address, file path (with its
:line:columnsuffix), UUID, IP address, git hash, or a quote around a quoted string selects the whole thing, even across wrapped lines. Elsewhere double-click still selects a word, and programs that use the mouse (such as vim withset mouse=a) still receive the click. - ⌘-click opens file paths and OSC 8
file://hyperlinks (ls --hyperlink, compilers,rg) in the file's default app, and the context menu offers Open Link, Copy Link, Open, Reveal in Finder and Copy Path over links. Apps, executables, scripts, installers and other files that could run code are only revealed in Finder. Files open only from local panes: relative paths need shell integration's directory, saved SSH host panes and panes started assshormoshnever open paths,file://links naming another host are refused, and network automount paths (/net,/Network) are never touched. - Font ligatures, on by default and drawn on the cell grid: with JetBrains Mono,
->,!=and<=>join, and text after them keeps its columns. The character under the cursor is drawn on its own. Settings → Appearance → Ligatures turns them off. - Inline images with iTerm2's image protocol (OSC 1337):
imgcat,yazi,timg,chafa -f itermand other tools show PNG, JPEG, GIF, BMP, TIFF, WebP and HEIC images in the terminal, including images sent in parts. Sessions setLC_TERMINAL=iTerm2so tools detect it. File downloads (inline=0) are ignored, documents such as PDF and SVG aren't decoded, and oversized images are refused. - Overline text (SGR 53/55), and rapid blink (SGR 6) blinks like SGR 5.
- Settings → Appearance adds Bold as bright colors, Use bold fonts, Use italic fonts and Allow blinking text. All are on by default; settings saved by earlier versions keep these defaults.
- Tabs show an Input label when their program is waiting for you: a password prompt (sudo, ssh,
read -s) while it lasts, or a bell or terminal notification (OSC 9, OSC 777) from a pane you aren't looking at, such as a coding agent asking for permission. The window list marks windows with a waiting pane, andsession.getreportswaitingForInput.
Changed
- Dark is now the first-launch appearance. Settings saved by an earlier version keep their mode.
- In the About panel, "LayerX Labs" links to https://layerx.xyz.
- Bold white text (SGR 1;37) is now drawn bright white, like bold text in the other base colours.
- Concealed text (SGR 8) is now hidden. Its background still shows, and copy and search still see the text.
- Underline, strikethrough and overline now cover the whole width of wide characters, emoji and ligatures, and dotted, dashed and curly underlines join up across colour changes.
- Any OSC or APC escape sequence longer than 8 MiB is now dropped instead of being buffered without limit.
- OSC 8 hyperlinks whose URL contains
;are no longer cut off at the first;after the parameters. - More space between the sidebar toggle and the New Window button in the collapsed sidebar.
Downloads
Trellis-0.10.0.dmg: Universal 2, runs on Apple silicon and Intel (recommended)Trellis-0.10.0-apple-silicon.dmg: Apple silicon (arm64) onlyTrellis-0.10.0-intel.dmg: Intel (x86_64) only
Verify with shasum -a 256 -c SHA256SUMS.txt. Requires macOS 14 or later.
Note: this build is ad-hoc signed and is not notarized. Gatekeeper will block it; build from source or wait for a signed release.