Changelog

What’s new in Polido

Every release, newest first, in the words of its update notes. The latest is 0.1.165, from 30 October. Polido updates itself, so if you have it, you have this.

Download for MacAlso on Windows

Week of 26 October 2026

0.1.165
30 Oct

New

  • Your founding badge, up close, on Windows too. Founding members: click the gold seal on Overview and it grows into a coin that turns, with your member number on the front and the day you joined on the back. Drag it to spin it. Esc or a click outside puts it away.

0.1.164
30 Oct

New

  • Your founding badge, up close. Founding members: click the gold seal on Overview and it grows into a coin that turns in 3D, with your member number on the front and the day you joined on the back. Drag it to spin it. Esc or a click outside puts it away. (Mac)

Fixes

  • Member numbers for the earliest members. Founding members who installed Polido before 23 September had a badge with no number. They now get theirs.

0.1.163
29 Oct

New

  • Sign in without touching the browser. Already signed in on polido.app? Press "Sign in with your browser" and that's it: the page finishes by itself and Polido comes to the front. The browser hands the sign-in only to the Polido on your own computer, so a link someone else sends you can't sign their computer into your account.
  • Opening Polido shows your Overview. Open Polido from Finder or Spotlight and its window opens on Overview. Starting at login stays quiet. (Mac)

Changes

  • A simpler sign-in window. One button and the terms. On the Mac it has the usual close, minimise and zoom buttons; closing it leaves Polido in the menu bar. The emailed code is still there on polido.app.
  • Cleaner notes under AI prompts. The notes under a rewritten AI prompt list only the choices Polido made, not its headings or word swaps.

Fixes

  • Signing out elsewhere signs Windows out too. Signing this computer out from polido.app now brings the Windows app back to the sign-in window.
  • Setup fits its window. The onboarding pages no longer run off the bottom, and the steps across the top sit on one line. (Mac)
  • One Unlock Pro button. "Your writing" on the Free plan no longer shows the button twice. (Mac)
  • The free allowance offline. With no connection, Polido shows the current free allowance instead of the old one.

0.1.162
29 Oct

New

  • Sign in first, in one click. Polido now opens with a sign-in window. Press "Sign in with your browser", log in with Google or an emailed code on polido.app, and Polido picks it up by itself. Your stats, rules and streak come with you to every computer. If you used Polido before, you'll see "Welcome back" once you're in.
  • Press + to keep a rule. When Polido offers to keep a change as a rule, press + on the keyboard to accept it, or click it. Saving it now plays a short animation.

Changes

  • One orange, and a new icon. The icon now matches the character's orange, and every button, toggle and highlight uses that same orange, with white text on buttons.
  • Your rules win. Your rules and your team's rules now hold far more often, even where Polido's defaults would do something else. When they disagree, the team's rule comes first.
  • Finished drafts stay finished. A prompt or paragraph that's already good comes back as you wrote it, instead of growing headings.
  • Image and video prompts stay yours. Polido adds light, framing and colour, but no people, clothes, props or weather you didn't type.
  • Your streak as circles. The week shows as seven circles, with today's ring drawing round as you write.
  • Clearer when you run out. When the month's free rewrites are used up, Polido says what it did with your text and puts Pro one click away.
  • Emails keep their greeting. A greeting you wrote stays in the rewrite, a formal email to nobody in particular opens with "Hello,", and numbers you typed as digits stay digits.
  • Chat questions stay separate. Two questions in one message stay two questions.

Fixes

  • Words it never changes. On Windows the list no longer overlaps, only the × removes a word, and "Show all" appears past fourteen words on both Mac and Windows.

0.1.161
29 Oct

Fixes

  • Prompts get improved in Grok Bot. In xAI's Grok Bot app, Polido only fixed spelling and capitals. It now turns a rough prompt into a clear one there, as it does in Grok, ChatGPT and Claude.

0.1.160
29 Oct

Fixes

  • Prompts get improved in more AI apps. In the Grok, Perplexity, Gemini, Copilot, DeepSeek, Le Chat and Codex apps, Polido only fixed spelling and capitals. It now turns a rough prompt into a clear one there, as it does in ChatGPT and Claude. In Cursor and Windsurf, it writes requests for the coding agent.

Changes

  • New installs ask you to log in. After the short tour, Polido asks you to log in or make a free account before your first rewrite. If you already use Polido, nothing stops working: you'll see the login once, and you can close it.

0.1.159
29 Oct

Fixes

  • Grok prompts get improved. In Grok on X, Polido only fixed spelling and capitals. It now recognises Grok as an AI chat and turns a rough prompt into a clear one, as it does in ChatGPT and Claude.
  • Windows: updating over a running Polido works. Installing a new version while Polido was open could stop with "Access denied" and leave Polido unable to start. The installer now closes Polido first.

0.1.158
27 Oct

Fixes

  • No more freezing on big web pages. On a large page, like a LinkedIn profile in Safari, Polido could stop responding for several seconds while looking for the text box. It now gives up quickly and asks you to click in the box you're writing in.
  • The Rewrite button stays by your text. In Safari it could end up on the toolbar, over the address bar. It now sits next to the text you selected.

0.1.157
26 Oct

Rewrites

  • Emails keep your greeting. Start with "hi all" and the rewrite keeps it on its own line, with the email in short paragraphs under it.
  • Clearer for other languages. A tidier instruction about which language to write in, so rewrites in Portuguese, Spanish and the rest stay in that language more reliably.

Your writing

  • Bullets or sentences? Setting up your rules now asks whether you like bullet points, plain sentences, bullets only for longer lists, or your own layout kept.

Week of 19 October 2026

0.1.156
23 Oct

Easier setup on Mac

  • One switch, clearly explained. The Accessibility step is now three short steps with the switch drawn right on the page, and Polido is already in the list when System Settings opens. Once you turn it on, setup comes back by itself.
  • Switch on but not seen? A new link restarts Polido and, if your Mac kept an old entry, walks you through replacing it.
  • No pop-up at launch. macOS only asks when you click Open System Settings.

0.1.155
23 Oct

Microsoft Teams

  • Works in Teams on Mac. Rewrites now land in the new Teams' message box, and an empty box is no longer mistaken for a draft that says "Type a message".
  • Out of your way on Windows. The rewrite panel no longer covers what you typed when the message box sits at the bottom of the screen. It moves above the box, on the screen you're typing on.

0.1.154
22 Oct

Rewrites that stay yours

  • Nothing of yours gets lost. @mentions, figures, currencies, times, swearing, and English inside another language stay as you typed them. Midjourney flags stay at the end, word for word.
  • Honest notes. What a rewrite says it changed is checked against what actually changed, and it tells you when a change touches the meaning or adds a detail you didn't write.
  • Better tones. Neutral keeps "I'll" and "we're". Formal reads properly formal and keeps your closing. Casual still fixes what's broken.
  • Fair counting. When nothing needed changing, it doesn't count. When Polido quietly retries to fix a slip, you're charged once.

Rules and teams

  • Edit one rule. Change, delete or add a single rule without redoing the questions.
  • Team rules, clearly. Teammates see the team's rules, and the page says which wins: the team's, then yours, then what Polido has learned.
  • Per-person limits. Team owners can set a monthly limit for each teammate, see who each person is, and name who an invite is for.

Clearer everywhere

  • Quick or Deep. Thorough is now called Deep, with a line saying what it does. Your choice is kept.
  • Your free trial, in plain sight. New installs see their 100 rewrites and the day the trial ends.
  • Plain answers. The privacy text says exactly what's sent and kept, and the free plan says plainly what it includes.
  • Smaller fixes. The update window scrolls, the pill moves out of the way of your text, the "Rules for" menu and the weekly bars fit, and errors say your text is unchanged.

0.1.153
21 Oct

Rewrites keep how you wrote it

  • Your capitals stay. If you start your sentences with a capital, every sentence in the rewrite does too, and names like iOS, macOS, GitHub and API keep the spelling you typed.
  • Your paragraphs stay. A message written in separate paragraphs, in Slack and elsewhere, comes back with the blank lines between them.
  • Work PCs. On Windows, fewer of Polido's files change between updates, so company security software has less to check each time.
  • Clearer first steps. The onboarding now says what Polido learning from you means: the more you use it, the more it sounds like you.

0.1.152
21 Oct

Rewrites keep how you wrote it

  • Your capitals stay. If you start your sentences with a capital, every sentence in the rewrite does too, and names like iOS, macOS, GitHub and API keep the spelling you typed.
  • Your paragraphs stay. A message written in separate paragraphs, in Slack and elsewhere, comes back with the blank lines between them.
  • Work PCs. On Windows, fewer of Polido's files change between updates, so company security software has less to check each time.

0.1.151
21 Oct

Follow-ups that know the conversation

  • Polido reads the chat before rewriting. On Windows, a follow-up prompt in Claude, ChatGPT or another chat is now rewritten with the conversation above it in mind, so "do the second one but cheaper" comes out specific instead of generic.

0.1.150
21 Oct

Fixes from testing

  • The panel stays off your rewrite. On Windows, when a rewrite makes the text box grow, the panel now moves out of the way instead of covering what was written.
  • A clearer welcome. The "learns how you write" screen now says its list is an example. On the try-it screen, switching apps loads that app's example, even after a rewrite.

0.1.149
20 Oct

Smoother on work computers

  • Updates on work PCs. Some company security software holds new files for a few minutes while it checks them. After an update, Polido now keeps trying to open until it is allowed, instead of staying closed.
  • Clearer message when Polido is blocked. If security software stops Polido from starting, it now says so, and what to do, instead of saying files are missing.
  • Small fixes behind the scenes.

0.1.148
20 Oct

Cleaner rules, and fixes from testing

  • Tidier rules. A rule you use in several apps shows once, under its kind of app (Email instead of Mail, Gmail and Outlook). Choose an app at the top to see just its rules, and setting up rules starts by asking which apps you use.
  • Your formatting and emoji stay. Bold, strikethrough, underline, lists and emoji come through a rewrite the way you wrote them.
  • Free trial. New to Polido? You get 100 rewrites in your first two weeks, and the app shows how many are left.
  • Give a week, get a week. Invite a friend from the free plan too: when they start using Polido, you both get a week of Pro.
  • Windows fixes. Pressing 1, 2 or 3 while a rewrite is still loading works. Slack bullet lists stay lists. The panel no longer opens over your text, the address-bar setting is respected in every browser, and the week bars on Overview show each day's count.

0.1.147
19 Oct

Signed for Windows

  • Polido is now signed by Volt Games Lda. Windows names us as the publisher instead of "Unknown publisher", and IT teams can allow Polido by publisher.
  • Safer updates. Polido now checks that each update is signed by us before installing it.

0.1.146
19 Oct

Windows catches up

  • Your rules questionnaire and the house style. Both guided setups now run on Windows, with each app's own icon on every question.
  • First challenges and streaks. Overview suggests three first rewrites and celebrates your day streak as it grows.
  • The full Team page. Seats, the team's 30-day usage, people and their rewrites, one-click invites, team rules and the team name.
  • Where you use it. Insights shows which apps you rewrite in most.
  • Smoother sign-in. The code submits itself, with a resend countdown.
  • Give a month, get a month is now a subscriber perk on Windows, as on the Mac.

Week of 12 October 2026

0.1.145
18 Oct

Your company's house style

  • Set up your house style. Team owners answer a guided set of questions (your company's names, voice with clients and inside, emails, chat, AI prompts, documents) and every answer becomes a team rule, in the right apps, for everyone.
  • Real app icons. Rules, quizzes and Insights show each app's own icon.
  • Challenges that fit your computer. The first challenges point at the apps you actually have: rewrite an email, an AI prompt and a message.

0.1.144
18 Oct

Your account, everywhere

  • Your numbers, rules and writing profile follow your account. Sign in on another computer and they are there; switch accounts and you see that account's own. Counts only, never your text.
  • Streaks you can feel. Your first rewrite of the day tells you how many days in a row you are on, and Overview's numbers update the moment a rewrite lands.
  • Your first challenges. New to Polido? Overview has three to try: fix a message, sharpen an AI prompt, polish an email. Each ticks off as you go.
  • Click Polido in the Dock to open its window.

0.1.143
18 Oct

Built for work, and the same on Windows

  • Works on company networks. Polido now talks to its own address, api.polido.app, which company web filters allow where they blocked the old one.
  • Windows looks like the Mac. The new character, your numbers and streak, your rules in "Your writing", the tone picker with the character, and "Always do this in Slack" after a refine.
  • Terms, said once. The first setup page says what continuing means, with links, and no extra step.
  • Under the hood. Rewrites are put together on our service now, so improvements to how Polido writes reach you without an update.

0.1.142
17 Oct

Smoother, livelier

  • A friendlier login. The Log in / Create account switch slides, the code goes in by itself at six digits, you can resend it, and Polido says hello when you're in.
  • Switching accounts now updates your plan and rewrites left straight away.
  • Polido moves. The character in the sidebar waves, nods, and cheers when you click it.
  • Small fixes. Hover bubbles no longer stay behind when you scroll; team names show once a team has two or more people.

0.1.141
17 Oct

Rules, a new window, and teams

  • Rules. Tell Polido how you write, app by app: "sign off with Best, Sam" in Mail, "lead with the ask" in Slack. A short quiz writes your first ones, and after a refine one click keeps it as a rule.
  • A new Polido window. Bigger and calmer, with your numbers as pictures: rewrites left (and when they reset), your week, a day streak, and where you use Polido.
  • Teams. A Team page with your team's name, seats, everyone's rewrites, invites in one click, shared rules, and what your IT team needs to know.
  • Know when Polido has learned you. A notification says when your writing profile is ready or has updated.
  • Slack fix. Typing in Slack could select your whole message for a moment, and a keystroke then replaced it. Fixed.
  • Windows. Works on company networks (proxies, auto-config, company certificates), and installs with a proper installer, no admin rights needed.

0.1.140
16 Oct

Your words come first

  • Keep typing, safely. If you carry on writing while a rewrite is on its way, Polido leaves your text exactly as it is and puts the rewrite on your clipboard instead.
  • Numbers are numbers. Typing 1, 2 or 3 right after a rewrite no longer switches its tone once you have moved on; the key just types.

0.1.139
16 Oct

Windows touch-ups

  • Refine takes a click. On Windows, clicking "refine" in the panel opens the refine field, the same as pressing Tab.
  • The pill in Google Docs. On Windows, selecting text in Google Docs with the mouse now brings up the Polido pill.

0.1.138
15 Oct

Shortcuts stay shortcuts

  • No surprise rewrites. Copying and pasting with the trigger key no longer starts a rewrite by accident. A double-tap only counts when it is two clean taps.
  • Esc is safer. It only undoes a rewrite while your message still holds it; once you have moved on, Esc belongs to the app you are in.

0.1.137
14 Oct

Slack, done properly

  • Bullet points stay bullet points. Rewriting a Slack message keeps its lists, code and bold, whether you select the text or not.
  • Questions get rewritten, not refused. A message asking a colleague to "clarify" something no longer gets mistaken for the app talking to you, so it rewrites first time.
  • Your capitals stay yours. Names you capitalise mid-sentence, like a product or a company, keep their capital letters.

0.1.136
12 Oct

A tidier menu

  • One less item in the menu. The field report option is gone from Polido's menu.

Week of 5 October 2026

0.1.135
8 Oct

Smoother, and a little more aware

  • The panel gets out of your way. Once a rewrite lands, the panel glides to just above its first line in one smooth movement, so you can read the whole result.
  • Tones remembered per app, out loud. When your picks settle on a tone for an app, the result tells you: "rewrites in Slack now start Casual". Clicking a tone now counts too.
  • This week, at a glance. The Overview shows this week's rewrites next to last week's.
  • Left alone means left alone. When a rewrite has nothing to change, your message is not touched, so formatting like inline code stays exactly as it was.
  • Windows: the tones panel starts compact and stretches smoothly when the result arrives.

0.1.134
7 Oct

Attachments, safer

  • Image mentions stay attached. A rewrite in Flow no longer risks turning an attached image into plain text when its name starts a sentence.

0.1.133
7 Oct

Quicker in the terminal

  • No scary blank moment. In Claude Code and other terminal apps, your prompt is replaced by the rewrite almost at once, instead of disappearing for up to a second first.

0.1.132
7 Oct

Smoother, and made for Tahoe

  • A new icon for macOS Tahoe. Polido's icon now uses the new glass style, so Finder no longer shows it on a grey tile.
  • One smooth movement. The panel starts small while it works, then grows into its result and moves off your text in a single glide.
  • Your keyboard's keys. Tab and Return are drawn the way your keyboard prints them, and the welcome shows Tab in its place among the keys around it.

0.1.131
7 Oct

Welcome, clearer

  • See the keys. The Tab page in the welcome lights up each key as it is pressed, like the first page does.

0.1.130
7 Oct

Say what to change

  • A new page in the welcome. It shows Tab in action: after a rewrite, press Tab, type what you want (shorter, friendlier, in English) and press Return.
  • Tidier panel. The Tab and Esc keys line up.

0.1.129
6 Oct

Say what to change

  • Tab, easier to find. After a rewrite, press Tab and type what you want: shorter, friendlier, in English. The panel now says so, with examples while you type.
  • Learn it in the welcome. The practice screen shows you Tab right after your first rewrite.

0.1.128
6 Oct

Invites

  • Give a month, get a month. Invite up to 5 friends. When each one does 5 rewrites, you both get a month of Pro.

0.1.127
6 Oct

Better in Claude Code

  • Attachments kept. Images and pasted text you added to a Claude Code prompt stay attached after the rewrite.
  • See what came out. A long rewrite shows in full instead of folding into a "Pasted text" block.

0.1.126
6 Oct

Small fixes

  • Your capitals stay. A sentence you started with a capital letter is never turned back into lower case.
  • Notes that agree. The panel no longer says it fixed something and left it alone at the same time.
  • Windows: an email link Google Docs drops on paste is put back.

0.1.125
6 Oct

Fixes from testing

  • Claude Code in Warp. Rewrites no longer fail on and off with "this field wouldn't accept the rewrite".
  • Windows: inline code in Slack and email links in Google Docs come back as they were.

0.1.124
6 Oct

Fixes from testing

  • Quotes stay quotes. A quotation in another language no longer tips a rewrite into that language in Google Docs on Windows.
  • Code and links kept. Inline code in Slack and email links in Google Docs come back as they were.

0.1.123
6 Oct

Small fixes

  • Honest notes. "Left it alone" only shows when nothing changed. A rewrite that fixed a typo or a comma now says so.
  • Always on screen. When the panel opens at the bottom of the screen (in Warp, for example), the result no longer runs off the edge.

0.1.122
5 Oct

Better in Flow

  • Image prompts again. Flow moved to a new address and Polido was treating it as a chat. Your Nano Banana Pro and Veo prompts get the full image and video treatment again.
  • Every attachment kept. An image mentioned twice in the same prompt, or one whose name you also typed out, now stays an attachment after the rewrite.

0.1.121
5 Oct

Fixes from testing

  • Stays in your language. Short drafts, slang and quotes in another language no longer tip a rewrite into English.
  • Keeps what you wrote. Every emoji stays in Casual and Neutral, and two things that contradict each other are both kept rather than tidied away.
  • Keeps your formatting. Inline code, email links and typed dashes come back as they were, and a rewrite no longer turns bold from the text around it.
  • Windows: switching tone on a long text no longer selects text before the rewrite.

Week of 28 September 2026

0.1.120
4 Oct

Tell us what to fix

  • Feedback, from inside the app. Something odd, something missing, something you like: write it at the bottom of Overview and it comes straight to us. Log in and we can write back.

0.1.119
3 Oct

Plans, resized

  • Pro in three sizes. 500, 1,500 or 5,000 rewrites a month, at the same prices as before.
  • Already subscribed? Nothing changes for you: you keep the allowance you bought for as long as your subscription runs.

0.1.118
2 Oct

A livelier Polido

  • Keeps you company. The character above your account livens up as your day does: asleep before your first rewrite, then waving, hopping, celebrating, and sprinting by twenty.
  • A warmer welcome. Polido waves hello with its whole body, points at the practice text as you type, and cheers your first rewrite without snapping back.
  • Reads along. While it works, Polido now reads your draft line by line.

0.1.117
2 Oct

Meet Polido

  • A little character. Polido now has a face, and it lives in the app: dressed for each tone in the panel, reading your draft while it works, and waving when it's done.
  • Smoother. The panel eases from "Improving prompt" into the result instead of jumping, and moves off your text once the rewrite is in.
  • A friendlier start. Polido waves hello in the welcome, points at the practice text, and cheers your first rewrite.

0.1.116
2 Oct

Out of your way

  • The panel moves off your text. When a rewrite is done, the panel glides above it so you can read what changed.
  • Image mentions stay (Google Flow). Images you mention in a prompt are kept as images when Polido rewrites it.
  • Rewrites always start. A setup window left open behind other apps no longer swallows your double-tap.

0.1.115
1 Oct

The whole rewrite, selected

  • From the first letter (Windows). After a rewrite in Google Docs, Polido checks the selection and makes sure it starts at the first letter, so a tone change or Esc replaces all of it.

0.1.114
1 Oct

Lists in Google Docs, fixed

  • No empty item at the end. Rewriting a list in Google Docs no longer adds an empty item after it.
  • The whole rewrite selected. After a rewrite, the selection starts at the first letter again.

0.1.113
1 Oct

Tidier lists in Google Docs

  • No extra lines. Rewriting text with a list in Google Docs no longer adds an empty line before or after it.
  • The right selection (Windows). After a rewrite with a list, Polido now selects exactly the rewrite, not a few letters of the text above it.

0.1.112
1 Oct

Your formatting, kept

  • Formatting stays. Rewrite a selection with bold, italics, links or a list, in Google Docs, Slack and similar apps, and the rewrite keeps them, in your text's own font, size and spacing.
  • Failed rewrites don't count. If a rewrite can't be pasted because you left the app or your selection was gone, it no longer uses up one of your rewrites.
  • Updates on Windows. Polido for Windows now checks for new versions and updates itself. Find Check for Updates in the tray menu.

0.1.111
1 Oct

Small fixes

  • A tidier sidebar. Your full name, with Log out on its own line underneath.
  • Rewrites land where you left them (Windows). If you click somewhere else while a rewrite is on its way, Polido no longer pastes it there. It waits on your clipboard instead, and Cancel only puts your text back where it came from.

0.1.110
1 Oct

Your account, in the app

  • Log in from the window. Log in and Log out now sit at the bottom of the sidebar, with your name when you're logged in.
  • One account, every computer. Logged in, your plan, your rewrites and any extra rewrites you were given follow you to each computer you use.
  • AI sites in Settings. Add a site where Polido should build prompts, or remove one, from Settings instead of the menu bar.

0.1.109
30 Sept

A heads-up before you run out

  • Running low. On the free plan, Polido tells you once a month when you have 5 rewrites left, and how to get a month of Pro by inviting a friend.
  • A cleaner Windows login. The login window on Windows now matches the Mac's and the website's: Google first, then your email.

0.1.108
30 Sept

Give a month, get a month

  • Invite friends. Log in from Overview, Plan or the menu bar and you get an invite link. When a friend uses Polido five times, you both get a month of Pro.
  • Accounts, if you want one. Log in with Google or an emailed code. No password, and Polido still works without one.
  • A smoother first run. Start at login is offered in the welcome, practice rewrites there are free, Tab works on the practice page, and the Windows demos are slower and clearer.
  • Gmail signatures stay put. Rewriting an email in Gmail no longer drops the image in your signature.
  • Fixes. A "needs more to work with" reply stays in the panel instead of landing in your text; Ctrl+A works in Windows text boxes; the Windows practice box replaces the draft instead of adding to it; Slack lists and line breaks paste cleanly on Windows too.

0.1.107
29 Sept

Only what you selected

  • Selections in Slack stay selections. Rewriting a few words inside a longer message now changes just those words. Before, the whole message was written back, one blank line under every line. Undo puts back only your selection too.

0.1.106
29 Sept

Out of the way in the address bar

  • No pill in browser address bars. Typing a web address or a search in Chrome, Safari, Arc, Firefox or Edge no longer brings up Rewrite. Fields on web pages still have it, and Settings can turn it back on for the address bar too.

0.1.105
29 Sept

Lists that stay lists, and a panel that always comes back

  • Numbered lists in Slack. A rewritten list lands as a real list, one number per line, rather than “1. 1.” on every item.
  • The panel after sleep. Closing your Mac at the wrong moment could leave Polido with no panel and no pill until it was restarted. It now recovers on its own, and the ⌘⌘ listener is checked whenever the Mac wakes.
  • Windows: tones you can click. Clicking Casual, Neutral or Formal rewrites in that tone, the undo arrow undoes, and each tone shows its icon, as on the Mac.

0.1.104
28 Sept

Rewrite in Slack threads

  • The pill in Slack’s Threads view. Selecting text in a thread’s reply box now brings up Rewrite, right above what you selected, the same as in a channel or a chat.

0.1.103
28 Sept

A sharper icon, and a smoother first run

  • New icon. Bolder chevrons and a softer light, crisp in the Dock and the menu bar.
  • No more freeze while trying it out. On the last page of the welcome, switching the “Pretend this is” app while a rewrite was showing could stop Polido responding. Fixed.
  • Tidier animation. The ring of colour that shows a rewrite is running now always sits exactly on the panel’s edge.

0.1.102
28 Sept

A new look for the pill and the panel

  • Light, clean glass. The pill, its card and the rewrite panel have a brighter, flatter look, the same in light and dark mode. The tone picker loses its grey box.
  • You can see it working. A ring of colour turns round the panel while a rewrite runs.
  • Right where you are. The pill appears just above the end of the text you selected, or above your cursor when you double-tap, in Slack, Mail, Chrome and everywhere else. It no longer covers the text you selected.
  • More options, out of the way. The pill now reads “Rewrite” with a ••• button beside it; the options appear only when you hover the •••.
  • Choose where it shows. Settings lists the apps the pill is hidden in, so you can bring it back in any of them, or hide it in another.
  • Claude Code in Warp. Select text and the pill appears, and rewrites start about a second sooner in terminals.
  • Tidier refine. After pressing Tab, the box shows just the Return key that runs it.

Week of 21 September 2026

0.1.101
26 Sept

The pill, only when you want it

  • Select text to see it. The Polido pill no longer appears while you type. Select some text in a message, email or prompt and a “Rewrite” pill appears just above it. Click it, or double-tap your trigger key.
  • Nothing selected? Tap your trigger key and the pill appears above your cursor, lights up with each tap, and opens into the rewrite panel.

0.1.100
26 Sept

Fixed

  • The Polido pill leaves with its window. Close, minimise or switch away from the window you were typing in and the pill disappears at once, instead of lingering for a moment over whatever comes to the front.

0.1.99
25 Sept

Fixed and improved

  • Tab to refine works straight away on every paid plan. On Windows, a subscriber could be told follow-up was part of Pro until the app window had been opened once.
  • Hovering the Polido pill now shows “Rewrite”; the keys light up when you tap them.

0.1.98
25 Sept

Fixed and improved

  • Installing over a running Polido works. Double-clicking Polido in the disk image now installs it and opens the welcome even when an older Polido is already running.
  • The welcome’s prompt screen gets to the rewrite sooner.
  • The pill’s card settles smoothly instead of jumping after it appears.

0.1.97
25 Sept

Fixed and improved

  • The Polido pill shows in Slack again, and sits in the same place in every app: just outside the top-right corner of the box you are typing in.
  • Installing by double-clicking Polido in the disk image now opens the welcome straight away.
  • The welcome’s “works everywhere” screen gets to the rewrite sooner.

0.1.96
25 Sept

The Polido pill

  • A small Polido button now appears by the box you are typing in, once it has a few words. Click it, or double-tap your trigger key, to rewrite. Each tap lights one of its keys, and the rewrite panel grows out of it and goes back into it when it is done.
  • Hover over it to see what it will do in that app. You can hide it in one app, or turn it off altogether in Settings.

Also new

  • Install with a double-click. Open the disk image and double-click Polido: it copies itself into Applications, opens, and tidies the disk image away.
  • In Your writing, hover over a word it never changes and click × to remove it. It stays removed.

Fixed

  • The Team tab’s text box no longer shows its cursor after the first letter of the example.

0.1.95
25 Sept

Your language, kept

  • Portuguese stays Portuguese. Short drafts, and drafts that mix in English words (“faz o deploy do build amanhã”), could come back translated into English. Polido now recognises the language of those too, and rewrites in it.

Choosing a model

  • Haiku 4.5 and Sonnet 5 are now a simple switch, and each says what it costs: 1 rewrite or 2.

Fixed

  • What Polido has learned about your writing no longer reads “You Your…”.
  • The welcome’s “It learns how you write” page starts straight away.

0.1.94
25 Sept

Fixed

  • The panel comes back after your Mac sleeps. After closing the lid for a while, the rewrite could keep working with no panel on screen until Polido was restarted. The panel now resets itself on wake, and checks that it can actually be seen each time it appears.

0.1.93
24 Sept

Plans, made clearer

  • Choosing Sonnet 5 on the free plan takes you to Plan, instead of a greyed-out picker that did nothing when clicked. The same goes for “Use Sonnet for image and video prompts” and for pressing Tab to refine: each shows what Pro includes.
  • The free plan runs on Haiku 4.5 for every rewrite. Sonnet 5 is part of Pro.

Polido everywhere

  • Updates now come from polido.app, and help is at hello@polido.app.

0.1.91
24 Sept

Ask Twice is now Polido

  • Same app, new name. Everything you had carries over: your plan, your settings, what it has learned about your writing, and the permissions you gave it. Nothing to set up again.
  • The menu bar, windows and notes say Polido. The app may keep its old file name in your Applications folder; that is fine, it is the same app.

Refine a message, not just a prompt

  • Tab to refine now shows in Slack, WhatsApp, Mail and everywhere else, not only in AI chats. After a rewrite, press Tab and say what you want changed: “shorter”, “less formal”, “add a deadline”.

Welcome

  • The practice field on the last welcome screen already has a prompt in it, selected, so the first double-tap works straight away.
  • The examples type themselves in even when Reduce Motion is on.

0.1.90
23 Sept

It can see what you attach

  • Attached pictures are recognised far more often. With image reading on, a rewrite looks at the chat box to see what you attached, so “put this on a kitchen table” becomes “put the attached photo of the apple on a kitchen table”. It used to look at a wide strip of the window, where a thumbnail was too small to make out; it now looks closely at the chat box itself, which also costs less.
  • It asks for Screen Recording when you turn image reading on. The switch used to turn the feature on without asking for the permission it needs, so Ask Twice was missing from the Screen Recording list and pictures were never seen. The permission screen when you first set up the app now offers it too, as an optional second step, with one line on what it is for.
  • If it cannot see your attachment, it says so. When image reading is on but Screen Recording is not allowed, the panel says so once and tells you where to turn it on.

Microsoft apps

  • Outlook is treated as email, Teams as chat and Word as a document, so each gets the right kind of rewrite.

Messages and reliability

  • Occasional messages from us, such as a known problem and its fix, appear once in the app and then go away.
  • If Ask Twice crashes, it tells us where. The report says which part of the app’s own code failed, on which version of macOS. It never contains anything you wrote.

Team plans

  • Only the person who pays for a team plan can open the billing page. Everyone else on the plan is told to ask them, instead of seeing an error.
  • You can manage or cancel a subscription from the pricing page on the website, without the app.

0.1.89
23 Sept

Mentions, channels and links survive a rewrite

  • In Slack, an @mention stays a mention. Rewriting a message used to turn a mention you had picked from the list back into plain grey text, so the person was never notified. Now only the words that actually change are rewritten, and everything else in the message is left exactly as it was, mentions and #channels included.
  • Links are kept. A word you had linked keeps its link after a rewrite, in Slack and in Mail. If a rewrite rewords the linked text so there is nowhere to put the link back, the panel tells you rather than dropping it silently.

Mail replies

  • Fixed: after a correct rewrite of a reply, the app could wrongly decide the quoted thread was missing and put the message back as plain text, losing the thread’s formatting and links. It no longer does, and it will not overwrite a thread that is still there.

Three tones instead of five

  • Casual, Neutral and Formal, on keys 1, 2 and 3. With five, neighbouring tones often produced the same text, so pressing one looked like it did nothing. Each step now visibly changes the rewrite. A tone you had chosen before carries over to the nearest of the three.
  • An apology is kept at every tone. “sorry, can’t make standup” no longer loses its “sorry” at Neutral or Formal, and Formal in a chat reads like a careful colleague rather than a letter.
  • A rewrite no longer adds a greeting you did not write.

Terminals

  • Rewriting a selection in Warp works. It used to stop with “your selection was lost” even though the text was still highlighted.
  • At a shell prompt, selected text is proofread, not turned into an AI prompt. A commit message like “fixd teh mail bug” comes back as “fixed the mail bug”. Inside Claude Code, Codex or Gemini CLI it is still rewritten as a prompt.

Images and video

  • Image and video prompts typed into Gemini and AI Studio (Nano Banana Pro, Veo) now get image and video guidance, while ordinary questions there are still treated as questions.
  • Higgsfield, Kling, Hailuo, VideoFX and ImageFX are recognised.

Clearer panel and windows

  • The notes under a rewrite say Guessed, Chose or Changed instead of symbols, one per line, and wrap instead of being cut off.
  • “Your writing” shows what it has learned as one list, the same in both windows, and says which lines it noticed and which you told it.
  • Shorter explanations in Settings.
  • It no longer learns someone’s @handle as one of your words, which could make it rewrite a mention of one person into another.

0.1.88
22 Sept

A reply could delete the message it was replying to

  • Fixed, and it is the reason for this release. When a rewrite in Mail had to be undone — because it went wrong, or because you pressed ⌘Z — what went back into the field was your own line without the thread underneath it. The quoted message you were replying to was deleted.
  • It needed a rewrite to be rolled back, so it did not happen on every reply, which is how it got past a release. If you have seen a reply come back missing its thread, that was this.

When a rewrite goes wrong, it now says which way

  • A rewrite that answers the thread instead of your draft is refused, and told apart from one that came back as commentary. Measured: "thanks, that works for us", written above a job application, came back offering the applicant an interview. Nothing was written to the field, which is the right outcome, but the app used to say your draft needed more to work with. It did not, and adding to it would have made this likelier. It now says what actually happened.

0.1.87
22 Sept

Choose which model rewrites your text

  • Haiku 4.5 or Sonnet 5, and the price is on the option. Haiku is quick and handles most drafts on its own; Sonnet is stronger on long or vague ones, where there is more to work out. Each choice says what it costs: one rewrite, or two.
  • It lives on the Overview, under the bar it moves, not three panes away in Settings. When Sonnet is chosen the usage bar carries a ×2, because a number falling twice as fast as you expect reads as a bug however clearly the setting was worded when you picked it.
  • Image and video briefs still use Sonnet either way. That is where the gap is widest and they are a small share of use.

More rewrites, two ways

  • A third size: 10,000 a month. For people using this as core tooling rather than occasionally.
  • Top-ups. Running out mid-sentence is the worst moment in this app, and until now the only answer was changing your subscription, which is a decision about the next year taken at the point of maximum annoyance. Now you can buy 500 more, once, on any plan including the free one. They carry over to the following month.

You can help make the rewrites better, if you want to

  • A new setting, off unless you turn it on, shares the drafts and rewrites you keep so a future version can be trained on real writing rather than invented examples. Rewrites you undo are never sent. You can turn it off and delete everything you have shared at any time.
  • Nothing else changed about what we hold. Everything else is still a count. This is the one exception and it is named on the setting, in onboarding and on the site, because a promise that quietly stops being true is worse than one that was never made.

Fixes

  • The model menu cut off the line showing what each one costs.
  • Updates are fetched from asktwice.app rather than the old netlify.app address.

0.1.86
21 Sept

Choose the better model, and see what it costs

  • A new switch in Settings runs every rewrite on the better model, not just image and video briefs. It scores 99% against the default model's 95%, which is about one rewrite in twenty that comes back noticeably better.
  • It costs twice as much to run, so it counts as two. With the switch on, each rewrite takes two off your monthly allowance instead of one, and the usage line says so while it is on — "640 of 1,000 rewrites left this month, at 2 each". Your allowance stays measured in rewrites rather than tokens, because a rewrite is a thing you can picture and a token is not.
  • Part of Pro. On the free plan the switch names its price and stays locked.

Fixes

  • Image and video briefs were running on the cheap model in the diagnostics while the app used the better one, so the two disagreed about what had actually happened.

0.1.85
21 Sept

It knows who you are talking to

  • "hey" in a chat now greets the person by name and names what the thread is about, without agreeing to anything. Typed into a channel where somebody asked about the build, it comes back hey Goncalo, about the build — your own greeting word, their name, the subject, and no promise you did not make. It used to answer for you: "hey" became "hi, will do", committing you to work in a message you never wrote.
  • In email it stays restrained. A greeting-only reply greets by name and leaves the question open, because a commitment sitting in somebody's inbox under your name is a different thing from a line in a channel.

Fixes

  • Google Flow was being treated as a chat. Prompts written there were getting the guidance meant for conversation rather than for video and stills, so they came back plausible and mediocre. Flow shares a web address with every other Google Labs tool, and only the host was being read; the full address is now, so Flow, Whisk and their neighbours are told apart.
  • Slack messages were coming back padded. Four tight lines gained a blank line under the first, which a chat composer renders as a visibly spaced-out message. Blank lines your draft did not have are now removed before anything is typed.
  • A quoted word is no longer "corrected". he said the build is 'flakey' again came back as "flaky", silently changing what somebody else said. Quoting a person is a claim about their words, so the words inside the quotes go out as they were typed.
  • Text you typed can no longer be truncated by a control sequence arriving in the draft or in the text on screen around it.

Under it

  • The rewrite-quality suite covers the greeting behaviour, the two disclosure marks and the per-destination guidance for the first time, and re-runs the cases whose results vary rather than trusting a single sample. Thirty cases, and the two failures it found are the two fixes above.

0.1.84
21 Sept

It decides, and it tells you when it did

  • A thin prompt now comes back as a real one. "a cat" was returned as "a cat"; it is now a described shot with lighting, framing and format. "summarize this" used to come back as a question asking what you wanted summarised — typed into your own field. It now comes back as a brief.
  • When it assumes something, the HUD says so. "make a workout plan" produces a plan and a line reading assumed: four weeks, three sessions, a gym. Anything invented is named, so you can see the guess and throw it away. Silent invention is the thing this release refuses.
  • It never asks you a question instead of rewriting. Not once, in any mode.
  • Messages are left alone as before. The licence to invent applies to briefs you are sending a model, not to a note you are sending a person. A Slack line still comes back a Slack line, and a draft that was already fine still comes back untouched.

Fixes that were losing work

  • Undo in a Mail reply restored your draft over the top of the rewrite, leaving a third version above the thread. It also ran on the keyboard listener's own thread, which is why it would sometimes miss entirely.
  • A multi-line rewrite in Notion could land underneath your text instead of replacing it, leaving two copies.
  • Rewriting a selection replaced the first matching text in the field rather than the text you had actually selected.
  • Claude's composer could have "Type / for commands" typed into it as literal text on an undo or a re-roll.
  • A slow app could hang a rewrite indefinitely. Accessibility calls now time out.
  • Reduce Transparency is honoured: the HUD becomes an opaque sheet instead of glass.

Insights

  • Where you rewrite, counted properly and for as long as you use the app, with each app's share of the total. In a browser it names the site, so a prompt to ChatGPT and a reply in Gmail are separate rows rather than both being "Google Chrome".

Week of 14 September 2026

0.1.83
18 Sept

The name is usually at the bottom of the message, not the top

  • A reply is greeted by name far more often. 0.1.82 read the name from the attribution line — "On 18 Sep 2026, at 12:03, Marcus wrote:". Mail writes the sender's address there whenever they have no display name set, which is most of the time, so most replies still came back bare. The name is now also read from the end of the message being answered, which is where people actually put it.
  • Only the message you are answering is read, never the older ones under it. A closing is not a name: a message that ends "Thanks" ends with nothing to greet anybody by.
  • A follow-up to your own message no longer greets you by your own name. Reading the signature made that reachable for the first time — the name at the bottom of your last email is yours.
  • Unchanged: where no name can be read, nothing is added, and a note with no conversation behind it stays as bare as you wrote it.

0.1.82
18 Sept

A reply is addressed to the person you are replying to

  • "let's do tuesday my time" now comes back as a whole message — opening with their name, answering in your timezone, and signed with yours. Previously it came back as a bare line, because a rule against inventing greetings could not tell the difference between guessing at a name and reading one.
  • The name is read from the thread, never guessed. "On 18 Sep 2026, at 12:03, Marcus wrote:" is Marcus, stated. An email address is not a name, a company's legal name is not a name, and where nothing can be read nothing is added: a greeting addressed to the wrong person is worse than none.
  • Unchanged everywhere else. A note with no conversation behind it stays exactly as bare as you wrote it, which is what the original rule was protecting and still does.

0.1.81
18 Sept

A reply can finally see what it is replying to

  • Replies were being rewritten with the conversation removed. Telling your own writing apart from the quoted thread was the right fix, and it had a hole in it: the thread was split off and then thrown away, and nothing put it back. Since that change, a reply reached the model with no idea what it was answering. It now travels with the draft, newest message first, which is the end of a mail thread that matters.
  • And the reply uses it. "Let's do Tuesday my time", under a message offering Tuesday morning London time, used to come back as "Tuesday morning your time works well" — agreeing to the wrong slot, in the wrong timezone, with an invented greeting and an invented promise to send a calendar invite. It now names your timezone, points out that it is a different slot from the one offered, and asks which works.
  • Facts from the thread only. It can tell you that 9:30 in New York is 14:30 in London because both of those are in the conversation. It will not invent a commitment you never made.

0.1.80
18 Sept

A reply keeps its thread, exactly as it was

  • Rewriting a reply used to replace the whole message. Your line was correctly told apart from the conversation below it, but putting the rewrite back meant writing the entire body again — and the quoted thread reaches the app as plain text, so it went back as plain text. The coloured bar went with it, and so did every link inside it.
  • Now only your own lines are touched. Apple Mail will not say what you have selected — it publishes neither the selected text nor its position — so the app puts the cursor at the top itself and extends the selection over exactly the paragraphs above the quote. The thread is never selected and never pasted, so nothing about it can change.
  • Undo the same. It used to put the whole body back, which would have flattened the thread even when the rewrite had not. It now restores just your lines, and checks the conversation is still intact afterwards.

Verified on a real reply: 45 characters rewritten above 7,116 characters of quoted thread, with the thread untouched through both the write and the undo.

0.1.79
18 Sept

Replies in Mail go through

  • "Your selection was lost", on every reply. A safety check written for Notion was refusing the write. Notion turns a pasted line break into a new block and adds it after your text instead of replacing it, so the app clears the block first — and before pressing delete it confirms that what is selected really is what it is about to replace.
  • Mail cannot answer that question. Its message body does not report a selection at all, so the check could never pass, and a guard written to prevent an unverified delete was refusing a paste that was never in doubt.
  • It now skips the delete and writes anyway. The dangerous keystroke is the one that is skipped when it cannot be verified; replacing the text does not need it. Notion still gets its cleared block, because Notion does report the selection.

0.1.78
18 Sept

Mail replies work, and the learning setting says what it does

  • "This field wouldn't accept the rewrite", on every reply. Splitting a reply from its quoted thread needs the full contents of the field to put the rewrite back into. Mail does not report its body the ordinary way — the text has to be read from the message view instead — so the app was looking for your draft inside an empty string and giving up. It now reads both from the same place.
  • The learning setting no longer claims your drafts never leave. They do, and only for this: building the profile needs a model, so every so often a batch of recent drafts is sent to be summarised into it. They are not stored and only the profile comes back, which the service was already doing correctly — the sentence in Settings simply did not say so. The same correction is on the site.

The profile itself is still kept on your Mac, still readable in full, and still deletable with one button.

0.1.77
18 Sept

Selections again, and a fault that could have replaced a whole document

  • "Your selection was lost" on every rewrite in Apple Mail. The check asking whether your selection was still there compared it against the entire contents of the field. A selection is part of a field, so that comparison could never be true, and every selection rewrite fell into the recovery path.
  • The recovery was the dangerous half. Failing to find the selection, it searched the field for the whole field, found it, and selected all of it. Where an app accepted that, the rewrite of one sentence would have been pasted over the entire document. Undo would bring it back, but nobody should have to use it for that.
  • Both now compare against the selected text. The path that writes directly always did this correctly, which is why it only ever went wrong in apps that cannot take a direct write: Mail, Notion, terminals.
  • A reply in Mail is also no longer treated as a selection at all. It is part of a field with nothing highlighted, which is a different thing, and it gets its own path.

0.1.76
18 Sept

"Left it alone" now means it leaves it alone

  • That phrase is meant to be a note, not a rewrite. When the model decides a draft needs nothing, it is supposed to say so in the small summary beside the tick and send the text back untouched. Occasionally it put the words in the rewrite instead — and a Notion page of three sections was replaced by the sentence "Left it alone."
  • It is now read as what it means. The draft stays exactly as you wrote it and the panel reports done. Previously it was treated as a fault: a second request spent asking again, and an error shown about a rewrite that had never been wrong.
  • If your message genuinely is "no changes needed", it gets rewritten like any other message. The signal is only the whole reply being that phrase when your draft was something else.

0.1.75
18 Sept

A better-looking install window

  • The warm background had rings in it. A wide, soft gradient in eight-bit colour quantises into flat bands, and a large smooth ramp is exactly where the eye finds edges that were never drawn — it read as a compression artefact rather than a background. It is dithered now, which costs nothing and removes them.
  • The arrow is the mark. Ask Twice is named for a pair of chevrons, and the window was using a generic arrow: it said "move this to the right" and threw away the other half. Three chevrons now rise in weight from left to right, the same shape on the icon being dragged, so the direction and the brand are the same gesture.

0.1.74
18 Sept

A reply rewrites what you wrote, not the thread under it

  • Apple Mail keeps your reply and the whole conversation in one text field, with the quoted messages below what you are writing. Nothing separated them, so a rewrite took your two lines together with every previous message and returned a rewrite of all of it. Selecting your own text first did not help either: the selection is gone by the time the answer arrives, and the whole field is what got rewritten.
  • The boundary is now found where the mail client announces it — "On <date>, <name> wrote:", a line beginning with ">", Outlook's original-message banner, and the same forms in Portuguese, Spanish, French, German and Dutch. Everything above it is yours and gets rewritten; everything below is the thread and is left exactly as it is.
  • Conservative on purpose: where no boundary is found, nothing changes from before. Missing one costs you the behaviour you already had, while inventing one would cut a sentence in half. "On Tuesday I will send the invoice" is not an attribution line.
  • And an error that needs two lines gets two lines. The box was fixed to one and truncated the rest, so a message explaining what to do next stopped before the part telling you what to do next.

0.1.73
18 Sept

It writes the prompt instead of thinking out loud at you

  • "Hello, I need you to build a workout app" came back as nine paragraphs of deliberation — what the ambiguities were, whether expanding was warranted, a note about matching your voice — with the actual rewrite at the bottom. That is the model's private reasoning, typed into the box you were about to send from.
  • None of the three guards saw it. No known phrase appeared; every word of the draft was present, so the test that measures how much of your draft survived was satisfied; and the length test does not apply where expanding is the job. What gives it away is vocabulary that exists nowhere but in our own instructions, and that is now caught.
  • And it no longer interviews you. The same draft sometimes came back as five numbered questions asking which platform and whether accounts were needed. Where a detail is genuinely missing, it now makes the ordinary choice and writes it in: you can change a word you disagree with far more easily than you can answer five questions.

Measured across 2,530 recorded rewrites. The phrases now caught appear in 17 of them, and every one is this failure — it has been happening since long before it was reported.

0.1.72
17 Sept

The panel comes back after your Mac has slept

  • Reported: a Mac left running overnight woke up rewriting perfectly and never showing the panel again, until Ask Twice was quit and reopened.
  • The panel is placed against a remembered anchor and the screens attached at the time, and both can be wrong on the other side of a sleep: a display still asleep, a monitor unplugged, a different arrangement. When no screen could be matched, the code positioning the panel gave up and returned — but the panel was ordered to the front anyway, at whatever position it last had. On a screen that is gone, that is a panel nobody can see, which from your side is identical to a panel that never appeared.
  • Two changes. Waking from sleep, and any change to the display arrangement, now throw away what the panel remembered about where it sat, so the next rewrite works it out fresh. And if no screen can be matched at all, it is placed on an attached one rather than left where it was: somewhere visible beats somewhere correct-looking and gone.

Restarting the app cleared it, which is what pointed at state held in the app rather than in the system. The panel now also records where it landed, so a recurrence can be read rather than guessed at.

0.1.71
17 Sept

The usage tally now says which app and which kind

  • What is always sent has grown by two categories. Alongside how many rewrites finished and how many you undid, the tally now carries which app the rewrite happened in and which kind it was — chat, email, document, prompt. Categories and counts, never text, and nothing about when you wrote.
  • Why: which app a rewrite fails in, and which kind needs the work, were previously answerable only for people who had opted into detailed sharing. That is a sample chosen by willingness to share rather than by how the product behaves, which is the wrong sample for deciding what to fix.
  • The optional part is now the part that describes you rather than the product: how many words in and out, which register, how long it took. The setting says exactly that, and everything queued is still deleted the moment you turn it off.

No drafts, no rewrites and no text of any kind leave your Mac, as before.

0.1.70
17 Sept

Lists stay lists, and a clause keeps the spaces around it

  • A list written one item per line came back as one sentence. "quick update / auth is done / payments still blocked / nothing else changed" was joined into a single comma-separated line, every time. The protection added for paragraphs only counted blank lines, so the ordinary way anybody writes a quick list in chat had nothing behind it at all. Line breaks you write are now kept whether or not there is a blank line between them.
  • A rewritten fragment no longer welds onto the words around it. Rewriting a clause selected from the middle of a sentence trimmed the spaces at its edges, so it came back joined to its neighbours. The spaces are part of where it sits, and they are put back.
  • "Sorry" is not padding. A message reading "we're not going to make Friday, the integration is worse than we thought, sorry" came back without the apology. An apology, a thank-you and a hedge are the ones most often cut for looking like filler, and they change what the person reading it hears.

Measured across 361 drafts, twice each, judged by Claude Sonnet: the rewrites hold their shape run to run, and the fragment and apology fixes pass on every repetition.

0.1.69
16 Sept

Tightening no longer loses what you were saying

  • A message that stated a requirement and then asked a question came back as the question alone. "It needs to be in the e556 branch and in all the branches after that" — the constraint the message existed to communicate — was cut as preamble, leaving a clearer question that no longer told anyone the requirement.
  • Every rule here guarded against adding things. None guarded against losing them. The check for invented facts asked whether everything in the rewrite came from your draft; there was no matching question about whether everything in your draft survived. So invention was fenced in from every side and omission had no floor at all, and "tighten it" could take a whole sentence with it.
  • Cutting filler is still the job. A constraint, a scope, a condition, a number, a name, a deadline or a caveat is not filler: it is the reason the sentence holding it was written. A shorter message that has lost one is not a better message, it is a different one.

Measured across 180 drafts: unchanged at 90.8%, so the rewrites are no more timid than before — they simply keep what you meant.

0.1.68
16 Sept

Notion replaces your text, including rewrites with headings and bullets

  • Line breaks were the whole problem. A one-line rewrite replaced your text correctly. A rewrite with a heading and bullets did not — Notion reads pasted line breaks as new blocks, and rather than replacing what you had selected it kept your paragraph and added the blocks underneath. The same rewrite, in the same place, worked or failed depending only on whether it had more than one line in it. A multi-line rewrite now goes into an emptied block, so there is nothing left for it to be added to.
  • And it stopped claiming the field refused a write it had accepted. When Notion splits a paste into blocks it destroys the block being written to and builds new ones, which left the app checking a handle to something that no longer existed — reporting "this field wouldn't accept the rewrite" while the rewrite sat on the page. It now checks what is actually in front of you.
  • The clear is guarded: it happens only when what is selected is exactly the text being replaced. If it is not, nothing is deleted and nothing is typed.

0.1.67
16 Sept

Notion replaces your text instead of writing underneath it

  • The select-all was always working. It just had not finished. Notion cannot accept text directly — it reports success and does nothing — so a rewrite is pasted over a select-all instead. The app waited 120 milliseconds for that selection to exist. Measured, it needs closer to 200: a web editor routes the keystroke through a renderer and its own document model first. The paste was arriving while nothing was selected yet, so it went in at the cursor, which is the rewrite appearing below your paragraph. It now waits 250ms, above the figure actually observed to work.
  • Undo checks whether it worked. Its result was being thrown away, so a failed undo was silent — and a failed undo is your own writing gone. It now settles, verifies, and tries once more; if it still cannot, your original is on the clipboard and ⌘V brings it back.
  • And every select-all now waits for the editor to be idle first, rather than for a fixed number of milliseconds. Two identical reads a beat apart mean the editor has finished applying the last change; sending a select-all before that selects nothing at all.

Verified against a live Notion block: five write-and-restore round trips, each one replacing the text and putting it back exactly. The rewrite costs about a third of a second there, which is the price of an editor that will not take a direct write.

0.1.66
16 Sept

You no longer watch a wrong answer type itself out

  • The check now runs while the text arrives. When the model answers instead of rewriting, that was only noticed once the whole reply was in, so the paragraphs appeared in your message box and were then taken away again. Correct, and horrible to watch. Length is the part of the check that works on a half-finished answer, because it only grows: once forty words have arrived in reply to a two-word draft, nothing that follows can make it a rewrite, so it stops there.
  • And a very short message is no longer typed out live at all. There is a gap the check cannot cover: a short draft's honest rewrite is shorter than the point at which a wrong one becomes recognisable, so anything appearing in the field got there before anything had judged it. Those are now written once, complete, after the check has run. It costs about a second of typing animation on a message that was short to begin with.
  • Prompts are untouched: turning a few words into a paragraph is the whole point there, and watching it happen is most of what makes it feel immediate.

0.1.65
16 Sept

A two-word draft can no longer come back as four paragraphs of advice

  • What happened. "fix this", typed in Slack, came back as several paragraphs explaining that "fix this" was too vague and suggesting what to say instead — written straight into the message box. The guard that exists to stop exactly this could not see it. It has two halves: a list of known narration phrases, which did not know these wordings, and a test that measures how much of your draft survived into the result. A two-word draft has almost no vocabulary to measure, and the reply quoted "fix this" back, so that test scored it a perfect rewrite.
  • Length is now the third test, and it needs no vocabulary at all. A chat message of two words does not become forty. Whatever those forty words are, they are not your message, so they are thrown away and the rewrite is asked for again.
  • Only where expansion is never right: prompts are meant to grow from a few words into a paragraph, and an email is meant to grow into a note with a greeting on it. Both were checked against every recorded rewrite to make sure neither gets caught.

0.1.64
16 Sept

A rewrite that lands beside your text is caught and undone

  • Why this kept coming back in Notion. Where a field will not take text directly, the rewrite is pasted over a select-all. When the select-all misses, the paste goes in at the cursor — the rewrite appears below your paragraph instead of replacing it. The check that was supposed to catch this only ever asked whether the rewrite was on screen, and it is on screen either way, so every one of these was verified as a success. Twice it was "fixed" by guessing at why the select-all missed.
  • The outcome is now what gets checked. If your draft is still there with the rewrite next to it, the field is put back the way it was and the app says so, rather than leaving two versions of a paragraph in your document.
  • And it should miss far less often. A web-based editor routes the select-all through a renderer and a JavaScript editor before the selection exists; the app now waits for that rather than assuming a text field's timing. Undo sends the same two keystrokes and had the same flaw, so it would have put your original back beside the rewrite in exactly the apps this matters in.

0.1.63
16 Sept

The menu-bar menu was disconnected from the app

  • Every launch quietly broke it. The menu is rebuilt a moment after start, once the app has checked in with the service — and the rebuilt menu was assigned without its delegate, so from a few seconds into every session onwards the app was never told the menu had been opened. Everything hanging off that stopped: your remaining rewrites stopped refreshing when you opened the menu, and the usage count, whose only route off the Mac was that same moment, was never sent at all.
  • Nothing was lost. The count is only cleared once the service has taken it, so every rewrite already counted on your Mac is still there and goes out on the first flush after updating — which now happens at launch, so simply opening the app is enough.
  • There is one place that puts a menu on the status item now, and it attaches the delegate itself, so a future rebuild cannot drop it again.

0.1.62
16 Sept

Usage counts actually leave the Mac

  • The rewrite tally was only ever sent when you opened the menu-bar menu. That was a reasonable rule when all of this was opt-in and nothing was sent unless you went looking for it. It stopped being reasonable once the plain count of rewrites became the part that is on for everybody, because the people that count describes are precisely the ones who never open the menu: they press the shortcut and carry on with their day. So a Mac could be used all week and report nothing.
  • It now goes at launch, every half hour, and on quit — as well as when the menu opens. Still never on the rewrite itself, which is the one moment this app will not spend time on anything else.
  • Nothing was lost. The tally accumulates locally and is only cleared once the service has taken it, so every rewrite already counted on a Mac is still there and arrives with the first flush after updating.

What is in that tally is unchanged: how many rewrites finished and how many were undone. No text, no app names, no times. The detailed events remain off unless you switch them on.

0.1.61
16 Sept

Separate topics stay separate, whatever their length

  • Short blocks are still blocks. 0.1.60 kept the blank lines in a message whose paragraphs were full sentences, and ran them together when they were brief — "shipped it. / need review. / thanks" came back as one line every time. Two rules were arguing: one said keep the writer's blocks, and the one below it said a couple of short sentences run inline. Which won depended on how long your paragraphs happened to be, which is why it worked some days and not others. The second rule now decides the shape of a message that arrived as one run, and nothing else. Length is not what makes a topic a topic.
  • And it is now checked, not just asked for. Whether three paragraphs come back as three paragraphs is a count rather than a matter of taste, so it no longer depends on judgement: if the blocks come back merged, the rewrite is rolled back and run again with the number stated. Same one-shot allowance as the existing retries, so it costs a moment in the rare case and nothing at all the rest of the time.
  • Unchanged in the other direction: a message you wrote as one run still comes back as one run. Documents and emails are untouched — imposing structure is the whole job there.

Measured across eleven multi-topic drafts, four runs each: the wording alone holds the shape in 45 of 48, and the check catches the rest.

0.1.60
16 Sept

Messages keep the shape you gave them

  • Separate topics stay on separate lines. A Slack message written as three paragraphs — one about an order, one about the server, one about the client — came back as a single line with the three subjects interleaved. The rule behind it said chat has no paragraphs, which was written to stop a single thought being padded out into fake ones. It was being read as licence to flatten structure you had put there deliberately. Blank lines you write are now kept, and so is the order of what they separate; breaks you did not write are still never invented.
  • And the order of your topics is yours. Rearranging them is not tidying — you led with what mattered to you. A blocker buried at the end can still come forward, which is the one exception and the only one.
  • It can no longer answer instead of rewriting. A document of three sections came back as the words "Left it alone." — the model saying what it had decided, into the document, replacing the text. Whatever comes back is what replaces your writing, so there is no room for a remark about it. Two things changed: returning a draft unchanged now means printing it again in full, and a short reply that shares not one word with what you wrote is caught and retried before it can reach the page.

0.1.59
16 Sept

Two fixes in the Plan tab

  • A pasted licence key stays inside its field. The field was sizing itself to whatever was typed into it, so a key longer than the row ran straight past the box that was supposed to hold it. It scrolls within the field now, the way every other single-line field on the system does, and the Activate button keeps its place.
  • Your remaining rewrites are current when you open the window. The figure was a cached one, refilled only by your own rewrites, by opening the menu-bar menu, or by relaunching the app — this window read it and never asked for a newer one. On a shared licence that is wrong more often than right, because somebody else's rewrites spend the same monthly allowance and nothing here had any reason to notice. Opening the window, and switching to Overview or Plan, now asks the service. The last known figure is painted first so there is never a blank line waiting on the network.

0.1.58
16 Sept

Rewrites stay in the language you wrote them in

  • A German email no longer signs off in English. A note ending "vielen dank, pedro" was coming back signed "Kind regards", about one run in two. The prompt carried four English closings and a sentence underneath explaining that they were for English drafts only. Four concrete words beat one abstract correction, every time. They are now simply absent unless you are writing in English — the model cannot reach for a closing it was never shown.
  • Your own closing survives, whatever the register. "gracias" was becoming "Atentamente", "dziękuję" was becoming "Pozdrawiam". Choosing a more ceremonious sign-off on your behalf is a correction nobody asked for, so the rule that reuses the one you wrote now outranks the rule that adds one, and adding is switched off entirely for a draft that already has a closing.
  • No name gets added to an email that never had one. A two-sentence note came back with a signature under it, turning a quick message into a signed letter. Short emails are no longer told who you are, so there is no name available to append.
  • Casual "please" stays casual. A Spanish message lost its "porfa" and came back reading like an order. Cutting the run-up to a request is the job; the polite word attached to the request is the register, and it stays — in your language, in whatever clipped form you typed it.

Measured across 34 drafts in 26 languages, three runs each, judged by Claude Sonnet: 88.9% to 98.5%, with run-to-run variance down from 5.6 points to 2.9. The same draft now comes back the same way twice.

0.1.57
16 Sept

Documents actually arrive formatted

  • The formatting was never being sent. A rewrite with a heading and bullets was put on the clipboard as plain text — literally "## Meeting notes" — and whether it came out looking like a document depended entirely on whether the receiving app chose to interpret the hashes itself. Notion does that sometimes and not others, which is why the same rewrite formatted nicely one minute and not the next. It was never us doing the formatting. The rich version now travels with it, so a heading is a heading and a list is a list wherever it lands.
  • And the title is a title. Headings were mapping one level too small, so the single title a note gets arrived as Notion's smallest heading — barely larger than the text under it. It now takes the largest.
  • Unchanged where it should be: plain rewrites still go across as plain text, and terminals never receive formatting at all.

0.1.56
16 Sept

Selecting everything is the same as selecting nothing

  • The same note gave two different answers depending on whether you had selected it. Untouched, a Notion note came back as a heading and three bullets. Selected first, it came back as one flat line. A selection is normally a fragment pulled from the middle of something longer, and the instruction that handles it says to keep the text fitting its surroundings — which a fragment with no surroundings still obeys, flattening the structure. Selecting the whole thing is now recognised as what it is: a request to rewrite the whole thing.

Setup

  • The practice example for Claude was a request for a logo — an image brief under the icon of a tool that does not make images, which is exactly the mistake this product exists to stop. It is a thin coding question now, which is what people actually type there.

0.1.55
16 Sept

Two different questions, two different answers

  • A count of rewrites is now always sent, and it really is just a number. "Three finished, one undone", added to a total that already has everybody else's in it. Nothing in it says who you are, what you wrote, which app you were in or when. There was no honest reason to ask permission for that, and leaving it off meant a product nobody could tell was being used.
  • The detail stays a choice, and the setting now says what it is. Which app, which register, how many words, whether you kept it: no text, and still a description of how you work. Knowing that Slack is where rewrites get undone is worth a lot and is not ours by default. It is now called "Share which apps you use it in", because that is the part you are actually being asked about.

0.1.54
16 Sept

Smaller

  • The three install steps are gone from the foot of the website. The app moves itself to Applications and asks for the permission it needs when it needs it, so a numbered list telling you to do both was describing work the product already does.
  • A Mac can be kept out of the outcome counters entirely, whatever the setting says: defaults write io.voltgames.asktwice analyticsExcluded -bool true. Development rewrites are evidence about what was being debugged that afternoon, not about how the product behaves, and mixing them in makes every number worse while making them look bigger.

0.1.53
16 Sept

Crash fix

  • Rewriting an email crashed the app, every time. The check that stops an email losing its sign-off looked for the closing word in a lower-cased copy of the text and then used the position it found to read from the original — and a position in one string means nothing in another, so the app stopped dead rather than reading the wrong thing. It fired on any email whose last line contained "thanks", "best" or "regards", which is most of them. Introduced in 0.1.44 and live since.

A rewrite could come back scrambled

  • Fixed a race that reordered text inside a rewrite. The streaming reader handed the network delegate its output channel before flushing what had already arrived, so a chunk landing in that one-line window could overtake buffered text. The result is a rewrite where every word is present and some of them are in the wrong place — a Portuguese message came back as "ando o arquivo mais tarde,Oi, m beleza?", which is the correct sentence with its first five characters moved into the middle. The same draft was perfect on the previous attempt, which is why this reads as the model being flaky rather than as a bug. It was ours.

What the app reports about itself

  • Undone rewrites are now recorded. The code to record them existed and nothing called it, so "went well" really meant "finished" — a rewrite you immediately reversed counted as a success. Failures were not recorded either, so the one half worth measuring was invisible. Both now count, for anyone who has turned the setting on.

Notion

  • A rewrite could be added after your text instead of replacing it. Replacing a whole field is two keystrokes — select all, then paste — and the check that the right app is still in front ran only before the first one. Anything taking focus in the gap meant the select-all was swallowed and the paste landed at the cursor. It now checks again between the two and refuses rather than pasting, so the worst case is a message saying nothing happened rather than text nobody asked for in the middle of a document.

0.1.52
16 Sept

Crash fix

  • Rewriting an email crashed the app, every time. The check that stops an email losing its sign-off looked for the closing word in a lower-cased copy of the text and then used the position it found to read from the original — and a position in one string means nothing in another, so the app stopped dead rather than reading the wrong thing. It fired on any email whose last line contained "thanks", "best" or "regards", which is most of them. Introduced in 0.1.44 and live since.

A rewrite could come back scrambled

  • Fixed a race that reordered text inside a rewrite. The streaming reader handed the network delegate its output channel before flushing what had already arrived, so a chunk landing in that one-line window could overtake buffered text. The result is a rewrite where every word is present and some of them are in the wrong place — a Portuguese message came back as "ando o arquivo mais tarde,Oi, m beleza?", which is the correct sentence with its first five characters moved into the middle. The same draft was perfect on the previous attempt, which is why this reads as the model being flaky rather than as a bug. It was ours.

What the app reports about itself

  • Undone rewrites are now recorded. The code to record them existed and nothing called it, so "went well" really meant "finished" — a rewrite you immediately reversed counted as a success. Failures were not recorded either, so the one half worth measuring was invisible. Both now count, for anyone who has turned the setting on.

0.1.51
16 Sept

Fixed

  • The glow was drawing as an orange slab beside the panel, not a halo around it. Two mistakes in one: it carried a background fill so the shadow had something to cast from, and it was positioned by hand at a guessed offset that is only correct for one of the two panel layouts. It is now drawn inside the panel itself, so its position is the panel's own bounds and cannot disagree with them, and it is completely transparent — only the halo shows. Same timing, quieter.
  • The install counter was counting rewrites. It was incrementing on every save of an install record rather than when a Mac first registers, so one enthusiastic user would have read as a hundred installs. It now counts registrations only.

After setup, it says it is running

  • Finishing the setup flow closed the window and said nothing. For a menu-bar tool with no Dock icon at rest, that is the moment it becomes invisible — somebody who has just been taught one keystroke is left looking at whatever was behind the window. The panel now appears at the bottom of the screen with the keystroke and a marigold highlight: the same object they will see during a rewrite, introduced once rather than simply appearing.
  • Only when you finish. Closing the window early is somebody leaving, and following them out with a notice would be not taking the hint.

0.1.50
16 Sept

Your sign-off is the one you wrote

  • A Spanish email signed "gracias" came back signed "Cordialmente". Correct Spanish, more formal, and not what the author chose — which makes it a correction nobody asked for rather than a rewrite. The rule that a closing already in the draft is reused now covers the case that was slipping through: a closing buried at the end of a run-on line, where the whole email was typed as one sentence. Moving it onto its own line is formatting and is right; changing the word is not.
  • Measured across nine languages, two runs each: 83% to 94%. Spanish went from failing both runs to passing both. German still reaches for "Kind regards" in about one run in two, so that one is not finished.

Under the hood

  • A paragraph explaining our own past mistake had ended up inside the instructions sent to the model, where it was spending tokens on every rewrite describing a table that no longer exists. Design notes belong in the source; the model gets instructions.

0.1.49
16 Sept

You can cancel

  • The Plan tab now has "Manage or cancel subscription". There was no way to cancel at all. Subscriptions renew automatically, the service has always known how to handle a cancellation, and nothing a customer could reach ever caused one — so the only routes out were emailing us or calling the bank. The button opens Stripe's own billing page, where you can cancel, change card or download invoices.
  • The Plan tab also says plainly that subscriptions renew and can be cancelled at any time, before you buy rather than after.

The panel shows when it is working

  • A marigold glow while a rewrite is running, breathing slowly, gone the moment the tick appears. A spinner and a line of text are easy to miss beside something you are already reading; colour answers "is it doing anything" before anything is read. Held quiet on purpose: it is state, it lasts exactly as long as the work does, and reduced motion gets the glow without the movement.

Under the hood

  • The shipped app can no longer read an Anthropic API key. The eval and benchmark tools talk to the model directly so a test run is not billed to anybody's allowance, which means they need a key — and that code was compiled into the app everybody downloads. Nothing ever put a key there, but the capability existed, and a capability that is never meant to run on your Mac should not be on it. Those tools are now excluded from release builds entirely.
  • Closings in other languages are no longer replaced with English ones. A table of register-matched closings — Cheers, Thanks, Best, Kind regards — was being applied whatever language the draft was in.

0.1.48
16 Sept

Other languages, now measured rather than assumed

  • An eighteen-case test set across nine languages — Portuguese, Spanish, French, German, Italian, Dutch, Japanese, Chinese and English — covering email, documents, chat and prompts, judged by Claude Sonnet 5. The suite had three non-English cases before, all Portuguese, all chat.
  • It found the real cause of the English replies. The email rules carry a table of closings matched to register: Cheers, Thanks, Best, Kind regards. Those are English words, and nothing said so — so a Portuguese email signed "obrigado" came back signed "Kind regards", and so did a German one signed "vielen Dank". A specific prescriptive table beats a general rule about keeping what the draft had. The table is now explicitly English-only, and only ever for adding a closing that is missing rather than replacing one that is there.
  • Measured before and after on the same suite: 77.8% to 88.9%. Chat, documents and prompts score 100%; email is the weak one at 78.6%, and Spanish and German closings are still the cases that fail. The English suite is unchanged at 83.9%, so none of this was bought by trading away what already worked.
  • Capitalisation is no longer applied to scripts that have no capitals. The rule added for formal writing said "capitalise the first word of every sentence", which is an instruction about the Latin alphabet dressed as a general one. It would have been sent with every formal Japanese, Chinese, Korean, Arabic and Hebrew draft. It now checks the draft's own characters rather than a list of languages.

0.1.47
16 Sept

It writes back in the language you wrote in

  • A Portuguese email came back in English. The rule that the draft's language decides the output has been there since the prompt was written, and it kept losing: the profile describing how you write is a paragraph of English appended after it, and a rule competing with that is a judgement call. Your Mac now works out which language the draft is in and the prompt is told, as a fact rather than a preference. It says nothing when the draft is too short to be sure, because a wrong guess here would instruct a translation.
  • Sign-offs in other languages are protected too. The check that stops an email losing its closing only knew English words, so "obrigado, Pedro" was invisible to it. It now knows the Portuguese, Spanish, French, German and Italian closings as well.
  • A greeting you wrote is kept as you wrote it. "Bom dia" came back as "hi mariana and joana" — names taken from the message header and put into a greeting that had deliberately not named anybody. Knowing who a message is addressed to is not permission to greet them.

Image prompts say how the image is framed

  • Ask for an app icon and you should get an app icon. Generators decorate when they are not told not to: rounded corners, a margin, the icon floating on a background. Asking for an "app icon" already means full bleed, square corners, no padding and no device mock-up — obvious to the person asking and invisible to the model. The rewrite now says it. Thumbnails, banners and wallpapers get their aspect ratio stated; stickers get the opposite, because a cut-out genuinely does want a transparent margin.

0.1.46
16 Sept

Claude Code in Warp works again

  • It can rewrite the input line of a full-screen terminal program with no selection. Claude Code, vim, anything that draws its own input box: the terminal hands the mouse to the program, so there is no selection for the terminal to give us however clearly the text is highlighted. Reading the line off the screen is the only channel left, and it is back.
  • Why it was gone: it once cleared an input and failed before pasting, leaving an empty box and a lost prompt. That was fixed at the same time it was switched off — the clear is confirmed twice before anything is pasted, the paste is confirmed by reading the screen back, and every exit in between restores what it deleted. It still works out where the prompt is rather than being told, which is why Settings has a switch for it.

You can help improve the rewrites, if you want to

  • A new setting, off unless you turn it on. It sends the shape of each rewrite: the app, the mode, the register, how many words went in and came out, how it ended, and whether you kept it. No drafts, no rewrites, no window titles, no text of any kind — there is no field in what gets sent that could carry a word anybody typed, and the server drops anything it does not recognise rather than trusting the app.
  • It sends when you open the menu, never during a rewrite. Turning it off deletes whatever was queued, and "Forget everything" clears it along with the rest.

0.1.45
16 Sept

Searches are prompts now

  • It works in the address bar and in Google, Bing and DuckDuckGo. These were on the never-touch list because rewriting a web address sends you to a page that does not exist. But a search is not an address, and a thin query is exactly what this improves. The text decides: anything with a scheme, a bare domain, or a path is left alone and says so, and everything else is treated as the prompt it is.

Fixed

  • "This field wouldn't accept the rewrite" in Notion. A different write path from the one fixed yesterday, failing for its own reason: Notion renders what you paste, so ## Meeting notes becomes a heading whose text is "Meeting notes", and a check comparing raw characters could never match. Both paths now share one check that reads either channel and forgives the markdown and curly quotes a host is entitled to apply.
  • The greeting appears at the bottom centre of the screen, rather than tucked under the menu bar icon on top of whatever window was there. It carries the one keystroke worth remembering, so it belongs in front of you.
  • A terminal that says you have no selection now says what to do about it. In a full-screen program the terminal hands the mouse to the program, so the highlight belongs to that program and the terminal has nothing to copy — which is why it could fail with the text plainly selected. Holding ⌥ while selecting takes the selection back, and the message says so.

0.1.44
16 Sept

Two crashes, both mine, both from yesterday

  • A rewrite that needed a second attempt took the app down. The retry added in 0.1.42 ran from the streaming task's background thread and reached straight into AppKit window ordering, which traps rather than raising an error — so the process simply vanished mid-rewrite. The guard now sits at the function every one of those paths goes through, which is where the equivalent guard for failures already was, with a note saying it was put there because the next person to add a path would not know. It was right.

It no longer types its own notes into your document

  • A Notes title reading "hey guys" came back as "left it alone". Every rewrite ends with a short list of what changed, which the app strips off before writing. When the model sends that list and no rewrite, the stripping left the list behind and typed it into the field. An empty rewrite means the draft was already right, so the draft now stays exactly as you wrote it and the panel says so.

Sign-offs and capitals, properly this time

  • A one-line email signed "Cheers, Pedro" still lost the name. Yesterday's check only looked for a name on its own line, so an email written as a single paragraph went straight past it. It now looks for the closing word itself — cheers, thanks, best, regards — anywhere at the end. Checked against 1,721 recorded rewrites: 34 drafts match, none falsely.
  • Formal documents are capitalised. The rule was there and the profile beat it: a learned habit of writing in lower case is appended after the general rules, so it read as the more recent instruction. The instruction now goes last, where it says plainly which preference it overrules and that nothing else about your voice changes.

0.1.43
16 Sept

Updating no longer replays the setup flow

  • An update is not an install. Onboarding is tied to the build that is running, which is right for a reason that is easy to miss: preferences outlive an app bundle, so a plain "already seen" flag means a fresh install of something you once tried silently skips the introduction. The cost was that Sparkle changes the build string too, so every automatic update replayed the whole flow at somebody who had just chosen to keep using the app.
  • The updater now leaves a note. It records the version it is about to install, and the first launch of that version finds itself already accounted for and goes straight to work. The note is consumed once, so a later reinstall of the same build is a real install again, and a DMG dragged into Applications by hand leaves no note at all — which is exactly the case that should still introduce itself.

0.1.42
16 Sept

It no longer deletes your name

  • A signed email could come back unsigned. The email rules carry three guards about not adding a sign-off — don't invent one, don't sign a one-liner, don't sign with a placeholder — and "keep one the draft already has" was a single line underneath them. Read together, the guards won, and an email with no greeting had the name its author typed removed from the bottom. Keeping what you wrote now comes first and is stated as the one rule in that section that cannot be traded away.
  • And there is a check behind it now, not just an instruction. If an email's closing line goes missing, the rewrite is asked for again before anything reaches your field. It is deliberately narrow — a closing line of one to three words with no full stop, in an email — which across 1,721 recorded rewrites fires on nothing that was not a genuine loss. It retries rather than putting the name back itself: rewriting your email is one thing, writing into it is another.

Formal writing is capitalised

  • Writing in lower case is a habit about chat, not about a formal email. If it has learned that you write in lower case, it carried that into emails and documents at Professional or Formal — where it stops reading as relaxed and starts reading as careless, which is the opposite of what choosing that register was for. Sentences and proper nouns are now capitalised there whatever the profile says. Everywhere else, and everything else about your voice, is unchanged.

0.1.41
16 Sept

Fixed

  • "This field wouldn't accept the rewrite", said about rewrites that had been accepted. In Apple Mail the check looked for the first 24 characters of the result inside a single piece of on-screen text. A formatted rewrite is exactly the case that breaks that: a bold opening line is its own piece, so the needle straddled two and matched neither. The text was there and correct and the app said it had failed — which is the worst kind of wrong message, because it is the one that makes you think your work was lost. It now reads the whole body rather than one fragment of it, matches on a whole line rather than a character count, and allows for the curly quotes and collapsed spacing a rich text field is entitled to add.
  • Short notes in Notion come back as documents again. The rules stopping it inventing content were being applied to shape as well: a twenty-word note naming a document type and running three things together came back as one tidy sentence. Splitting that into bullets invents nothing, because every item was already there. Length was never the test; whether the draft contains more than one thing is.
  • The panel says "Improving prompt" rather than "Engineering prompt".

0.1.40
16 Sept

Teams have an owner now

  • Whoever bought the subscription manages it, and nobody else. The device list added last release authorised on one question — do you hold this licence — which on a shared licence is everybody. Any colleague could release any other colleague's seat, including the seat of the person paying, from a button this app put in front of them. The buyer is now identified from the checkout itself, and only they can see the full list or release anything. Everyone else sees their own Mac and no controls.
  • A key each, instead of one key everybody shares. The owner can issue a key per person from the Team tab, one per seat, and revoke any of them. This matters most the first time somebody leaves rather than the first time somebody joins: with a shared key, removing one person means changing it and re-onboarding everybody who did nothing wrong. Revoking a key frees its seat immediately and the Mac it was used on drops back to the free plan.

Seat limits are enforced

  • A subscription now stops at the number of seats it was bought with. It was counting but not enforcing, which meant one key could be passed around indefinitely — everyone sharing one allowance, but everyone working. Enforcement was held back to be sure nobody could be locked out of something they were paying for, and what makes it safe is that a Mac already on the licence never takes a new seat: reinstalls, cleared keychains and restored backups stay free. A Mac unused for six weeks gives its seat back on its own.
  • When a seat is refused, the app says so plainly and says what to do, rather than claiming the key was not recognised.

0.1.39
16 Sept

Seats

  • You can buy for a team from the Plan tab. Per-person pricing has always been real — the allowance is multiplied by the seats and pooled, so four people on one licence share four times the rewrites rather than each getting a smaller pile of their own. What was missing was any way to say four. The only seat control in existence was a stepper on Stripe's own checkout page, which meant the only people who ever bought more than one seat were the ones who happened to notice it mid-payment. There is a stepper here now, and the card shows both the per-person price and what actually leaves your account.
  • The Plan tab knows how many seats you have. The number was read on the server to work out your allowance and never sent back, so the app could show you 3,000 rewrites without knowing whether that came from one seat or three. It now says how many are in use.
  • The Team tab lists the Macs on your licence, with a Release button for one that has been sold or belonged to someone who left. A Mac that has not been used for six weeks gives its seat back on its own, so the ordinary case needs nothing. There is no Release beside "This Mac": a button whose only outcome is locking yourself out of the window you pressed it in is not a button.

On licence keys

  • Your key still works on more than one Mac, and that is deliberate. A key that burned itself on first use would cap sharing at one and cap recovery at one too — and recovery is the thing people actually hit, because a subscription lives in a keychain that does not sync between Macs or survive being cleared. Re-activating a Mac already on your licence is always free. Seats are counted instead, which caps sharing at what was paid for while leaving your own second Mac, your reinstall and your restored backup working.

0.1.38
16 Sept

Fixed

  • Rewriting works again in Warp, and in Claude Code inside it. "In a terminal, select the text to rewrite first" — said to people who had plainly selected text. Warp does not fill in the accessibility attribute that reports a selection, but it does list it, and we were using the presence of the attribute to decide whether to fall back to copying. Advertising an attribute is not the same as populating it. It now tries the copy regardless, which is self-verifying: with nothing selected it returns nothing and leaves your clipboard as it was.
  • Double-tapping right Command on the first setup screen no longer breaks the animation. That page is a looping demonstration, and answering the press with a second animation meant two things driving the same keycap, with another queued restart per press. The trigger is now ignored on every setup screen except the last one, which is the page built for it.

Your plan

  • The Plan tab told every subscriber they were on the free plan. The line was a hardcoded string with nothing near it reading your actual plan, so it said the same thing whatever you had bought — directly above your own paid allowance.
  • And it called Pro "Growth". The Plan tab sells one paid plan, Pro, in two sizes: 1,000 rewrites a month and 3,000. Internally those two have always been named pro and growth, left over from when they were separate tiers. "Growth" is a plan with no card, no price and no mention anywhere else in the app or on the site, and it was leaking into the one place you would look to check what you pay for. Both sizes are Pro, and the allowance beside it says which one.
  • When the free allowance runs out, there is now a way on from there. The Overview shows what happened and a button to the plans, instead of a bar reading zero and leaving you to find the Plan tab yourself.

It behaves like an app while it has a window

  • A Dock icon, for as long as a window is open. Ask Twice is a menu-bar tool and stays one, but during setup or while you are in the settings window it is an app with a window like any other — and an app with a window and no Dock icon cannot be switched back to. Command-Tab did not list it, and clicking away from the setup flow effectively closed it. The icon appears when a window does and goes when the last one closes.
  • Copy, paste, cut, undo and select-all now work. They never had, anywhere in the app. A main menu is where macOS looks up keyboard shortcuts, and this app had no main menu at all — so ⌘V did nothing in the team rules editor, which is a text editor, in a product about text. It also did nothing in the licence key field, which meant a licence key could only be entered by typing it out by hand.

Waiting for a payment

  • The wait now says what is happening. It polls for up to ten minutes, which is right, but it said the same sentence for all ten with every button disabled. The buttons come back after half a minute, and after two it names the one case the poll can never resolve on its own: a subscription bought on the website has no installed copy to attach itself to, so the licence key from that page is the way in.

Making the two guarantees measurable

  • A rewrite that comes back as a comment is now retried, not reported. The model occasionally answers a thin draft with "I need more context to rewrite this" instead of rewriting it. Measured against 1,705 recorded outputs, that happens about once in 142. It now quietly asks again once before telling you anything, so the ordinary outcome is your rewrite three seconds later rather than an error.
  • And the check that catches it no longer depends on recognising the wording. It was a list of phrases somebody had seen before, which cannot catch a new one or any of them in another language. It now also measures how much of your own draft survived into the result: a rewrite is made of your words, a sentence about your draft is not. That finds refusals the phrase list missed, and its false-positive rate measures zero across all 1,705.
  • The trigger now works in web text boxes it has not been taught about. A comment box on a web page looks identical to the whole page through the accessibility API, so until now those were only accepted in apps that had been profiled by hand and silently did nothing everywhere else. It now accepts one when it is the box your cursor is in, the app says it is writable, and it is smaller than a page — which is the condition that was actually doing the protecting.
  • When it finds nothing, it writes that down. Previously that failure was invisible to anyone but you. The menu bar now offers "Copy field report" once it has happened, carrying the app and the placeholder of whatever was focused — the two facts that turn "it doesn't work here" into a one-line fix. No draft text, no window titles, and nothing is sent anywhere: it goes on your clipboard and no further.

0.1.37
16 Sept

Fixed

  • The Plan tab told paying subscribers they were on the free plan. Your plan arrives from the server a moment after launch, and that tab was built before it landed and then cached for the rest of the session — so it went on reporting what it knew in the first half-second, next to an allowance that plainly said otherwise. It now rebuilds when the plan does.
  • The team rules box had collapsed to a single line. A side effect of last release's scrolling fix: the editor was getting its height from a constraint that no longer exists, and nothing was telling it how tall to be.
  • The first rewrite in an app could fail for no reason. "No text field found in Notion", then the same thing a second later working perfectly. An accessibility tree is rebuilt as an app re-renders, and we were asking exactly once and believing the answer. It now asks twice more before giving up, which is the app's own advice.

The panel no longer reviews your draft

  • "That came back as commentary, not a rewrite" is gone, in both directions. The model is now told plainly that there is no case in which the correct output is a comment: if a draft is already good it comes back unchanged, and if it is short or vague that is the normal case rather than something to report. When the guard does catch one, it says your draft is untouched and what to try, instead of describing our own internal failure back at you.

Elsewhere

  • The app's real icon, at a readable size, at the head of the sidebar.
  • Hovering a column in the Insights chart now shows the day and the count in a small panel that follows the pointer, rather than a system tooltip you had to wait out.
  • The Overview offered "four questions" when there are five.

0.1.36
16 Sept

A layout bug that was eating text

  • Four settings had no labels, Insights had no headings, and two cards on the Overview drew a border around nothing. All of it was one constraint: every pane was forbidden from being taller than the window it was supposed to be scrolling inside. When a pane overflowed, macOS could not satisfy that by scrolling, so it satisfied it by shrinking the contents — and the first things to go were the labels. Panes scroll properly now.

The panel

  • It no longer sits on top of what you are writing. A composer grows as the rewrite is written into it, and the panel was placed against where the field's edge used to be. It now leaves room for that growth and re-measures while it is up, so a field that expands pushes the panel out of the way instead of under it.
  • When a document fills the whole screen and there is nowhere clear to go, the panel now goes to whichever end of the page your cursor is furthest from, rather than always to the top.

The four questions are five

  • Every answer now teaches it something. Six of the original eight answers were "the default already does this", so it was possible to answer everything and see one line read back at the end. Three options per question, and a new one about contractions — the single clearest marker of how somebody writes, and invisible in a short draft.

Elsewhere

  • Open Ask Twice opens the Overview, not Settings. A door named after the app should open on the room the app is about.
  • The app's name and mark sit at the head of the sidebar.
  • Hover any column of the fortnight chart for its date and count. Every card in Insights now says what it is counting.
  • The practice prompt on the last setup screen follows the app you pick: a brief for Claude, a rambling message for Slack, a chase for Mail, meeting notes for Notion.

0.1.35
16 Sept

Insights

  • A chart of your last fortnight. One column per day, so the shape of how you actually use it is visible at a glance — the quiet weekends included, because an empty Saturday is information rather than a gap to close up.
  • What your drafts turn into is now drawn, not listed. Two bars against the same scale answer "longer or shorter, and by how much" before you read either number.

The four questions

  • Rebuilt as a flow rather than a form. One question at a time, on cards big enough to press without aiming, with the consequence of each choice written under it. Choosing carries you forward, so there is no Save to find, and the last screen reads back what changed in your own words.
  • It opens attached to the window that launched it. The old version had to bring the whole app forward to appear, which is what occasionally summoned a stale setup window behind it.

Team

  • The rules box now says what to put in it. It was a large empty field under a heading that described the effect of filling it in rather than the thing to write, so it arrived as a box nobody could place. There is an example inside it now, and the scope picker says "Applies to".

Everywhere

  • One accent colour again. Every tick in Settings and the Save button under the team rules were painted in the system accent, which is blue on nearly every Mac — so the most-clicked controls in a marigold product were the one colour that is not ours.
  • The three pop-up settings sit in a card like the switches beneath them, rather than loose on the page as though they were a different kind of thing.
  • The build number is at the foot of the sidebar, where it can be read off in a bug report.
  • A rewrite no longer coaches you. A thin prompt could come back with the prompt plus a line of advice about writing prompts, which goes out looking like a note you wrote to yourself. And a lower-case habit no longer lower-cases a name: a page called Market insights keeps its capital.

0.1.34
16 Sept

Setup

  • The examples start as soon as you arrive. They used to wait over a second and a half before anything moved, which was a second and a half of an empty box.
  • The practice field is twice the size, and a document rewrite arrives formatted — a heading that looks like a heading, rather than one with ## in front of it.

Elsewhere

  • Settings has room to breathe. The allowance bar sat hard against the top edge, and the gap between one setting's explanation and the next one's title was barely wider than the gap inside a single setting — so the page read as one long list rather than as four separate things.
  • The menu bar no longer marks Open Ask Twice with a dot. On a row called "Your writing profile" it meant that page had something new; on the door to the whole window it only meant "something changed", which is not worth a badge on an app that never notifies you.

0.1.33
16 Sept

Fixed: the app could freeze on the last page of setup

  • Trying the hotkey in the practice field locked the app up. Every rewrite is verified by reading the text back after it is written, because some apps accept a write and silently ignore it. That check waits on the app being written to — and on that one page the app being written to is Ask Twice itself, so it sat waiting for an answer only it could give. The rewrite landed, then everything stopped. Writes inside our own window no longer take that route.

New: Insights

  • A pane for what it has noticed. What your drafts turn into, which apps you use it in, the corrections it keeps making for you, and the tones you have asked for by name. Counted on this Mac, from what you actually typed, and cleared by Forget everything along with the profile.
  • No word counts per minute and no daily streaks. Neither is a fact about rewriting, and a tool you press twice one day and thirty times the next has no streak worth keeping.

New: sound like you sooner

  • Four questions, on Pro. Ask Twice learns your voice from about a dozen drafts, and those first drafts are the weakest it ever is. Answer four things — spelling, emoji, how you open an email, how long you like things — and the rewrites start closer. What you actually write later overrules all of it: a stated preference is a starting guess and your drafts are evidence.

Setup, rebuilt

  • Every page now starts from empty and plays. The demonstrations used to drop the draft in finished and animate only the rewrite, so arriving on a page — or coming back to it — showed an exchange that had already happened. Now the draft types itself, there is a beat to read it, then the rewrite arrives and is lit as it lands.
  • The Notion example reads as a document rather than printing its own ## and ** markers, and the email example signs off.
  • The last page can stand in for another app. Pick an AI chat, a Slack message, an email or a document, and the panel you get is the one you will really see there.
  • The right Command key is lit rather than merely un-dimmed, the keys have a side to them, and the permission page waits for you instead of skipping itself when the permission is already granted.

Elsewhere

  • The window is bigger, and the menu bar says Open Ask Twice — it stopped being a settings window when the overview, your plan, your writing and team rules moved into it.

0.1.32
16 Sept

It learns from the edits you make by hand

  • Fixing a rewrite yourself is now the strongest thing it learns from. Until now a rewrite you kept and then quietly repaired counted as a clean success — you had not pressed esc and you had not pressed tab, so nothing was learned, while you deleted the same half of it every time. When your next rewrite in the same field starts from text that is recognisably the last one with your changes in it, what you cut and what you put in its place goes into the profile.
  • It records a summary of the change, never the text. Your drafts stay on your Mac and our output is still not stored.

A menu that fits on one screen

  • Eleven items became four. Upgrade, Team rules, Settings and Your writing profile were four rows pointing at four tabs of one window. The window is where the app is managed; Settings… (⌘,) is how you reach it.
  • Undo last rewrite is gone. There are three ways back at the moment it matters — the button on the panel, esc while it is up, and ⌘Z afterwards — and all of them are where your hands already are.
  • Upgrade and Check for Updates no longer sit two rows apart. Two different words with the same shape and no way to tell them apart at a glance. Your plan lives in the window, and running out of rewrites opens it there on its own.
  • Setup and Accessibility settings now appear only when a missing permission is the thing standing between you and a working trigger.

Fixed

  • Switching tabs quickly works. The panes crossfaded, and the window would not start a second swap until the first had finished — so clicking down the sidebar faster than the fade, which is what anybody does when they are looking for something, stalled. Tab switching is instant.

0.1.31
16 Sept

Fixed: the app could close itself mid-rewrite

  • A rewrite that failed took the whole app down. When the model answered with commentary instead of a rewrite — which a very short draft will do — the error panel was built off the main thread, and macOS aborts the process for that rather than reporting it. The panel never appeared, the text never changed, and the app was gone until you launched it again. This is the one worth updating for.

New: what it has done for you

  • Overview now counts. Rewrites made, words added over the drafts that produced them, and the average per rewrite. It is also the only card on that pane that says something on day one, rather than waiting for a dozen drafts. Nothing is sent anywhere, and Forget everything clears it along with the profile.

Fixed

  • Installing the app shows the introduction again. It was remembered per Mac rather than per install, so reinstalling — or handing the app to somebody who had once tried an earlier build — silently skipped it.
  • Team showed as locked on a paid plan. The subscription arrives a moment after launch and nothing told the window when it did, so opening it early left a pane you had paid for behind a lock until you closed and reopened it.
  • Opening the Plan tab no longer opens a second window. A plan change rebuilt the window from scratch, which threw away the one you had positioned and centred a new one in its place. It rebuilds what is inside it now and leaves the window alone.
  • The billing and size toggles were as wide as the window. A grey bar the full width of the pane with two small pills at one end; they are the width of their labels now.
  • “Words it never changes” was sliced in half whenever it needed a second row.
  • “tab refine” appeared while a rewrite was still running, offering to refine something that did not exist yet.
  • tab now sits on the same line as esc, with its label above it, instead of a row apart from the key beside it.
  • What it says about you reads as an observation rather than a list of orders, and the Overview and Your writing panes now show the same profile. They read from two different places, so the two lists disagreed about what it had learned.
  • The locked Team pane explained itself with a story about four artists and an image model. It now describes a rule anybody has and what it saves you.

0.1.30
16 Sept

A window that behaves like a window

  • Settings, Plan and the rest now live in a sidebar rather than a row of toolbar tabs. The window is one size and stays that size, the rows are proper targets instead of small icons, and the empty band that used to sit above every pane is gone.
  • New: Overview. The window opens on it — how much of the month's allowance is left, what Ask Twice has learned about your writing, and which fixes it keeps making for you.

Fixed

  • Press tab to refine a rewrite. This has always worked and nothing ever said so. The panel now shows it next to esc.
  • The locked Team pane was advertising a plan at $16 a person, a price that stopped existing two releases ago. It reads from the same table the Plan tab does now.
  • The billing and size toggles were nearly brown. They are marigold with dark text, which is both the brand colour and better contrast than the version that was darkened to fix it.

0.1.29
16 Sept

Onboarding

  • The first screen now shows the corner of a keyboard with the right Command key picked out, instead of two floating key caps — there are two Command keys on every Mac and the page was pointing at neither.
  • Double-tapping right Command while reading that screen used to answer with an error. It now answers with something friendlier, since you were doing exactly what the page asked.
  • The demonstrations wait a beat before they start, so the sentence explaining what you are about to watch is still on screen when it happens.
  • The "everywhere else you write" screen shows real Slack, Mail and Notion icons and full examples rather than one-line ones.
  • The learning screen plays once and stays where it finished, instead of emptying itself and starting again.

Fixed

  • Double-tapping on an empty field did nothing at all, with no message — which is indistinguishable from the app being broken. It now says there is nothing to rewrite yet.

0.1.28
16 Sept

Fixed

  • A rewrite in a terminal could delete your text. With no selection, the input line was cleared before the replacement was pasted, and every failure after that point left the line empty. A terminal now needs a selection, which is the only signal that makes the write reversible — and if a write ever does fail, what was cleared is typed back.
  • The panel appeared at the top of the window in a terminal instead of above the prompt. A terminal is one text element the size of the whole window, so "above the field" meant above the terminal. It now anchors to the bottom of the window, where the prompt is.
  • The settings window jumped size between tabs and could cut off content. Every tab is now one size, and anything longer scrolls.

Better prompts

  • Coding agents. Claude Code, Codex and the rest get guidance of their own: file references like @src/app.ts survive the rewrite intact, and words like skills, hooks and subagents are left alone instead of being swapped for synonyms of something the tool does not have.
  • App builders. Emergent, Replit, Lovable, Base44, Firebase Studio and others are recognised, so a prompt that builds a running app gets asked for screens, states and data shape rather than generic chat guidance.
  • A dropped file reference now stops the rewrite rather than shipping it.

Your subscription

  • A licence key you can keep. Plan now shows your key with a copy button, and accepts one you paste in — so a new Mac, or a cleared keychain, no longer means a subscription you cannot get back.
  • Plans are simpler: Pro at 1,000 or 3,000 rewrites a month per person, monthly or yearly.
  • Follow-up on tab and reading an attached image are Pro features from this release. If you are already using them on the free plan, you keep them.

Smaller things

  • Keyboard shortcuts in the panel are drawn as keys, so 1 to 5 and esc look like something you can press.