Relay 0.10.0
Changes
- Chat over ACP (beta). An agent's chat view can now talk to the agent through the Agent Client Protocol instead of its terminal. You get a real conversation thread, a composer, and permission cards you answer in place. Turn on "Chat over ACP (beta)" in Settings, then switch it on agent by agent. Claude Code starts on. If an agent's adapter is missing, the chat page offers to install it into Relay's own folder with one click. When an agent asks you to log in, the chat page shows its sign-in options. Switching chat off hands the same session back to the terminal.
- Each thread colour is its own conversation. For Claude Code, Grok and Codex, every thread colour now keeps its own provider session. Picking another colour resumes that colour's conversation instead of mixing them.
- Gemini CLI. Gemini is now a built-in agent, with its own tile in the agent sheet and its brand mark.
- Workspace backups. Back up a workspace to a
.relay-backupfile and restore it, either as a new workspace or over the original. A backup holds canvases, notes, chat transcripts and arrangements, never credentials or tokens. Turn on daily backups in the new Backups card in Settings, which keeps 14 days. The palette also offers "Back up this workspace". - Get around the canvas from the keyboard. Ctrl+Alt+Shift+1 to 9 (Ctrl+Cmd on macOS) jumps to a terminal by number and gives it the keyboard. Hold the modifiers to see each terminal's number. Ctrl/Cmd+] and [ step along the selected node's connections, and Ctrl/Cmd+Shift+. jumps to the next agent that needs you, even on another layer.
- Orchestrators can set up workspaces. An Orchestrator agent can now list, create and rename workspaces, and create, move, rename or clone canvases, with
relay workspaceandrelay canvas. A cloned canvas copies the layout with its agents as unstarted drafts.
Fixes
- "Restart to update" works again while agents are running. The quit question used to open behind the update window, so the app could never restart into the update.
- Starting a new thread no longer hides the grey thread's bookmark.
- Switching canvases no longer fails with "Workspace was not saved". Two canvases saving at the same moment could also mix up their files.
- A new canvas no longer opens with the nodes and layers of a canvas you deleted earlier.
Relay 0.9.0
Changes
- Review Git changes on the canvas. Add a Changes node to browse modified files and inspect readable, side-by-side diffs. Filter by staged or unstaged changes, expand individual hunks, and move between changes.
- Stage or restore as you review. Stage and unstage files or individual hunks from the Changes node. Restore discarded edits with a confirmation, and undo a restore. File nodes also show change counts and inline diff hunks in the editor gutter.
- Keep canvas tools close at hand. The canvas tool rail now sits at the right edge, with node actions arranged alongside it in a compact dock.
Relay 0.8.2
Changes
- Bookmarks stand behind the card. Thread bookmarks now rise from behind the agent's card, the way bookmarks stand out of a book, instead of sitting over its header. The header no longer keeps space for them.
- Easier to tell apart. Each bookmark has a notched top, and the thread on screen stands tallest.
- Waiting threads are easier to spot. When you are waiting for an answer in a thread, its green light now sits on the tip of the bookmark, where it shows on any colour.
- Selection stays clear. The selection outline now runs unbroken in front of the bookmarks.
Relay 0.8.1
Changes
- Thread bookmarks sit side by side. The bookmarks for the threads you use now stand next to each other in colour order, with no gaps between them, so an agent with one or two threads looks tidy.
- Start a new thread with one click. A dashed bookmark with a plus now ends the row. Click it to start the next unused thread in the chat, for example "New thread · Orange". You no longer need to hover to find it. To pick a particular colour, use the thread menu.
- Bookmarks look like part of the card. Each bookmark is raised like the rest of the app's small metal parts, with a soft shadow along its edges and a line of light on top. The line that seemed to cut each bookmark where it met the card is gone.
Relay 0.8.0
Relay 0.8.0 is the biggest release yet. Agents now get a chat beside their terminal, with seven threads each. Routines send prompts on a schedule. Notes stack into notebooks. And your agents can run more of the canvas themselves: they can post status, land layers, write roles and notify you.
Chat with your agents
Any agent terminal can now show a chat in place of its terminal grid. The agent keeps running underneath, and you can switch back with one click.
- Turn it on from the node. Use Chat on the node's bar, in its right-click menu or in the command palette. The agent replies with
relay say, and the skill that ships with Relay teaches it how. - Write at the bottom. The prompt box sits at the foot of the chat. Enter sends and Shift+Enter starts a new line. Your message is saved before the agent sees it, so nothing is lost if the agent restarts.
- See the work happen. While the agent works, its progress updates appear as a live list under a small animated orb, with the time elapsed. When it answers, the steps fold into one line you can open again.
- Readable answers. Code comes in highlighted blocks with a copy button, each answer can be copied, messages are grouped by day, and a pill takes you back to the newest message after you scroll up.
- Images and files. An agent can show a screenshot right in its reply (
relay say --file shot.png) and attach up to 8 files of up to 25 MB each (--attach). Click an image to open it in your viewer. Images in Markdown are shown only when they are files in your project; Relay never downloads a remote image. - Agents can catch up.
relay chat recallreads the conversation back after a restart or a compacted context, including by date:--last day|week|month, or--fromand--to.
Seven threads, as bookmarks
Each agent has seven chat threads, one per colour: red, orange, yellow, green, blue, purple and grey. Each thread is its own conversation.
- Bookmarks on the node. Every thread you have used hangs a bookmark ribbon from the top of the agent's node, in its colour. The thread on screen hangs longest, and the header names it, for example "Claude Code · Blue". The bookmarks show in the terminal view too, so you can see which threads are in use without opening the chat.
- One click to switch. Click a bookmark to open that thread. From the terminal view, the click opens the chat on that thread.
- Start a new thread. Hover over the bookmarks to show a dashed one for each empty thread, then click it.
- See who's waiting. A thread where you are waiting for an answer shows a small green light under its bookmark.
- Right-click for the list. Right-click any bookmark for all seven threads, with how many turns each has had and when it was last used.
- The agent follows you. The agent answers in the thread you last wrote in. Use
relay chat recall blueto read one thread, orrelay chat recall listfor all seven.
Chat is not available on server workspaces yet.
Routines
Routines send a prompt to an agent on a schedule, or show you a desktop reminder.
- Schedules. Run every few minutes or hours, daily at a time, on chosen weekdays, or once. A routine can stop after a number of runs or on a date.
- Built-in checks. By default a routine skips an agent that is still busy with a task or a reply. An optional script runs first, and its output is placed in the prompt wherever you write
{{output}}. - The Routines panel. Open Routines from the command palette, or choose Schedule a routine… from an agent's menu. Each routine shows its schedule in plain words, the agent it goes to and when it will run next. A switch pauses it, and the History tab shows each run, skip and failure.
- Clear form. The form shows when the routine would run next as you type. If something is wrong, the message appears under the field that needs fixing.
- For agents too. Orchestrator agents can manage routines with
relay routine.
Routines run while Relay is open. A run missed by more than ten minutes while Relay was closed is skipped, not run late.
Notebooks
Stack notes into a notebook: one card with a tab for each note.
- Stack and unstack. Select some notes and press Ctrl+Shift+B (Cmd+Shift+B on macOS), or drop a note onto a notebook. Unstack note puts the note on top back on the canvas.
- Looks like a notebook. A spiral binding runs down the side, with divider tabs on top and ruled paper inside. When you click to edit, you write on the same paper in the same size, so the text does not jump.
- Tabs you can rearrange. Drag a tab to reorder it, move it to another notebook, or drop it on the canvas. Right-click a tab to rename, unstack or delete it. When there are many tabs, they shrink evenly and the strip scrolls, and the tab you are on always stays readable.
- One connection for all of it. Connecting an agent to a notebook gives it every note inside, including notes added later.
- Agents can use them. Orchestrators can stack, unstack, create and delete notes with
relay note. A note an agent deletes goes to a trash for seven days, and undo brings it back.
Agents that run more of the canvas
- Layer status. Agents can post a one-line status for their layer with
relay layer status, shown under the layer in the sidebar. A layer marked blocked or ready for review notifies you, which you can turn off in Settings.relay layer listshows every layer at a glance. - Land a layer. Land… in a layer's menu, or in the command palette, shows a dry run first, then merges the layer's branch into your project. Relay never resets a branch, forces a change or stashes your work, and it refuses if a branch moved since the check. Landed layers are archived unless you keep them.
- Agents manage layers. Orchestrators can create, archive, restore and land layers, and place a new agent on a layer with
relay recruit --layer. Every terminal now knows its layer throughRELAY_LAYER_NAMEandRELAY_LAYER_PATH. - Roles from the terminal. Saved roles can now belong to one workspace or to all of them. Any agent can read roles with
relay role listandrelay role show, and Orchestrators can create, edit and assign them. Assigning a role never restarts the agent. - Presets and notifications.
relay preset listshows the agents thatrecruitcan start. With Allow agents to notify you turned on in Settings (it is off by default), Orchestrators can send you a one-line desktop notification withrelay notify.
Devices and browsers
- Apple simulators. On a Mac with Xcode, device portals can now show iOS simulators. The screen streams live, and touches, keys and hardware buttons work. Agents can read the app's accessibility tree when they launch the app with
relay portal launch. If Xcode's frameworks are not available, Relay falls back toidb. - Place devices like terminals. The rail's device tool now works like the terminal tool: tap or drag to draw the frame, then choose what streams into it. Cancelling leaves nothing behind.
- Finds your tools. Browser portals now find Chrome and other Chromium browsers in Homebrew,
/Applicationsand the usual Windows and Linux install locations, not only on PATH. Device portals findadband the Android emulator throughANDROID_HOME, Homebrew and the SDK's default folders. This fixes Relay not finding them when opened from the Dock or Finder.
Changes
- Lighter with many agents. A finished terminal keeps 1,000 lines of history instead of 10,000. Closed terminals no longer hold memory through background threads, the history of finished tasks has a limit, and portal frames that are off screen are released.
- Smoother rounded corners. Content inside rounded cards is now clipped to the curve instead of to a square box.
Fixes
- Typing quickly in a note no longer shows a false "changed on disk" conflict.
- In a crowded notebook, the tabs no longer slide under the notebook's name or cut off the tab you are on.
Relay 0.7.7
New
- A new first launch. The four-step tour is replaced by a Welcome, a Choose your look screen and an Almost ready screen. On a first launch it goes on to open your first project (pick or drop a repository folder, with an optional workspace name) and start your first agent. On a free trial it also shows which day of the trial you are on, what the trial includes and what a licence adds.
- Getting started checklist. A small card at the bottom left of the canvas lists five steps and ticks each one off as you do it. A coach card points at the real control the current step needs, one at a time.
- Terminal selection. Double-click selects a word, triple-click selects a line, and Shift+click extends the selection. Dragging while output streams keeps the selection on the same text. Ctrl or Cmd+click opens a link, and typing clears the selection. On Linux, selecting fills the primary selection and middle-click pastes it. Nothing replaces your clipboard until you copy.
- Mouse in terminal programs. Programs that ask for the mouse, such as editors and pagers, now receive clicks, drags, the wheel and focus changes. Hold Shift to select text or open Relay's menu instead.
- Cursor and text styles. The terminal draws the cursor shape a program asks for, blinks it, and shows a hollow block when the terminal is not focused. Dim, struck-through, hidden and underlined text (single, double, curly, dotted and dashed) now render.
- Scrollback keys. Shift+PageUp, Shift+PageDown, Shift+Home and Shift+End scroll the terminal history (Cmd on macOS).
- Paste protection. Pasting text that would run several lines into a terminal that is not in bracketed paste mode now asks first, with a preview of what will be sent. Text that carries the end-of-paste sequence is always held.
- Clipboard from programs. Programs can write to your clipboard with OSC 52, for example a yank in Neovim over SSH. A program that asks to read your clipboard waits for you to click Allow.
Changes
- Light theme. Neutral greys throughout, a canvas that sits under white, white card edges, a graphite primary button, readable secondary text and shadows at their true size.
Relay 0.7.6
Fixes
- Switching canvases. Opening a canvas that holds a browser portal or an Android device node, coming from another canvas, closed the app. It now opens normally, and so do layers with portal or device nodes.
- Light theme. Cards, menus, panels and modals no longer cast heavy, muddy shadows on the light background, and terminals keep their dark background so their text stays readable.
Relay 0.7.5
Fixes
- Free trial. A trial could still add a second project by moving a workspace that lives on a server into a workspace from the recent projects list. It now shows the upgrade window instead, and a licence is not affected.
Relay 0.7.4
Try Relay free for 7 days
You no longer need a licence key to try Relay. The activation screen now has a Start 7-day free trial button.
- One trial per computer. The trial starts when you press the button and is tied to your computer, so it can't be restarted by changing a setting.
- Everything you need to try it. A trial has one workspace holding one project, with as many terminals, agents, notes and connections on that canvas as you like.
- Your licence always wins. If a valid licence key is on the computer, Relay opens as licensed and never shows the trial.
- See how many days are left. Choose Licence… during a trial to see the days left and a way to buy.
- When it ends. Relay shows Your free trial has ended over your canvas. Nothing is deleted. Enter a key and everything is there as you left it. Escape does nothing on that screen; only Cancel quits.
What needs a licence
During a trial these are part of the licence, and asking for one shows an upgrade window that says what it is and offers to buy:
- More workspaces or projects. A second workspace, or a second project, including one adopted from the recent projects in the sidebar.
- Cross-canvas connections. Agents on different canvases can't be connected. Connections on the same canvas work as usual.
- Remote workspaces and the headless server. A remote workspace you saved earlier isn't connected during a trial. Relay tells you why instead of trying.
- Saved arrangements.
- In-app updates. The launch update check runs only on a computer with a valid licence.
Nothing is removed when a trial ends or when you buy. A licence key entered later brings back everything that was held, including connections between canvases.
Fixes
- Buy Relay now opens the pricing page directly.
Relay 0.7.3
Every agent keeps its own conversation
Close Relay with several agents open and each one comes back to the conversation it was having.
- No more merged sessions. Two Claude, Codex, OpenCode, Grok or Antigravity terminals in the same project could reopen as one conversation. Each agent now resumes its own conversation by its exact ID. If a workspace already has two agents sharing one conversation, Relay separates them when you open it and tells you which ones start fresh.
- Codex and Grok remember which conversation is theirs. Relay now learns each Codex terminal's conversation after its first reply, and follows Grok when you start a new conversation inside it.
- Undo leaves your conversations alone. Undoing a canvas change no longer sends an agent back to an older conversation.
When a conversation can't be resumed
If an agent can't find its conversation when Relay reopens it, the terminal no longer just sits there until you delete it. It shows what happened and offers a way out:
- Start fresh opens a new conversation. The old conversation's ID stays in the agent's settings as the previous session, so you can still find it.
- Resume by ID opens a specific conversation from an ID you paste.
- Pick a session opens Claude Code's or Codex's own session picker right in the terminal.
Right-click an agent terminal to copy its session ID. The agent's settings show the current and the previous session.
Launch options for your agents
The agent settings have a new Launch options section:
- Extra arguments passes flags straight to the agent, for example
-c model_reasoning_effort=highfor Codex. Flags that Relay manages itself, like the session and model flags, are refused, and the reason is shown under the field. - Skip permission checks starts the agent with its own flag for running without asking (
--dangerously-skip-permissionsfor Claude Code, for example). It is off by default, set per agent, shows a warning while it is on, and is never copied into saved arrangements.
New sounds
Relay's sounds are now short, dry taps, closer to a trackpad click than to a notification. Changes an agent makes to the canvas, like adding a terminal, play more quietly than the ones you make. You can still turn sounds off or change their volume in Settings.
Canvas and window
- A slimmer sidebar handle. The sidebar now opens and closes from a thin handle in the middle of the left edge, in the same place whether it is open or closed.
- On macOS, the window buttons no longer cover the sidebar. The close, minimize and zoom buttons get their own space, and the sidebar starts after them.
- Agents recruited by an orchestrator are as big as the orchestrator instead of the small default size.
- Delete buttons are easier to read. They now have white text on a deeper red in both light and dark themes.
Fixes
- On macOS, agents could not reach each other or connected notes when your user name was long. Relay now keeps its connection files in a short folder in your home folder (
~/.relay/run), so this works however long the user name is, including with two windows open on the same workspace.
Relay 0.7.2
Fixes
- macOS, long user names. Agents still couldn't reach each other or connected notes on Macs whose user name is long, and a second window on the same workspace could lose its connection. Relay now moves its connection files to a short folder of its own when the usual one would make the path too long.
- Activating Relay. Activating your licence on a computer that had no workspace yet could leave Relay stuck on the activation screen until you restarted it. It now goes straight on to the next step.
Relay 0.7.1
WSL workspaces
On Windows, Open on a server now has a Where list that includes your WSL distributions, each with its logo, next to Another machine. Pick a distribution to open a project inside it. There's no host name to type and no SSH to set up.
- A better folder picker. Hidden folders stay hidden unless you ask for them, folders and files have icons, and you can click any part of the path, or Up, to move around. Add to chooses the section the new workspace goes into.
- Server workspaces live in the sidebar like the rest. Each one is a canvas in a section, with its distribution's logo or a server icon. You can drag it to another section or use Move to. The row shows the connection: nothing while it's connected, an amber dot while it connects, red if it stops, and Reconnect now in the row's menu.
Installing a missing agent
If an agent isn't installed where a terminal starts it, the terminal says so ("Claude Code is not installed on this computer", or on the server's name) instead of offering to change accounts.
- On a server, Install runs the agent maker's own installer inside the terminal and starts the agent when it finishes. If the install fails, its output stays on screen with Install again and Try again.
- On Windows, Install runs the official installer for Claude Code, Codex, Grok and Antigravity, and Relay picks up the new program without a restart. OpenCode doesn't publish a Windows installer yet, and on macOS and Linux the terminal offers Try again after you install the agent yourself.
More reliable server connections
- A lost connection is shown once. While Relay reconnects, the sidebar and one notice say so, and your terminals wait quietly instead of each one turning red and playing a sound.
- A dropped network or a sleeping laptop no longer locks you out. The server now lets go of a connection that has gone silent for 30 seconds, so Relay can reconnect instead of being told that "another Relay is using this workspace".
- Machines that don't answer fail faster. Relay gives up after 15 seconds and retries, instead of showing "Connecting…" for minutes. Typing a password is never rushed.
- Relay's skills stay current. After an update, the copies of Relay's skills that your agents use are refreshed too. If they can't be copied to a server, Relay tells you.
- Keyboard: Tab now reaches the Where list, and the arrow keys move through it.
Fixes
- On macOS, agents couldn't talk to each other or read connected notes when the connection file's path was too long. Relay now uses a shorter name for it.
Relay 0.7.0
Workspaces on a server
You can now open a workspace that lives on another machine over SSH. The canvas stays on your computer, while the project folder, the terminals and the agents run on the server.
- Open on a server. Choose Open on a server in the sidebar (under Add project, or by right-clicking an empty area) or in the command palette. Enter the machine, pick the project folder, and the workspace opens like any other.
- Nothing to install by hand. Every Relay download carries the small server it needs. Relay installs it on the machine the first time you connect and keeps it updated when you update Relay.
- Sign in inside Relay. SSH passwords, passphrases and "do you trust this host?" questions are asked in a Relay window. For a new host, Relay shows the full fingerprint with Yes and No. A password you type is used only for that connection and is never saved.
- Connects in the background. Opening a server workspace no longer freezes the window while it connects. A chip at the top of the canvas shows where the workspace lives and how the connection is doing.
- Reconnects on its own. If the connection drops, Relay keeps retrying, more slowly over time, and Reconnect now tries again straight away. When it reconnects, your terminals start again and your agents resume. If the workspace changed on the server while you were away, Relay asks whether to use the server's copy or keep yours.
- Terminals start without waiting. A new terminal on a server appears at once and says it is starting on the server if the server takes a moment.
- Relay's skills travel with you. The skills that teach your agents about the canvas are copied to the server when you connect, so agents there can use
relaythe same way they do locally.
Fixes
- On Linux, updating from inside Relay now also updates the server and the agent skills that ship with it, not only the app.
- If Relay crashes and you have Diagnostics turned on, the crash report sent on the next launch is now readable and grouped by where the crash happened. Crashes that close Relay without warning are reported too. Nothing is sent while Diagnostics is off.
Relay 0.6.2
Release notes, right in Relay
You no longer have to wonder what an update changes.
- See what's coming before you update. When Relay finds a new version, a window opens with its release notes: every version between the one you're on and the new one. It shows the download as it happens and offers Restart to update when it's ready, or Later. You don't need the sidebar open to know an update is waiting.
- Check whenever you like. Check for updates in the overflow menu or the command palette opens the same window straight away, and tells you when Relay is already up to date.
- What's new. The first time you open Relay after an update, it shows you what changed in that version.
- Release notes, any time. Release notes in the command palette and the overflow menu shows the notes for the version you're running. View on the website opens the full changelog.
Smoother canvas
- The pointer goes back to Select after you create something. After you place a terminal, an agent, a note or any other node, the canvas returns to Select, so your next click selects and moves things instead of creating another node. This was most noticeable while working on a layer.
- Pan with Ctrl+drag (Cmd+drag on macOS). Hold Ctrl and drag with the left mouse button on empty canvas or on a node's header to move around the canvas, whatever tool is selected. Inside a terminal, an editor or a browser portal, Ctrl+click keeps doing what it did before. Space+drag, the middle mouse button and the scroll wheel still pan too.
Fixes
- On Linux with Wayland, Relay no longer crashes when you open your first project right after creating a workspace.
- When a layer's files can't be set up because a file is in the way, Relay now names that file instead of showing a generic error.
Relay 0.6.1
Maintenance
This release only changes how Relay is built and published. Nothing changes in how Relay works: everything behaves as it did in 0.6.0.
Relay 0.6.0
Select, move and act on many nodes at once
- Selection box. Dragging on empty canvas now draws a selection box, and every node it touches is selected. Hold Shift to add to the current selection, or press Ctrl/Cmd+A to select everything. Dragging any selected node moves the whole selection together, as one undo step.
- Panning has moved. Because a left-drag now selects, pan with Space+drag, the middle mouse button or the scroll wheel.
- Nudge with the arrow keys. The arrow keys move the selection one grid cell at a time, or five with Shift. With nothing selected, they pan the view. A quick run of nudges undoes as one step.
- Delete several nodes at once. Delete removes every selected node in one undo step. If any of them are still running, Relay asks once first.
- Prompt several agents at once. With more than one agent selected, the prompt composer sends the same prompt to each of them. If delivery fails for some agents, the composer stays open with only those agents, so trying again never sends the prompt twice.
- See what is connected. Selecting a node brings its connections and the nodes on the other end of them forward, and fades the rest of the canvas. Tap Alt/Option to include everything that is connected, however indirectly.
- Lock nodes. Ctrl/Cmd+L, the command palette or a terminal's menu locks a node so it can't be moved, resized or deleted by accident. A locked node can still be selected, focused and connected.
- Tidy up. "Tidy up" in the command palette arranges the selection, or the whole canvas, along its connections. Orchestrators go at the top and the agents they lead are laid out in rows below them.
- The bar that appears over a selection now shows only the actions that apply to it, such as Group only when grouping would change something and Prompt only when an agent is selected.
Moving around the canvas
- Focus mode. Press
f, press Ctrl/Cmd+Shift+Enter or double-click a node's header, and the camera zooms in until that node fills the canvas. Everything else fades back. The same keys, Escape or the button on the focus pill take you back to where you were. The node itself is never resized, and clicking another node also leaves focus mode. - Saved views. Each canvas has nine camera bookmarks. Ctrl+Alt+1–9 (Cmd+Option on macOS) saves the current view, and Alt+1–9 (Option on macOS) takes you back to it. You can also save, name, open and delete views from the command palette.
- Zoomed-out nodes are easier to read. When a terminal's text would be too small to read, the node is drawn as a compact card instead. Nodes no longer flicker between card and terminal at the threshold, and a card shows if its agent needs attention or has failed.
- The grid now fades out below 75% zoom instead of turning into a grey haze.
- Clicking an attention ticket, the minimap, Fit, Fit selection or the zoom percentage now moves the camera smoothly instead of jumping. Keyboard shortcuts still move it instantly.
A new prompt composer
The prompt composer is now a single slim bar, with an attach button on the left and a send button on the right.
- Attach any file. Attach files with the button, by dropping them on the bar or by pasting them. Files no longer have to be inside the project. Pasted images are saved and attached as well.
- Attachments appear as chips where the cursor is, within your text. The agent receives each one as its file path, in the place you put it. Backspace or Delete removes a chip like a single character, and undo brings it back.
- Extra information, such as how many agents a broadcast goes to, or an error, now appears under the bar only when there is something to say.
Arrangement library
Apply arrangement now opens a library panel on the right of the canvas instead of a list.
- Search your saved arrangements, or filter them by where they were saved: Global, this workspace or another workspace. Each card shows a small preview of the layout and its agents.
- Drag a card onto the canvas to place it where you want it, or double-click it (or press Enter) to add it in the middle of the view. The panel stays open so you can add more.
- Save arrangement now saves only the selected nodes when several are selected. It also remembers their colours and which workspace saved the arrangement.
- Rename or delete arrangements from a card's menu, and undo either from the panel.
- Terminals from an arrangement now arrive unstarted instead of launching all at once. Select them and choose Start to launch them together.
Improvements
- The toolbar, sidebar and other on-screen controls are slightly more compact, leaving more room for the canvas. Every canvas tool is now on the tool rail.
- The docked sidebar now slides open and closed smoothly, and the canvas moves with it.
- Nodes no longer blink when you pan them back into view or switch canvases, and existing connections no longer redraw themselves when a canvas opens.
- The command palette and dialogs opened from the keyboard now appear instantly.
- Refusal messages now fade out, and they appear again if the same thing is refused twice.
Fixes
- If a canvas can't be loaded, Relay no longer saves an empty canvas over it. The unreadable file is kept as a backup next to the original, and Relay tells you where it is.
- Agents installed through mise now start correctly, using the version that is set for the project.
- Clicking a node's header after typing in a terminal now gives keyboard control back to the canvas, so shortcuts like
f, Delete and the arrow keys work reliably. - Holding Space to pan no longer types spaces into the terminal under the cursor.
- The prompt composer no longer covers confirmation dialogs, such as the one that asks before quitting.
- Fades at the edges of scrolling lists now match the menu or dialog they are in, and no longer cut a hard line across the first or last row.
Relay 0.5.28
In-app updates
Relay can now update itself.
- Checks on launch. Relay checks for a new version once each time it starts. You can turn this off under Settings → Updates → Automatic update check. Check for updates in the overflow menu and the command palette works either way.
- Verified downloads. Every update is checked against Relay's release signature before it is installed.
- Installs when you quit. When an update is ready, Restart to update appears at the bottom of the sidebar. Your workspace is saved as usual first, and the next launch tells you which version you are now on.
One sidebar for workspaces, canvases and layers
The sidebar now shows everything in one place.
- Each canvas shows how many agents are running and a dot when something needs your attention.
- The current canvas lists its layers underneath it. Click a layer to switch to it, restore an archived one, or open a failed one to see what went wrong. Each layer row has its own menu with Open and Archive, or Retry and Remove for a failed layer. New layer is the last row.
- Deleting a folder, workspace or canvas now asks first and tells you what it contains.
Ctrl+Up(Cmd+Upon macOS) opens the sidebar and puts the keyboard on it. Use the arrow keys,EnterandEscapeto move around.- Right-clicking a sidebar row or the empty space in the sidebar opens the sidebar's own menu, never the canvas's.
The Layers button on the canvas is gone, since the layers now live in the sidebar. The zoom controls have moved to the bottom-right corner.
Setting up an agent
Terminals are now created and edited in one window.
- New terminals. Placing a terminal,
Ctrl+TorShift+Ctrl+Topens the agent window. Pick the agent, account, model, role, icon and name, then press Start agent. Cancel orEscapediscards it. - Editing. Configure on a terminal's bar opens the same window. Changing the agent, account or model shows a notice and a Save and restart button. The role, orchestrator setting, icon and name apply without a restart. Each save is a single undo step.
- A simpler terminal bar. The bar above each terminal now has icon buttons only: Configure, Connect, Send prompt, Disconnect and Delete.
- Agents are always listed in the same order: Claude Code, Codex, OpenCode, Grok, Antigravity, Shell, Custom.
- The footer shows the folder the agent runs in, with your home folder written as
~. Hover it to see the full path. - An orchestrator shows the Relay mark on its bar. Hover it to see how many connections it has, or click it to open its settings.
The Shift+T launcher and the separate preset picker are gone. Change preset now opens the agent window.
Roles
The role window has been redesigned. It has a name, instructions, and an appearance section with a short list of icons and colours. More… lets you search the full icon set. You can save a role for reuse, or use it just once.
Models
The model lists now match what each agent accepts today:
- Claude Code:
fable,opus,sonnetandhaiku, each shown with the model it currently points to, such as "Opus 5.5". - Codex:
gpt-6andgpt-5.6. - Grok:
grok-4.7,grok-4.6andgrok-build-0.1.
A terminal saved with a model that is no longer offered now starts with the agent's default model instead of failing to launch.
More reliable tasks between agents
Tasks sent between agents, on one canvas or across canvases, no longer get stuck without an answer:
- If a message cannot be delivered to the recipient's terminal, the sender is told it failed instead of waiting forever.
- If
relay askorrelay nextis stopped early, for example when an agent's tool times out, the answer is no longer lost and no task is claimed on its behalf. - Deleting a terminal fails the tasks it was working on, and their senders are told.
- Tasks sent to a terminal that was deleted while its canvas was closed now fail instead of waiting forever. This only happens when the canvas opens normally, so a canvas that fails to load never loses its queued work.
- Agents on a canvas you close and reopen can send and receive tasks again straight away.
- On Windows, a task that could not be saved is no longer left marked as delivered.
Look and feel
- Relay now uses the Geist and Geist Mono typefaces.
- Forms across the app have clearer labels, more even spacing and larger fields. The accounts manager is now two panes, with the number of accounts for each provider.
- Buttons stay readable in every state. A pressed primary button no longer loses its label, and disabled buttons are easier to read.
Escapecloses the window on top, and the keyboard returns to the window underneath or to the canvas.- A window opened on top of another now closes any list left open underneath it, so a model list no longer shows through the accounts manager.
- Copy and Paste in a terminal's right-click menu have clipboard icons.
Relay 0.5.27
Menus behave the same everywhere
Every menu, popover and right-click menu on the canvas now follows the same rules:
- Only one is open at a time, and it always appears above the sidebar, the toolbars and the nodes.
- A click outside closes it and does nothing else, so you never select, drag or reopen something by accident. Clicking the menu's button again closes it.
- Escape closes it, even while a terminal has the keyboard.
- The canvas does not pan or zoom under an open menu, so the menu stays next to the node that opened it.
- When it closes, the keyboard goes back to where you were.
A right-click menu for terminals
Right-clicking a terminal now opens a menu with Copy, Paste, Select all (scrollback included) and Clear, plus Rename, Change preset, Connect and Delete. Before, a right-click copied the selection or pasted straight away. Clear empties the terminal's screen and scrollback in Relay only; nothing is sent to the program running in it.
The canvas menu now opens only on empty canvas. It no longer opens when you right-click a note, file tree, editor, portal or the notice bar, or while a sheet or dialog is open.
Relay 0.5.25
More reliable task delivery
- Tasks survive a restart. A task that an agent received but never finished because Relay closed is queued again when Relay starts, and waiting tasks are delivered in the order they were sent. After a crash, an agent may occasionally be given the same task twice.
- Queued work arrives without a nudge. Tasks waiting for an agent are delivered as soon as its terminal is ready. Before, they could wait until someone sent another task. Several waiting tasks are now delivered one after another, not one per new send.
- An unavailable agent no longer loses work. If a task cannot be handed to its terminal yet, Relay retries for a short while and then waits. The task stays queued until the terminal comes back.
- If a terminal disappears while a task is being handed to it, the sender gets a clear failure with the reason instead of a task that never finishes.
Finishing a task
relay result, given the task ID and a short summary, is the only way to finish a task an agent was given. The task text agents receive and the bundled Relay skill now say this plainly: replying with relay ask sends an ordinary message and does not finish the task.
Relay 0.5.24
Bring existing projects into a workspace
Projects you opened before workspaces existed can now join the new sidebar hierarchy. Right-click an older project and pick a workspace or folder from the list, or drag the project onto one. It keeps its canvas, notes and layers. Nothing is copied, moved or renamed on disk.
- Add project… replaces "New canvas" in the sidebar menus, because that is what it does. If you add a project without choosing where, it goes into your workspace, and a workspace is only created when you have none.
- One repository, one canvas. Adding a repository that is already on the sidebar is refused, and Relay tells you which canvas already holds it.
- Adding your first project from the start screen now finds the work you already had for that repository instead of starting an empty canvas.
Sidebar fixes
- Creating a second workspace could make the whole sidebar disappear the next time Relay started. Relay also no longer saves a sidebar it could not read back.
- New folder now asks for a name instead of creating "Folder 3".
- Rename and delete on a canvas act on the canvas you clicked, and older projects no longer show workspace actions that do not apply to them.
- The rename dialog opens above the sidebar, and the menu that opened it closes first.
- Switching canvases no longer leaves a focus ring on a different canvas row. Clicking a row no longer draws a ring at all; the ring now appears only when you move through the sidebar with the keyboard.
Agents working together
- Two terminals joined by a line on the same canvas can always send each other tasks. Before, it depended on which end you drew the line from.
- Terminals added after the window opened, including agents recruited by another agent, now receive tasks. Before, their tasks could stay queued forever.
- When
relay asktimes out on a task that never reached the agent, it now says so instead of saying the agent is still working. - Holding Connect on a terminal shows the list of other canvases' agents again. The list was being cut off out of sight. It includes the other canvases in the same workspace, cross-canvas lines are drawn again, and an empty list now says so.
- On Windows, the agent bridge now starts. Before, every connection feature reported that the bridge was unavailable.
Menus, dialogs and the keyboard
- Clicking outside a menu closes it without also selecting, deselecting or dragging whatever was underneath. Clicking a menu's button again closes it.
- Every menu, sheet and dialog closes with Escape or a click outside, and the keyboard works on the canvas straight away afterwards. Before, closing the command palette, the tour, rename, confirmations and several sheets could leave keys going nowhere until you clicked the canvas.
- Enter confirms the delete and quit dialogs, as they say it does.
- Menus can be used with the arrow keys, Home, End, Enter and Escape. Sidebar rows can be reached with Tab.
- Long menus and the command palette's results now fit in the window and scroll.
- The agent menu is wider, so longer agent and preset names fit.
- On a running agent terminal, the account chip opens the account and model menu.
Canvas and editing
- Typing characters such as
!or@in a note no longer moves the canvas view. Tab no longer moves you to a terminal waiting for you, and Delete in an editor that is still loading no longer deletes the node. Canvas shortcuts only work when the canvas itself has focus. - Text an agent adds to a note with
relay note appendis no longer overwritten when you type in that note at the same time. - Double-clicking a text drawing opens it for editing again.
- A new terminal that already has your last-used agent selected can be started straight away. Enter now starts it instead of reopening the agent menu.
- The delete button on a terminal's bar deletes the terminal reliably.
- Undo and redo wait until you finish a drag, so an undo can no longer record the wrong layout.
- The git panel scrolls with the mouse wheel and closes with Escape.
Look and feel
- A node's status now shows in its shape as well as its colour: a filled dot while running, a dimmed dot when idle, a ring when waiting for you, and a square on error.
- Warning, success, error and info text is easier to read in the light theme.
- Focused text fields show their focus ring again, and icon buttons and toggles brighten on hover.
- Several icon buttons that had no tooltip now have one.
- New nodes respect the reduced-motion setting.
- The selected tool in the tool rail no longer shifts sideways. On Windows and Linux, the tool rail no longer overlaps the window controls.
Faster canvas
The canvas does much less work while you use it. Browser and device portals no longer redraw the whole canvas on every frame. Terminals that are off screen are no longer redrawn. While you zoom, a terminal is resized once when you stop instead of on every step. The grid stays readable at minimum zoom.
Removed
The small "firefly" dots that circled a Claude Code terminal while it ran subagents have been removed. They only worked with Claude Code and were rarely used.
Relay 0.5.23
A new look
Relay has a new, consistent visual design. The canvas, the sidebar, the toolbars, menus, pickers, dialogs, the layer switcher and the licence screens all share the same materials, type and colours now, in both light and dark appearances.
- The canvas has a fine ruled grid instead of the old dot field.
- Connections are plain lines. When the terminal, portal or device at one end of a connection fails, the line is drawn broken at its midpoint, so you can see which links are no longer working.
- Selected nodes all wear the same dashed ring, and nodes no longer glow. A running node looks calm; waiting and failed states still show on the node.
- The layer switcher shows wireframe previews of each layer instead of black boxes, has a compact search, and marks the active layer clearly.
Settings
There is now a Settings sheet, opened from the canvas menu. It brings together:
- Sound: cues when an agent finishes, fails or asks for you, with a Quiet, Medium or Full volume.
- Reduced motion: menus, notices and bars appear in place instead of sliding in.
- Diagnostics: off unless you turn it on.
- Keep workspaces alive: switching away leaves terminals and agents running.
Menu toggles now keep the same name whether they are on or off and show their state with a check, instead of changing their wording.
Sidebar and window
- The sidebar pushes the canvas aside instead of covering it. Nodes keep their place on the canvas; only the view moves.
- When the sidebar is collapsed, a notch on the window edge opens it again.
- An empty sidebar now says so and invites you to add something, instead of showing a blank panel.
- Window controls follow your system. Where macOS or your window manager already provides close, minimise and maximise, Relay does not draw its own. On Windows and on Linux desktops where apps draw their own frame, Relay shows them in the top-right corner, and on Windows the maximise button opens Snap Layouts.
Agents across canvases
Agents on other canvases in the same workspace now appear in relay list under Cross-canvas agents, and you can send them work with relay ask or relay send by addressing them as Name@canvas:
relay ask "Reviewer@landing" "Review the changelog API"A cross-canvas link carries tasks and results only. It never gives an agent another canvas's screen or the ability to type into its terminals. If a name matches agents on more than one canvas, Relay lists the candidates and asks you to choose instead of guessing.
With Keep workspaces alive on, switching between canvases now keeps each canvas's terminals running too, not only switching between workspaces.
Improvements
- Keyboard use: the command palette opens with the cursor in its search field, arrow keys move through the palette, pickers and galleries, and Tab stays inside an open sheet instead of wandering onto the canvas behind it.
- Choosing an account and choosing a role for a terminal now use the same kind of picker.
- Dialogs that are taller than the window, such as the account manager, now scroll while keeping their title and buttons in place. The command palette scrolls too.
- Drop-down menus are never narrower than the control that opened them, and only one is open at a time.
Fixes
- Agents no longer fail to start after you upgrade a tool with a version manager such as mise while Relay is running. Previously the launch could end up re-downloading an old version instead of starting the agent.
Relay 0.5.22
Connect agents across canvases
Hold the Connect button on a terminal to open Connect to another canvas, a list of the agents available on the other canvases in your workspace, with each canvas's name next to the agent. One click connects them. A short click on Connect still starts an ordinary connection on the same canvas.
This now works without any extra setup. If a canvas cannot share tasks, the list says so rather than offering agents that would fail when clicked.
A terminal connected to an agent on another canvas shows a dashed connection line that leaves the window: downwards from the side that made the connection, and in from the top on the side that was reached. The node's Disconnect button also removes cross-canvas connections, on both canvases at once.
Zoomed-out island view removed
The island view added in 0.5.21 has been removed in favour of the list above. Zooming out stops at 25% again.
Relay 0.5.21
Workspaces, folders and canvases
The sidebar now has three levels:
- Workspaces are named places you create by name. They do not point at a directory.
- Folders group canvases inside a workspace.
- Canvases are one repository each, and are the only thing that asks you to pick a directory.
Right-click a workspace or folder for New folder, New canvas, Rename and Delete. New canvas opens a folder picker and checks that you chose a Git repository. Deleting a folder keeps what was inside it and moves it up a level. Opening a project from the command palette adds it as a canvas to the current workspace.
Workspaces and folders can be collapsed with their chevron, and Relay remembers which ones are open. Your existing sidebar is converted automatically, and a backup of the old arrangement is kept.
A clearer first launch
A fresh install no longer shows a workspace named after whatever directory Relay was started from. After the onboarding tour you see a short screen with two actions: create a workspace by name, or open your first project. Choosing a repository opens its canvas straight away.
To create things later, right-click the empty area below the sidebar list, or the root row, for New workspace and New folder.
Drag and drop in the sidebar
You can now arrange the sidebar by dragging, as well as through the right-click menus.
- Drag a canvas or folder into another folder, or onto the root, within the same workspace. Dropping into another workspace, or a folder into itself, is refused.
- A drag only starts after a small movement, so clicks stay clicks. The row you picked up stays in place, dimmed with a dashed outline.
- A dashed row shows exactly where the item will land.
- When a drop is refused, the dragged label says why, for example "already here" or "inside itself".
- Dragging near the top or bottom edge scrolls the list. Press Esc, or release somewhere invalid, to cancel.
A zoomed-out view of the workspace
Zooming out past 25% now shows every canvas in the current workspace as an island, with its agents drawn as small markers and folders shown as regions. You can zoom out to 10%, and drag islands to arrange them. The layout is kept outside your repositories.
Fixes
- Layers in repositories where an old
canvas.jsonhad been committed lost their layout every time the canvas was opened. Layer layouts are now kept, and archived layers recover their canvas where it can still be found. - With several API keys on an agent account, a key that had been skipped could be used again on the very next launch instead of rotating to the next one.
Relay 0.5.20
Layer canvases stay out of your repository
A layer's canvas used to be saved as a canvas.json file inside the layer's worktree, where it could show up in git status or be committed onto your branch, and archiving a layer deleted it along with the worktree. It is now kept in Relay's own state.
- Archiving a layer keeps its canvas, and restoring the layer brings it back.
- Existing layer canvases are moved across automatically. The old file is only removed from your checkout when Git confirms it is untracked or ignored; anything else is left where it is.
Sidebar menus
- Folder actions now open from a right-click menu on the folder instead of being shown permanently.
- Moving a workspace into a folder, or back to the root, is now in a right-click menu on the workspace row, instead of a list of "Move to" rows under every workspace.
- New canvas has been removed. One repository is one canvas; for a second board on the same repository, use a layer. Existing canvases still open as before.
- Menu icons now line up with their labels.
Fixes
- Opening a workspace that already has several canvases through the folder picker no longer converts it to the one-canvas layout.
- If the sidebar's folder arrangement cannot be loaded or saved, the error now explains what went wrong and stays visible until it is resolved, rather than disappearing when you switch canvas.
Relay 0.5.19
Folders in the sidebar
You can now organise your workspaces into folders in the sidebar. Use New folder to create one, then move a workspace into it from the list under that workspace. Folders exist only inside Relay: nothing is created, moved or renamed on disk, and the arrangement is remembered between launches.
Fixes
- Notes on two canvases of the same workspace could share a file, so one canvas's note silently overwrote the other's. New notes now always get a file of their own. Existing notes keep the files they already use.
- Applying a saved arrangement that contains a note could write into an unrelated note already on the destination canvas. Each note placed from an arrangement now gets a fresh file, unless the arrangement stores its own.
Your next build