Chat Mode on OpenCode: turn on Chat Mode for OpenCode too. Its models
are provider/model, its prompt arrives through the Waycar plugin rather
than a launch flag, and Quick thinking does not apply (the TUI has no
reasoning-effort flag).
Fixed
First message to a new OpenCode Agent: a chat message sent right
after starting an OpenCode Agent on a herdr Host was acknowledged but
never reached OpenCode, which ignores typing until its input box appears.
Waycar now waits for that box before sending, and says “OpenCode is still
starting” if it never shows up instead of losing the message.
Version 1.0.3
Added
Turn on notifications: when you return to the Console or reopen
Waycar after spending time on an Agent, Waycar asks once whether to turn
on Agent Notifications and Live Activities. Turn On sets both up for every
Host on this device, and for Hosts you add later; Not Now means it won’t
ask again. It also shows for people who have used Waycar before but never
turned these on.
Chat Mode: turn on Chat Mode in New Agent for Claude Code, Codex, OMP
or Pi, and the Agent opens as a chat instead of a terminal: it greets you
(“What are we working on today?” and friends), then shows your messages,
the Agent’s final reply to each one, and a status line showing what it is
doing. When it needs you, Allow, Cancel or Show Terminal answer it right
there. The Chat Prompt that asks for short replies is editable in
Settings, notifications and the in-app banner show the reply itself (or
the error, when a turn fails without one), and a chat started on one
device opens as a chat on your others. Images the Agent opens during a
turn show above its reply, and so do images and videos the reply names (a
file on the Host or an https link); tap one to view it full screen. On the
Console, a chat badge marks Chat Mode Agents and closed chats, and the
Chat pill lists only them. A chat keeps a copy of its messages on the
device, so it opens with them at once, and a read that fails is retried
until the conversation is back. Settings › Chat Mode also picks the model
for each harness and Quick thinking, on by default, for faster replies.
Needs the updated Waycar plugin on the Host.
New Chat: touch and hold the Waycar icon › New Chat starts a chat at
once with the Settings › Chat Mode defaults (Host, Workspace and Agent;
Last Used by default, and when the chosen Host was removed) and the
keyboard up. A Workspace that is gone is made again in its folder. When
the defaults can’t be used, or the Host isn’t ready within 20 seconds, the
New Chat sheet opens with Chat Mode on. With no Hosts it just opens
Waycar.
tmux Hosts: Waycar now works with tmux 3.2 or later as well as herdr.
A tmux Host works like a herdr Host: your tmux sessions show up as
Workspaces, and you can start, open, message, rename and close Agents and
Shells from the phone. Opening one shares the window with your desk
instead of taking it over. On a computer with both, herdr Agents and tmux
sessions appear together in one list; New Agent starts on herdr unless you
pick tmux for that Host. Live status and Blocked/Done notifications come
from Status Hooks that the same install command adds to Claude Code,
Codex, omp, pi and opencode; Codex asks you to review them once in its
/hooks screen. When tmux has no sessions running, Start Session opens
one from the Console. On a computer with both, if herdr or tmux fails it
shows its own issue with Retry while the other keeps working.
Jump to the beginning or end: keep scrolling an Agent’s terminal and
a button appears near its bottom corner that scrolls the rest of the way
for you: back to the start of the conversation when you were scrolling
up, down to live output when you were scrolling down. Dragging the
terminal stops it partway.
Changed
Quiet cancels: Cancel and dismissive buttons in alerts, dialogs and
sheets, and the symbols in the Agent actions menu, are now a quiet gray on
every iOS version, so the primary violet action and destructive red stand
out.
App icon: the default icon is now the caboose in Waycar’s brand violet.
The green caboose is still in Settings › App Icon as Phosphor.
Brand colors: buttons, links, toggles and selection now use Waycar’s
violet, as on waycar.dev, instead of iOS blue and green.
AI Usage pace estimate: the AI Usage sheet now shows CodexBar’s own
estimate under each gauge — “14% in reserve · Lasts until reset” when you
are using the window slower than it runs, or “20% in deficit · Runs out in
2d 4h” when you are on track to run out before the window resets. The
existing Show Pace switch turns it off.
Settings › About › Acknowledgements lists more of the open-source
components in the terminal engine.
The terminal engine no longer includes GNU gettext, which it never used
in Waycar. It is now built by us from the same Ghostty code, without it.
AI Usage is on for one Host by default: when AI Usage is already on
for a Host, another Host where CodexBar is found starts with it off, so
the same AI accounts are not asked twice as often (which can cause
rate-limit errors). Turn it on for more Hosts, or for another Host if you
remove the one that is on, on each Host’s page. Hosts whose AI Usage
settings you never changed are set up the same way the next time Waycar
finds CodexBar on them.
No Host yet: the setup steps are shorter and say each thing once:
install herdr on your first Host, turn on SSH, optionally install mosh
(with links to Apple’s Remote Login help and mosh.org), then run the one
install command in herdr and tap Scan to Pair, or tap Add Manually to
type the address. The Console’s bottom bar stays hidden until you add
your first Host; Settings is the gear beside “Add Your First Host”.
Usage analytics: Waycar asks once, on first launch, whether to share
usage analytics, and sends nothing until you tap Allow. The Settings
switch is now called “Share usage analytics”.
AI Summaries stay off until you choose Turn On. If you have not chosen
yet, Waycar asks when you turn on notifications for a Host in Settings,
and shows which AI companies get the last 60 lines of an Agent’s screen:
Anthropic, OpenAI, or OpenRouter, which passes it to Google or OpenAI
models. Not Now keeps them off, and Waycar does not ask again. The AI
Summaries switch in Settings asks the same way.
Waycar Pro: the paywall shows Terms of Use and Privacy Policy links,
and how to cancel, near the top.
Waycar Pro: the paywall shows $5 a month and $40 a year, without
cents. Prices that aren’t whole, as in some countries, keep their cents.
Privacy policy: names OTREVA, LLC, explains the analytics choice and
the AI Summaries opt-in, and adds sections on service providers,
children and your rights.
Fixed
Chat Mode chats stay chats when herdr restarts or is upgraded. herdr
brings each Agent back in a new terminal, which the chat no longer
recognized. herdr’s restore starts the Agent without the Chat Prompt, so
its replies may run longer until it is started again in Chat Mode. Rerun
the Waycar install command on the Host so notifications keep carrying the
reply too.
Pair device no longer cuts off the bottom of the QR when the
terminal’s text is zoomed in. When the usual QR doesn’t fit, the popup
draws a more compact one; when even that doesn’t fit, it asks you to zoom
out or enlarge the window instead of showing a QR that can’t be scanned,
and draws it as soon as it fits. Rerun the Waycar install command on the
Host to get it.
Trust this Host? waits for your answer however long you take, even
behind iOS’s Save Password prompt, instead of closing itself after a
minute. Tapping Trust late now connects: Waycar opens a fresh connection
instead of using the one the Host already closed while you decided.
A Host’s checks no longer say “Could not reach the Host over SSH… (the SSH
connection is no longer reusable)” when the Host was only slow to list its
sessions, and Reconnect on the Host page reruns failed checks instead of
leaving the old failure on screen.
In Settings › Toolbar, the Add Item… list and a Custom Key opened from
Your items no longer close by themselves after you scroll down the page.
The Close Agent confirmation and Open Terminal’s list of shells show in
the middle of the screen instead of in a bubble pointing into the
terminal.
With one Host, the Console’s bottom bar now shows the Host menu too,
instead of an empty space at the far left.
A new Host no longer shows a red “host key is not trusted” error while
Waycar asks you to trust it; the Console connects as soon as you tap
Trust.
A Host typed as an IPv4 address now connects on IPv6-only (NAT64)
networks, and IPv6 addresses in [brackets] work.
SSH errors use plain words instead of internal code names.
Mosh timestamps count from when Waycar started, not from when the
device booted.
Version 1.0.2
Changed
Waycar Pro: pick a plan that fits. Pro is now $5 a month or $40 a
year, and both lift the free limit of 10 Launches in any 30 days. The
paywall and the lock card on a hidden Agent show both plans. You can
switch plans in Manage Subscription; the switch starts at your next
renewal.
No Host yet: the Console and Hosts list the exact setup steps (install
and open herdr, turn on SSH, run the one Waycar install command, which
shows a Pairing Code), with Scan to Pair first and Add Manually under it.
Tap the command to copy it; a Mac signed in to the same Apple Account can
paste it. On iPad the steps fill the space beside the list. After you add
your first Host, its page opens in Hosts.
Fixed
With one Host or none, the Console’s bottom bar stays at the bottom of the
screen instead of floating halfway up.
Version 1.0.1
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.
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.