Changelog

What's new in Waycar

Updates 1.1.0 back to 1.0.1.

Version 1.1.0

Added

  • 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.