Added
- Toolbar: every Agent now has one bar at the bottom, the same whether
you are typing or not. On the left, your items scroll: keys such as Esc,
arrows and F1–F12, combos such as ⌃C Interrupt, sticky Ctrl, Alt and Shift
chips, actions (Paste, More, Add Image, Skills, Rename Agent…) and your
Snippets. On the right, three fixed buttons: 💬 Message Agent opens the
Composer, ⌨ raises the terminal keyboard (opening one closes the other),
and 🎤 dictates straight to the Agent and sends when you stop. The Agent
chips row is gone; switch Agents with back or the iPad sidebar. In
Settings → Toolbar you choose and order the items and build Custom
Keys: a label on the cap, sending a sequence of keys or a text such as
/compact. A Custom Key can press Enter after its text; it then sends the
way Send does, and while the Agent is Blocked it only inserts. A Spacing
slider sets how far apart the buttons sit, from nearly touching (1 pt) to
wide (24 pt). iPhone and
iPad each keep their own Toolbar (layout, spacing and Custom Keys, so a
Custom Key built on iPhone does not appear on iPad); each syncs through
iCloud Sync, so a reinstall restores it. A Toolbar customized on an
earlier build carries over.
- New logo and a choice of app icons: a flatter caboose carrying a
>_
shell prompt, green on near-black, replaces the navy and oxblood icon in
the app, the What’s New sheet, and on waycar.dev. Settings › App Icon
offers twelve home-screen icons: the caboose or the bare >_ prompt mark, each
in several colors. Since iOS 18.1, notifications keep the previous icon
until you restart the device (an iOS bug); the screen says so.
- Waycar Pro: one yearly subscription ($39.99) that lifts the free
limit of 10 Launches in any 30 days. A Launch is a New Agent, Default
Shell or New Terminal started from the phone, a Closed Session resumed
from it, or an Agent typed into a Shell from it. At the limit, a launch
button opens the paywall, which says when your next free Launch opens;
buying there carries on with the Launch you tapped. An Agent typed in over
the limit keeps running on the Host, but
its screen and Composer stay hidden behind a lock card on the phone until
you are Pro or the Agent ends. Everything else stays free. Settings ›
Subscription shows your plan and renewal date, with Manage Subscription
and Restore Purchases.
Current free allowance: no Launch limit for the first 30 days after you connect your first Host, then 10 Launches per rolling 30 days. See pricing.
- Anonymous usage analytics via PostHog (US) in the app and on waycar.dev,
so we can learn which features are used. The app sends a few events (app
opened, Host added, pairing succeeded, agent launched with its kind,
notification opened) and never sends Host names, commands, prompts, or
terminal content. Turn it off in Settings, which also deletes the analytics
ID so turning it back on starts a new one. The website counts page views,
App Store button clicks, install-command copies, and
install.sh downloads;
it keeps a first-party analytics cookie, except in the EU, EEA, UK, and
Switzerland, where a small cookie choice appears: the site counts visitors
without cookies until they choose, and Allow adds a first-party cookie.
Cookie settings in the footer changes the choice.
- AI Usage: Settings › CodexBar chooses how AI Usage is displayed,
modeled on CodexBar’s own display settings: the summary’s provider (most
urgent, or a chosen one), window (Session + Weekly by default, as two
numbers, session first; or Session, Weekly or Automatic, whose number is
marked S or W when the window is not obvious) and an optional reset time,
dropped first when the row is narrow; usage shown as remaining
or used; resets as a countdown or clock time; and, in the details, the pace
marker, account labels, and refreshing when opened. Per-Host options stay
on each Host’s page.
- Plugin install:
curl -fsSL https://waycar.dev/install.sh | sh installs
or updates the herdr plugin from a public URL; every site deploy publishes
the plugin built from the same commit.
- Launch steps: while a New Agent, shell, or worktree starts, the sheet
lists what it is doing, such as getting the latest main from origin,
creating the worktree, and starting the Agent. Finished steps get a check,
and a slow step shows how long it has been running.
Changed
- Live Activity now reads at a glance: a big status line (“1 Blocked”,
plus the other counts beside it), then one line per Agent with its status
in words and colors. Everywhere in the Live Activity, each Agent shows the
first two rows of its Agent List Fields; the third (the directory by
default) is no longer shown. The Dynamic Island shows a status symbol and
count instead of bare numbers.
- Agent view: the iPhone Back button and the iPad sidebar button sit in
their own row above the terminal, so they never cover its first line; in
landscape on iPhone, Back moves to the left edge.
- Settings on iPad opens taller, so the whole list fits without
scrolling.
- Opening a Done Agent turns it Idle only once you have stayed on it for
three seconds. Backing out sooner, say after a mis-tap, leaves it Done.
- Back button: the ‹ at an Agent’s top left now stays almost invisible
until you press it. Settings › Hide Back Button removes it; swipe from
the left edge to go back. The setting syncs through iCloud Sync.
- Agent list order: Agents are grouped by status across every Host and
Workspace: Blocked, Done, Working, Idle, then the rest, with pinned Agents
still first. herdr’s Agent panel sort (
agent_panel_sort, whose default
spaces grouped the list by Host and Workspace) no longer changes it; the
Host and Workspace menus in the bottom bar narrow the list instead.
- AI Usage moves out of the Console’s bottom bar into an “AI USAGE” row
atop the Agent list (and the iPad sidebar) that scrolls away with it. It
shows the same summary with a chevron; tap it to see every provider inline
with its session and weekly gauges, pace marks, and a tap-to-retry for any
provider that could not refresh, or All details for the full sheet. Each
window remembers whether its row is open, so expanding it in one iPad
window leaves the others alone. Refresh When Opened applies to the open
row too, including at launch, on return to the app, and on a Host switch.
The card grows and shrinks smoothly as reports arrive, and the row stays
in place, reading “No data”, while its Host reconnects. The sheet and the
card now draw the same gauges, and in both a number is colored only when
it runs low.
- AI Usage: the Console’s summary now shows session and weekly usage
side by side (“Claude 64% · 12%”) for the provider with the least left,
so a nearly spent weekly allowance is never hidden. A window chosen in
Settings › CodexBar before this change is kept.
- Agent Summaries now cover every Agent, not only Blocked and Done ones:
each Agent card shows one AI-written sentence (at most 100 characters)
saying what the Agent is doing or where it ended up, e.g. “Adding
exponential backoff to webhook retries; now writing tests for the 5xx
path”, with how old it is (“1m”). When the Agent has moved on to another
status, or the line is over three minutes old, it dims and reads “updated
2m ago”; while an Agent’s first line is on its way the card shows a
placeholder. Notifications carry the same sentence (“Done: fixed 14
missing VoiceOver labels…”). While Waycar is open, each connected Host
refreshes them about once a minute and when an Agent changes status; the
herdr plugin asks the model only for Agents whose screen changed, so idle
Agents cost nothing. The model runs on the Host, using its Claude, ChatGPT,
or OpenRouter access (cheapest model first), and the screen text goes from
the Host straight to that provider, never through Waycar or the push relay.
Now on by default: turn AI Summaries off in Settings (moved there from
Notification settings) to stop both the card lines and the Host-side model
calls, whether or not notifications are on. Update the herdr plugin on each
Host to waycar 1.0.0 (
curl -fsSL https://waycar.dev/install.sh | sh); an
older plugin keeps the summaries it writes on Blocked and Done.
- Console: Status pills scrolled out of view now fade out beside the
search icon instead of showing around it and in the margin.
- iPad sidebar: the sidebar toggle now stays in the top-left corner
whether the Agent list is open or closed, and search and the Status pills
share its row, so the list shows more Agents. Hiding the list slides the
Agent over it and showing it slides the Agent back, while the list stays
put underneath. With an Agent open, swipe from the left edge of the screen
to open the list. To close it, swipe in from the right edge of the screen,
or drag or flick the Agent’s left edge back over the list. In portrait
the Agent slides aside, and a tap on it, or choosing an Agent, closes the
list. Control-Command-S toggles it.
- Terminals keep their last screen, dimmed, with a small “Reconnecting…”
pill while they reconnect, for example when you return to Waycar after the
Background Grace Period, instead of going blank behind the Connecting
dialog. A first open still shows Connecting.
- New Worktree now starts from the latest main by default: the newest
commit of origin’s default branch (usually
main), fetched on the Host
first, so it no longer builds on an old local copy. If
the fetch fails, nothing is created and the sheet says why. Turn off
Start From Latest Main to start from the Host’s current checkout or
from Base instead; Waycar remembers your choice.
Removed
- Workspace drawer: the right-edge handle in Agent detail that listed
Workspace tabs is gone. Open Terminal, including its New Terminal choice,
still opens shells from Agent detail.
Fixed
- New Worktree no longer makes a second worktree when herdr is slow to
confirm the first one, or when you tap Start again after an error. Waycar
finds the worktree it already made and continues there. Starting on a
branch that is already open in a worktree opens that worktree instead:
its running Agent if it has one, otherwise a new tab in it. An empty
Branch now gets its name from Waycar, in the same
worktree/calm-river-3f2a
style herdr uses.
- Console on iPad: the open Agent is marked by its card’s ring alone.
The square outline that also framed the whole row around the card is
gone.
- Waycar no longer freezes after you start an Agent while many Agents are
active. Every status change on the Host reordered the Agent chips row
under the terminal with a slide animation. That animation re-rendered the
whole screen in the middle of drawing it, and with enough Agents working
the app stopped taking touches until iOS killed it. The freeze is gone
along with the Agent chips row (see Toolbar).
- Panes on your Mac no longer stay at the phone’s size after you open an
Agent over mosh. Closing an Agent terminal left its mosh session running
on the Host, and herdr keeps a pane at the size of the client still
attached to it. Waycar now ends the mosh session when you leave the
terminal or the Background Grace Period ends, and a session whose app
disappeared (killed or offline) ends on its own after 60 seconds, so a
longer outage reattaches the terminal. Over mosh, Agent terminals also get
the 256-color terminal type they already had over SSH.
- A new Agent’s first message now sends. On herdr 0.9.1, an Agent that
reports its status through a herdr integration (such as omp after
herdr integration install omp) could stay “starting” on the Host forever:
Send kept retrying for 45 seconds, then typed the message into the terminal
without pressing Enter, the Agent lost the name you gave it, and herdr kept a
CPU core busy. Waycar now checks back with herdr during each new Agent’s
first 20 seconds, which lets herdr mark it ready, so the first message is
sent as soon as the Agent can take it.