Repository navigation
Releases: arugula-salad/arugula
Releases · arugula-salad/arugula
Release list
Arugula 0.32.0
Arugula 0.32.0
Your team's agents (Labs: agents)
- Delegate to an agent on another machine of yours (#721).
delegate
(MCP),arugula agents sendand/api/a2a/delegatereach an agent this
machine offers without going through control, as its own account. Leave
the machine out and the one that offers it is used, this one first. - Deliver as a pull request (#721). With
pr, the task works on
a2a/AGENT-TASK, branched from its origin's default branch, and is told
to commit, push and open a pull request with the project's own tooling.
Aprartifact carries the link, and the consent card says so. - Run there (#721): Run there in the Team agents block, Run on the
Agents page's Team tab andarugula agents runstart an agent your
account offers in its project on its machine, in a session named after
it, and take you there. A team's other owner can't. - A task's own caller collects it, this machine's owner included.
Also
- A link that's connected but far behind is dropped and reconnects
(#713). Every 10 s the page pings the daemon. If 30 s go by with no
answer, it drops the link and starts again with a fresh hello. This
isn't checked while the page is hidden. - The 0.26 desktop app's events reach the page again (#708). Opening a
pane from a notification, and the Daemon menu's Getting started, went
unheard from 0.30.0 on. - A canceled task that was waiting on its owner no longer ends as
rejected (#719). In Safari, a page that fails to store its keys tries
again instead of ending in an error (#501). - The daemon's journal has the panes', the store's and the mux's info lines
again (#703, #704). - Inside the daemon: the mux has moved into
arugula-mux(#704, #705), and
the GitHub forge and the editor server are cargo features (forge,
editor), on by default (#461). Nothing changes for you.
Arugula 0.31.1
Arugula 0.31.1
Agent blocks
- With several agents working, the app no longer falls behind (#713).
- An agent block sends its state at most every 120 ms while it streams,
not once per chunk of the reply (#717). Each send carried the whole
block, so a few agents answering at once flooded every open app. - A client that falls behind gets each block's newest state, not every
one it missed (#718), so a slow phone or a busy desktop catches up at
once instead of working through a backlog.
- An agent block sends its state at most every 120 ms while it streams,
Arugula app 0.26.4
Arugula app 0.26.4
- Developer settings in the Daemon menu (#665). It opens this
machine's Labs flags on the daemon's page, with a switch for each one. - The rename's bridges are gone (#685). Every install is on 0.26 or
newer now, so the app no longer handlesillogical://links, an
illogicaldor the old app's launch agent and files. If anillogicald
is still running somewhere, update it first:curl -fsSL https://arugula.io/install.sh | sh.
It carries arugulad 0.32.0.
illogical app (latest)
The newest desktop app, always: 0.26.4 (app-v0.26.4). Its downloads keep these names.
Arugula 0.31.0
Arugula 0.31.0
Your team's agents (Labs: agents)
- Agents is a place in the bar (#714), beside Panes, Swarm and Chat,
for the machine's owner. It was Agents… in the session menu. The phone
still opens it from its sheet. - The Agents page says what to do (#715).
- Each tab opens with a line on what it is and what its buttons do.
- Recipes, the team's agents, waiting tasks and grants are cards with
real buttons: Run here in the accent color, Delete, Deny and
Revoke in red. - An empty machine says to make a recipe or add a project. An empty team
says to offer one, with a link to Recipes. - Offer is now Offer to team.
- A recipe you just offered shows on the Team tab right away. Before, it
waited for Ask every machine again.
Agent blocks
- Agent blocks can be named (#629):
titleon MCPstart_agent,
arugula agent --title, and laterarugula call %N set_title '{"title":"…"}'(an empty title clears it). The name survives a restart
and a resume, and Claude Code's own session title no longer replaces it.
Without one, the block shows Claude Code's session title, as before.
Claude Code in a pane
arugula hooks installalso writes permission rules (#655), so an
agent in a pane can use the arugula CLI and its MCP tools in Claude
Code's auto mode. By default it allows only the read-only commands and
tools (ls,tail,wait,history,read_thread, …).
--allow-actingadds the ones that change things (run,send,
agent,close, …). It only adds rules and never duplicates one.
hooks statusreports each tier as present, partial or missing.
Also
- A block or command started with
--session NEWis the new session's
only pane. Before, it opened beside an empty shell tab (#236). - A failed PR comment, review, merge or issue comment, or a failed app
prompt, is recorded in history as an action. It no longer shows up in
history --failedor the pane's command status as a failed command
(#411).--kind actionlists them. - Inside the daemon: its core is moving into a library crate,
arugula-mux(#460, #701–#703), and more routes and MCP tools run as
operations (#576–#578). Nothing changes for you.
Arugula 0.30.2
Arugula 0.30.2
Your team's agents (Labs: agents)
- The Agents page (#403): Agents… in the session menu (or the
phone's sheet) opens a page for this machine's agent recipes and the
team's agents.- Recipes lists every recipe this machine has: yours in
~/.claude/agents, and those in each project it knows (added on the
page, offered from, or open in a pane). - New recipe and Edit use a form (name, description, model, tools,
permissions, skills, MCP servers, prompt) that writes the Claude Code
subagent file. An edit keeps anything in the file the form doesn't
know. - Each recipe has Run here, Offer / Stop offering, and Delete.
- Team shows the catalog by machine and owner, tasks waiting for your
OK, and your grants with Revoke.
- Recipes lists every recipe this machine has: yours in
Arugula 0.30.1
Arugula 0.30.1
Your team's agents (Labs: agents)
- A delegated task's work comes back reviewed (#402):
delegate {kind: review}(orarugula agents review TASK) puts the
task's patch on a copy of your checkout and shows it in a diff block, and
nothing in your checkout changes.{kind: apply}(arugula agents apply TASK) applies it with a three-way merge, and names the files changed,
any conflicts left to resolve, hunks that didn't apply, and new binary
files the task left out. 0.30.0's notes described this, but it wasn't in
0.30.0.
Also
- A daemon shutting down stops its panes' scopes after itself, so the
shutdown can't race saving the layout (#696).
Arugula 0.30.0
Arugula 0.30.0
Your team's agents (Labs: agents)
A new Labs flag, Agent catalog in Developer settings (arugulad flags agents on), lets one person's Claude Code agents hand work to another's
(#403).
- Recipes are Claude Code subagent files (#398). Arugula reads
.claude/agents/NAME.mdin a project, or in~/.claude/agents/, as it
is.arugula agent --as NAMEruns one in an agent block. It brings the
recipe's prompt, model, tools, permission mode and skills, which are
preloaded as Claude Code does for a subagent. It also brings its MCP
servers, with credentials passed by reference and nothing else: no
account connectors. Fountain's--asis now--as-fountain. - Offer one to your team with
arugula agents offer NAMEor from the
Team agents block. Each offered recipe is an A2A 1.0 agent card. - The team's catalog (#399): Team agents… in the menus,
arugula agents catalog, or MCPlist {kind: agents}. It lists every
agent offered on your own machines, your teams' machines, and
teammates' own machines that offer something, each with its owner. A
machine that's offline shows its agents as last seen. Your machine reads
the cards itself, through control's relay with its own key, and control
never sees them. A machine reaching another for agents gets those agents
and nothing else. - Delegating (#400): an agent uses MCP
delegateto send a task, and a
person usesarugula agents send MACHINE AGENT TEXT. The task runs as
the recipe in a git worktree on the other machine, where its people can
watch it and answer its permission prompts. It returns a reply and a
patch (kept on your machine), and its questions come back to whoever
sent it. - Consent (#401): a task from someone else waits until that machine's
own account allows it, on a card that's also pushed to your phone. The
choices are Allow once, Allow for an hour or Deny. A team's other
owner can't allow tasks on a team box for you. Hour-long grants are
listed with Revoke (arugula agents grants), and tasks survive a
restart.
Using this between people needs this release on both machines. Hosted
control already has its part.
Agents
- A turn a restart cut off asks to continue (#680): the block comes back
with a note and a card offering Continue or Dismiss, and
arugula waitreconnects across a daemon restart. - Background work (#681): an agent whose turn is done, but whose
adapter waits on a background task, shows idle instead of working, so
arugula waitreturns. An agent woken by a finished background task
shows working until that's done.
Also
- The rename's bridges are gone (#534): every install is on 0.26 or
later, so theillogicalnames (variables, headers, links, services,
downloads) are no longer kept. On upgrade, Claude Code hooks and MCP
servers still registered under the old name are renamed for you. arugula … | headandarugulad flags | grep -qend quietly on a closed
pipe instead of panicking (#682).
Arugula 0.29.0
Arugula 0.29.0
Developer settings
- Each Labs feature has a switch of its own (#665, #464). Chat,
huddles, VMs, Fountain, studio apps, chant workspaces, guest ssh, the
swarm's extra views and Forgejo and GitLab blocks are each a flag, all off
on a new install. Developer settings… in the session menu turns them on
for the machine, and the page follows at once with no reload. The menu
offers it oncearugulad flagshas been run on the machine; the desktop
app's Daemon menu has it either way. arugulad flagslists the flags;arugulad flags chat on(and
off) sets one from a terminal, with the daemon running or stopped. They
live inflags.jsonin the state directory and survive updates.- A machine that had Labs keeps all of it: the old
labsfile becomes
every flag on, and turning one off leaves the rest.
Also
- Sharing says when a grant reaches more than one device (#663). A grant
goes to a tailnet login, so everyone signed in as it gets the role; the
share dialog,arugula accessandarugula statusnow say when a login
has called from more than one device, and why a tagged device is refused.
Arugula 0.28.0
Arugula 0.28.0
Right-click
- A right-click opens the pane's menu in every pane (#658). Over a
program that takes the mouse (Claude Code, vim, tmux, htop) the browser's
own menu used to come up instead. Such a program no longer gets the
right-click; Shift+right-click sends it on as a plain right-click,
with no menu. Shift used to do the opposite there.
Swarm
- A workspace's open decision points are cards (#621): the question,
a button for each choice, and the answer a model proposed marked as
such. They reach the phone like gates do, and the card closes saying who
answered. Needs chant 0.91 or newer. - A card's next step is its main button (#634): Open on a card that's
waiting for you or finished, Answer… on a bundled question. Dismiss
sits beside it, quiet.