Changelog
View releases on GitHubImprovements
- Luke speaks first when a planning call opens, starting from what to build or from where the plan stands (#1785)
- Luke stops asking once the plan is enough for an agent to build from, and says the plan is complete (#1783)
- Web search answers faster during a planning call (#1788)
- Luke fills your pauses with fewer "mhm"s and "okay"s (#1784)
- You can delete an open plan from its header, after Luke asks you to confirm (#1786)
Fixes
- Fixed a web search cut short reading as one that found nothing (#1788)
Misc
- Updated the README and tryluke.dev to lead with feature planning (#1787)
Plan a feature with Luke
The Plans tab holds named feature plans, each on a fixed template written for
a coding agent to pick up. Start a planning call and Luke asks one question at
a time while a notetaker writes the plan as you talk, streaming each draft to
your Mac. Point a plan at a folder on your Mac and Luke reads the code there to
answer his own questions instead of asking you; each command runs in a sandbox
with no network, no writes, and no .env files. He can also search the web and
read public pages, and with GitHub connected he reads your repositories.
(#1730,
#1734,
#1739,
#1745,
#1749,
#1750,
#1755,
#1760,
#1776,
#1777,
#1779)
Luke opens as a Mac app
Luke opens in an ordinary window with a Dock tile instead of the notch panel, on two tabs: Plans and Settings. For now Luke speaks only on a planning call, so briefings, the launch greeting, and the talk key outside a plan are off, onboarding is skipped after sign-in, and the Sessions and Conversation tabs are hidden. (#1743, #1755, #1775, #1782)
Improvements
- Luke runs on GPT-6.1 Sol (#1772)
- A planning call survives a dropped connection instead of ending (#1755, #1756, #1758)
Fixes
- Fixed a planning call's plan losing sections it had already written, leaving them Unanswered (#1780)
- Fixed the settings search drawing under a nested page's header (#1644)
Misc
One brain, running on Luke's service
Luke's replies and announcements come from one brain that remembers across turns, and it runs on his service rather than on your Mac. Once a minute the service checks your Conductor sessions and wakes the brain with what changed, so a session that finished or needs you is noticed whether or not your Mac is awake. Ask about a session and he reads what it did, including the chat's own conversation. (#738, #865, #1038, #1069, #1079, #972, #1421)
Voice on your Luke account, and voice alone
Spoken exchanges need no OpenAI key of your own — every call runs through Luke's service on the account you signed in with, so the Voice page loses its Provider section and a key an earlier build stored is dropped at launch. Hold the talk key and the microphone is open for exactly as long as you hold it; release it and Luke keeps talking until the stop key or Escape. The Voice row offers all 22 Live voices, with Marin as the default.
The Ask Luke composer, its ⌥L shortcut, and typed asks are gone. (#933, #956, #1006, #1013, #1381, #1417, #1166)
The Conversation tab
History is now Conversation, and it draws the account's one thread as the service holds it, so a Clear on any device empties it everywhere. Luke's replies render as Markdown, each action he took is a row saying what he did with a chip that opens the session it reached, and several in one turn fold under a line that counts them. An ellipsis beside each of his messages opens thumbs up and down; a thumbs down offers a feedback composer with the message quoted, and nothing leaves your Mac until you press Send. (#795, #977, #740, #936, #939, #1473, #1489, #873, #747, #1029, #1462)
Luke's notebook
Luke keeps a notebook on the service: what he knows about you, the decisions worth remembering, and a dated note for each day he works. Before answering about prior work, dates, people, or preferences he searches it and reads only the lines he needs. A read-only Memory page in Settings shows the notebook as he wrote it. (#1475, #1484, #1491, #1477, #1478, #1479)
Your Conductor key lives in the vault
Connect on the Connections row stores your Conductor key in your account's vault, never on your Mac, and a key an earlier build kept locally is handed over once and deleted here. Onboarding asks for that key right after your first sign-in, ahead of any session row and the calendar step. (#1260, #1267)
Improvements
- Luke greets you by first name at every signed-in launch, and the spoken introduction waits for your first sign-in instead of greeting a stranger (#1204, #1254)
- Briefings are two short sentences at most, subject first, and never a title read aloud (#1378)
- A voice call opens already knowing your roster, so "anything need me?" is answered without a round trip (#1226)
- A reply that only needed a read is spoken the moment its words form, and Luke may read ahead to a session or a notebook search while you are still speaking (#1164, #1229)
- Every spoken exchange is kept, including the ones Luke answers himself, so your words and his come back after a relaunch (#1318, #1319)
- Captions show your own words as you say them, in a quieter tone, and every segment of a longer reply rolls up under the housing (#1464, #883)
- You can stop an ask: a Stop on a waiting ask is honored when its turn starts, and a Stop on a running one ends only the turn it was aimed at (#1155, #1258)
- The Voice page's Pause announcements switch becomes Announce when sessions need you, on by default; switching it back on reads the still-true held ones out together (#686)
- A briefing on offer opens a muted session on your Mac so Luke speaks it here when you are present, and is pushed to your phone when you are not (#1404)
- Pressing a filled thumb takes a rating back, and the message stands unrated on every device (#1467)
- Luke reads an agent's messages whole instead of the first 400 characters, and walks a long Conductor chat to its end (#916)
- Luke's persona is a set of rules with a banned-phrase list rather than exemplars, so a day of announcements no longer hardens into stock phrases (#875)
- An action whose effect is uncertain after a crash shows as unknown in the Conversation, distinct from a refusal, and Luke never retries it on his own (#943)
- A Conductor workspace can be created with Fable 5.1 or GPT-6 Astra as its agent's model (#758, #759)
- A settings search result lands the keyboard on the row's control rather than the page header (#1428)
- The Conversation tab's Clear moves beside the tab bar and shows only while the thread has lines (#778)
- tryluke.dev prerenders the landing, About, Changelog, and Privacy pages, so link previews and visitors without JavaScript see the page (#716)
Fixes
- Fixed a workspace created or an agent added through Luke going out with Conductor's default agent, model, and effort instead of the pairing you chose (#1443, #1486)
- Fixed a voice chosen on the Voice page not taking until the standing call had idled out (#1470)
- Fixed asking Luke to create a workspace in a Conductor cloud project being refused with "No listed project matches that identity" (#876)
- Fixed asking Luke to flip the Captions switch being refused with "Captions takes no effort level" (#895)
- Fixed clearing a setting answering "Could not save that setting on this system" and coming back at the next launch (#1252)
- Fixed Mission Control tiling the notch panel in the middle of the desktop after an introduction takeover (#1225)
- Fixed quitting Luke mid-meeting dropping the meeting hold on announcements until the next poll (#1141)
- Fixed Luke saying "I couldn't write that ask down" for a follow-up asked seconds after a question (#1476)
- Fixed a spoken ask's row landing one word short of what you said, and a spoken line vanishing from the Conversation two seconds after you finished (#1482, #1465)
- Fixed a reply drawing above your question when a spoken ask entered a turn late, and an aside sorting up into a turn that had settled (#1297, #1473)
- Fixed "Still thinking" dots drawing above later replies for an interrupted turn (#1461)
- Fixed the feedback composer opened from a thumbs down returning to Settings instead of the Conversation (#1466)
- Fixed an announcement's arrival line reading a session title from before the pass that named it (#1407)
- Fixed the Conversation drawing Luke's reply twice, and what he said aloud drifting from the words it recorded (#891, #870)
- Fixed a voice call ending at the provider's hour cap with a red "[object RTCErrorEvent]" caption; an idle call now retires itself after five minutes (#854)
- Fixed the key slot and feedback composer popups opening with empty black above their words on a Mac without a notch (#715)
- Fixed the lead provider mark hopping left and springing back as the capsule unfolded (#777)
Misc
- Updated the provider set to Conductor alone: Superset, the local Claude Code, Codex, and OMP observers, and the Linear connection are removed (#1200, #1201, #1207)
- Updated a live launch to remove the retired local brain database an earlier build left on your Mac (#1294)
- Updated PRIVACY.md for the scheduled observation of your Conductor sessions, voice on the account alone, spoken exchanges kept on the service, the read-ahead a spoken ask may make, and the notebook's search (#1069, #1229, #1422, #1480)
- Updated the landing page's footer to close on a "© 2026 Stage Inc." line (#1380)
- Updated the third-party notice to name every OpenClaw port the code carries (#1411)
- Updated the About page portraits to full-resolution JPEGs with their metadata stripped (#673)
Onboarding ends at a calendar
Onboarding now ends by asking for a calendar — your Mac's own or Google — so meeting quiet can hold announcements from your first sign-in. Skip it and Luke carries on without one. (#561)
Improvements
- Announcements say what an agent is working on, a short phrase Luke derives from the session's transcript, instead of the session's title (#649)
- A Pause announcements switch on the Voice page holds spoken announcements by hand; replies in a conversation you opened still speak (#651)
- The Ask Luke composer also sits at the foot of the History tab, so you can continue the thread without changing tabs (#643)
- Luke names every workspace he creates — your name when you gave one, otherwise a short name for the work — instead of Conductor's random-city fallback (#636)
Fixes
- Fixed History cutting off any ask or reply longer than 400 characters (#629)
- Fixed the Provider keys section reading "The vault answered with something unexpected" for a key stored for a provider Luke no longer carries (#656)
- Fixed the spoken introduction ending on a question you had no chance to answer (#644)
Misc
- Updated the provider set to Conductor, Superset, Claude Code, Codex, and OMP, with Cursor, OpenCode, Copilot, Gemini CLI, and Grok Build staying on as the agents a workspace runs (#645)
Synced provider keys
Enter a cloud provider's API key once and every Mac you sign Luke into has it. A Sync section in Settings governs it: while on, your account's vault holds what this Mac's encrypted store holds, and turning it off deletes every synced copy while the local keys stay. A key your shell configured is never synced — only one you typed into Luke. (#574, #580)
A conversation that outlives the app
The History tab now survives a quit. The thread, and the facts you asked Luke to remember, live in his own application data under a real retention policy — the 200 most recent lines, nothing older than a fortnight — and Clear still empties the file along with the screen. Lines draw as they are being said, each carries its local timestamp, and every chat a line named draws a chip that opens it, even after the chat is archived. (#589, #614, #606, #618, #613)
Improvements
- Luke opens at login, a switch under Appearance backed by macOS's own login items (#585)
- Spoken exchanges run on the OpenAI Agents realtime SDK, which owns the connection, the session configuration, and the tool round-trips (#635, #630)
- Several sessions changing at once arrive as one announcement instead of a run of them (#623, #628, #625)
- Luke observes local OMP sessions, reading their title, status, recap, current tool, and conversation (#584)
- A keyboard shortcut can be removed outright: the row says None, and Reset restores the default (#587)
- A session's parting words are shown whole on its row and its own screen (#633)
- Luke words his own announcements from the observed fields rather than reading a composed sentence (#588)
- Ask about "that chat" right after an announcement and Luke resolves it to the one he just told you about, naming the candidates when nothing settles it (#599)
- Spoken time is no longer metered: the hosted voice quota and the settings it needed are gone (#634)
- Every provider API key hint reads the same way and links to the page that issues the key (#591)
Fixes
- Fixed the Updates row moving under your cursor while an update downloaded (#581)
- Fixed Luke silently losing the ability to lower and restore Music and Spotify, leaving an unkillable helper at full CPU (#582)
- Fixed the landing page drawing its footer hairline across the hero art on phones (#583)
- Fixed the landing page's hero mock spilling outside the phone's screen (#590)
Misc
- Added Sentry crash reporting: unhandled exceptions from every Electron process and native minidumps, carrying no account identity (#632)
- Added the hosted
/api/observeendpoint, which runs each cloud adapter once under the caller's vault keys and answers a bounded roster (#573) - Added hosted act endpoints for messaging a session and creating a workspace (#571, #611, #620)
- Updated how Luke's persona instructions describe his voice (#639)
History
Luke keeps the conversation you have been having with him. A History tab holds every line of the current launch — what you asked, what he answered, and the acts he carried at your request — and each message offers a copy control that takes exactly the words the bubble shows. Clear empties both the thread you can see and the context the model still holds, and the whole tab stays out of session recordings. (#513, #569)
Improvements
- The notch says which apps hold your work: provider marks take the place of the session count beside the housing (#577)
- Luke names each agent by its work and gives you the decision context before he asks a question (#553, #566, #567, #578)
- Luke never asks for folder permission: Cursor and Antigravity sessions no longer read a workspace folder to label their branch (#552)
- Rows say when a session is running inside a Herdr pane (#560)
- Music and Spotify are asked for automation consent only mid-exchange, and only once that player is audibly playing (#550)
- Settings drop the Usage data section: counting and screen recording follow the run mode alone, and PRIVACY.md is the whole of what Luke tells you about either (#563)
Fixes
- Fixed desktop session recordings never reaching PostHog at all (#535)
- Fixed a red voice error appearing when you cut Luke off mid-reply (#564)
- Fixed a slow cloud write being cut short by the observation pass's shared deadline (#557)
- Fixed the admin roster's last-seen instant ignoring hosted usage (#548)
Misc
- Added the hosted provider-key vault, which encrypts a stored cloud provider key at rest and offers no way to read one back (#568)
- Added the websocket realtime endpoint to the voice mint (#562)
- Added the
entireCLI's session hooks for Codex, Cursor, and OpenCode (#549) - Updated an act handler's refusals to name their cause (#572)
Improvements
- Luke uses Echo as his default voice and gives you a short spoken welcome after sign-in (#520, #541)
- Luke keeps his conversation context on the app guide and leaves the tracker's issue roster out of it (#528, #538, #539)
- Replicas workspaces can sleep when their task finishes, and Luke reports unexpected wakes as observation diagnostics (#530, #531, #536)
- Development traces capture Luke's local agent traffic and export attention reviews in the form the model received (#534, #540)
- Onboarding stays out of the way while macOS asks for microphone access (#524, #533)
Fixes
- Fixed provider marks disappearing while Luke speaks (#517)
- Fixed update checks giving up while a newly published release is still uploading (#523)
- Fixed voice conversations reseeding history or changing roster context on clock ticks (#526, #527)
- Fixed Conductor reads including archived workspaces or starting from an unfiltered workspace list (#525, #537)
- Fixed GitHub releases becoming visible before all six downloadable assets finished uploading (#521)
Misc
Improvements
- Luke opens Replicas sessions directly in the Replicas desktop app (#516)
- Luke keeps agent updates concise, specific to the work, and available after meeting quiet ends (#514, #515)
- The admin dashboard makes account status, usage, and controls easier to scan (#511)
Fixes
- Fixed first-launch announcements waiting for an interaction before they could be heard (#477)
- Fixed signed-in users who finished onboarding being offered the introduction again (#512)
- Fixed swallowed admin API failures omitting the upstream 503 cause from logs (#492)
- Fixed hosted macOS releases omitting the PostHog project key and silently disabling recording (#518)
Onboarding
Luke introduces himself to new users. (#497, #508)
Improvements
- Luke is more conversational and proactive about work that needs your attention (#500)
- Luke draws loading rows while a provider roster is temporarily unreadable instead of making those agents disappear (#498)
- The website demonstrates Luke's panel with a live mesh gradient and an animated tour of its presentations (#499, #502, #504)
Fixes
- Fixed Preview deployments failing to complete sign-in (#408)
- Fixed workspace creation losing the provider selected in Settings (#475)
- Fixed the web service omitting the acts package from its runtime wiring (#495)
- Fixed signed-out voice runs reporting the wrong missing credential (#505)
- Fixed workspace-only providers being rejected by the desktop bridge (#507)
- Fixed Apple notarization uploads using the accelerated transfer path that could leave incomplete submissions stuck as In Progress (#509)
Misc
More agents, one roster
Luke observes local Antigravity, Grok Build, and Radius Browser agent chats, alongside Replicas cloud workspaces connected with your own API key. He reads each provider through its documented local or cloud surface, and providers without credentials work as before. (#402, #407, #462, #463)
Improvements
- You can filter the roster by the app or provider behind each chat (#455)
- Luke can create Conductor workspaces and message the live Superset terminal attached to a chat (#392, #450)
- Luke names, recaps, opens, and messages local Cursor chats through Cursor's own records and agent CLI (#383, #387, #390, #400)
- Luke can check for updates or restart into a downloaded update when you ask (#388)
Fixes
- Fixed archived cloud work continuing to appear in the roster (#385, #427)
- Fixed Luke narrating tool calls and adding filler to spoken updates (#451, #470)
- Fixed Luke inventing a recap segment when a session has no recap (#469)




