Release notes
Work that survives a crash
- A crash no longer loses your work. If Empryo, the terminal or the whole computer goes down in the middle of a turn, the next start picks the turn up where it stopped. Every message you sent is kept, none runs twice, and the chat says what happened.
- Half-written answers are kept. An answer cut off by a crash shows again, and the resumed turn carries on from it.
- Commands outlive a crash. On macOS and Linux, a command that was running keeps running. Empryo waits for it, then gives the agent its exit code and everything it printed, before and after the crash.
- An edit interrupted by a crash is checked against the file, so the agent knows whether it landed. A command whose outcome is unknown is never run again on its own.
- Stop means stop. A Stop pressed during a crash, a reconnect or a restart is saved before it is confirmed, and stopped work never comes back. Background agents stop with it.
- The terminal app and the desktop app reconnect to a lost engine on their own and resend anything it had not received. Messages queued in the terminal app survive closing it.
- Interrupted work resumes on its own only when you are there and within 6 hours. Older work waits until you say continue.
- Checked by killing the engine on purpose at nine different moments, on macOS, Windows and Linux.
Empryo on Android
- Empryo now runs on Android phones, with a Wear OS app on your watch. It does everything the iPhone app does: pair with a QR code or a link, follow and steer chats, answer questions, talk instead of typing, review, routines, a home screen widget and notifications. Ask on Discord for an invite.
- No phone message is lost, sent twice or sent to the wrong chat. A message sent while the phone has no connection waits in the chat with Edit and Cancel, and goes out when the computer is back.
- Moving from Wi-Fi to cellular reconnects on its own once the phone has checked it can reach your computer.
/remotenow opens Wi-Fi, Tailscale and the Empryo relay together, so a phone on cellular always gets through./remote wifiopens only Wi-Fi.- Pairing uses a stronger secret inside a new Empryo QR code. Allow or deny a phone right in the terminal app's pairing panel.
- Advisor and council answers show as cards on the phone, whole, also after a reconnect.
- Finished turns show tokens per second, and a chat under review says Reviewing in the chat list.
- A voice message goes to the chat you spoke in, even after you switch chats.
Every engine in one place
- See every engine on your computer. Each project you open runs in one engine.
/enginesin the terminal app, the Engines panel in the desktop app and Engines under Projects on the phone list them all, with what each one is doing and which windows, terminals and phones are attached. - Stop the ones you don't need. A busy engine asks before it stops, and its chats come back when you open the project again. The phone can also restart the engine it uses.
- The desktop app's title bar counts the engines running with no window, so a forgotten one is easy to find.
- One engine per project, always. A window, terminal or phone that finds the project's engine busy waits for it instead of starting a second one, so a phone that pairs sees the chats you already have open.
- A worktree's engine shows in the list too. Stopping it keeps its tab, and a message sent while it stops is delivered, not lost.
Attach anything
- Attach files from anywhere on your computer, not only from the project. They show as file cards with an icon for their type in the desktop app, the terminal app and on the phone.
- Editing a sent message brings back its images and files.
Models
- Models show readable names everywhere.
- DeepSeek on OpenCode Go follows the effort you pick.
- A reply that stalls is noticed by its own rhythm and retried, instead of waiting out the full timeout.
- More of each request is cached: the instructions that never change now come first.
- Long conversations on a ChatGPT plan resend their full history less often.
- Model lists refresh in the background, so the picker opens at once.
What's new
- Auto theme mode: the desktop app follows your system's light or dark setting with the matching variant of your theme.
- Updates install in the background, then Empryo restarts fully and keeps your session.
/restartrestarts the whole app. --session-idstarts a session with the id you choose, and--forkstarts from a copy of a saved session.- Hooks receive the transcript path, a Notification hook fires for approvals, questions and plan reviews, and a host can pass its own environment variables through to hooks.
- In the terminal app, the prompt box colours the effort by level, the line under it reads input, output and cached tokens, and every turn shows its own speed.
- The Empryo CLI is on the Microsoft Store, next to the desktop app.
Quality of life
- Faster everywhere: a headless run reaches the model in 0.8 s instead of 1.1 s, and code blocks in long desktop replies highlight about twice as fast.
- Fewer tokens: the agent spends less on reads, searches and test output. A file it already read is not sent again, a large file arrives as an outline first, checks run in the package you changed, and a clean typecheck is reused until something changes.
- Clearing checkpoints also shrinks big chat logs, by a third or more on large sessions. Each shrunk log is checked to give exactly the same chat.
- The Skills drawer lists pinned skills that are not installed, so you can unpin them.
- On Windows, no console window or Microsoft Store window opens that Empryo did not mean to open, and Git never pops up a sign-in in the background.
- Every string is translated in Arabic, French, Korean and Russian.
- Empryo opens straight to your work: Git and the other tools are optional.
Bug fixes
- Memory starts on the SQLite that ships with macOS instead of stopping Empryo from starting.
- Cursor no longer stalls after running a shell command.
- Antigravity models accept Empryo's tools.
- Routines run on time when background phone access is the only thing open.
- A worktree tab's messages never run in the main checkout, even while a session is loading.
- A failing command keeps its last lines and its exit code.
- Computer use keeps the browser and observe tools on a Mac without cliclick.
- The session list shows when each chat was last updated.
- Empryo starts when a parent folder cannot be opened.
- An interrupted SoulStack download is fetched again instead of reused.
- Notification shadows are no longer cut off, and the titlebar phone button is an icon.
- Plus many smaller fixes across the desktop app, the terminal app, the phones, worktrees and Windows.