Sub-tasks and blocked tasks
Break a task down with New sub-task, from its menu or ⌘K, which opens New task under it in its workspace and repository; its sub-tasks nest under it in the sidebar, folded until you open them, and take its assignee unless you name another. A task's head groups its sub-tasks and the tasks it waits on or holds up, Relations in its menus and Add relation in ⌘K add any of them, a blocked task wears a stop sign, a ring counts the sub-tasks done, and agents can make sub-tasks and set blocks too. (#5931, #5934, #5937, #5939, #5941, #5944, #5945, #5948, #5951, #5952, #5957, #5980, #5982, #5993, #6084, #6085, #6106, #6110, #6116, #6118, #6141, #6163, #6164)
Queue a message behind a turn
While an agent works, ⌘↩, or Send with ⌘ held, queues your message rather than steering the turn: Luke holds it over the message box and sends it as the next turn once this one ends. Drag queued messages into another order, edit or delete one, or steer it into the running turn, and a Stop pauses the queue until you press Resume. Settings › Account › Follow-up behavior makes Enter queue and ⌘↩ steer instead, and on a phone or tablet, holding Send sends the other way. (#5854, #6107, #6121, #6124)
Tool calls in plain words
An agent's tool calls read as words rather than JSON: their input and output as plain lines, a command as one Terminal card with what it printed, and a message to another agent as a quote. A call names the file it read or wrote, the page it fetched, or the plan, thread, task, or pull request it made by its chip, which opens it, and a bare web address in an agent's words is a chip naming its site. (#6005, #6010, #6013, #6015)
A faster Inbox
The Inbox comes back in its first frame just as you left it, its rows, scroll, view, and search in place, and draws a thread the moment you press its row or step to it with K and J. Luke draws only the rows in view, so a long list stays smooth, and what you mark read, answer, or send shows at once while Luke confirms it. (#6034, #6038, #6040, #6061, #6067, #6068, #6073)
Chapters under one bar
A pull request's Chapters view puts each chapter under one bar: its title and risk, a Viewed box counting its files, a "1 of 8" pager beside ← and →, and the file list's own view options. The rail lists chapters as the Inbox lists threads, with the lines each changes and its review threads, and a chapter's summary folds under its heading, each key change a file pill that brings its lines into view. (#6096, #6101, #6102, #6108, #6137, #6144, #6148)
One shape for every hover card
Every hover card opens the same way: its subject's mark, its name with a line under it, and its age or how it ended in the corner, and a row's card hangs beside the row. A pull request shows one card wherever it appears, listing every reviewer and where each stands; a task's card reads like its card on the Tasks page's Columns; an agent's card says who started it and when; and a finished turn's "Worked for" card gives its clock and its tokens. (#5861, #5863, #5864, #5865, #5866, #5868, #5869, #5870, #5871, #5876)
Improvements
- A task's head reads as a path of its repository, parent, and key over its title, then its status, priority, and assignee on one line, then "Edited 2h ago", whose time opens Version history, above a folded Agents group (#6104)
- The sidebar's Tasks opens on your own tasks to do and in progress, newest updated first, its View options down to Group by and Assigned to, and its head carries a New section button in place of its ⋯ (#6089, #6123)
- New section and a section's Rename name the section in place in the sidebar, and its icon comes from a popover that searches icons and emoji together (#6155)
- When you or an agent mark a task Done, Luke archives its agents, a working one once its turn ends, and moving the task off Done, Undo included, brings them back (#6145, #6154)
- In an agent's transcript, every message but yours, a teammate's, an automation's, Luke's, or another agent's, stands at the left under its sender's name, with its time and actions beneath it (#6011, #6055)
- A GitHub review, comment, or check run in an agent's transcript is a closed card saying who did what to which pull request, such as "2 of 3 checks failed on #214", that opens on the reviewer's words or each check's result (#6012, #6021, #6128)
- A code block in an agent's message is headed by its language's name, such as TypeScript or Shell, and its file icon (#6007)
- A pull request's chip names its number, its state, and its coloured mark, leaving its title to its hover card and to rows with room for it (#6016)
- Agents write every pull request they name as a mention, which draws as a chip, even one they know only by its number (#5857)
- Any agent, one on no task or an automation's included, can edit another task's plan in its workspace, look at its pictures, and reply to, resolve, or reopen its comments, its transcript row opening the task it acted on (#6088, #6099)
- A failure wears one mark everywhere, a red circled exclamation in place of the triangle, and a failed call's mark in a transcript stands right after its name rather than at the row's end (#6008)
- An error notice, and an error drawn in place such as a load or save that failed, offers Copy details, which copies what went wrong with Luke's version and the report's id for you to paste into a bug report (#5977, #5986)
- An agent's MCP popover heads its servers with Luke's own tools under Built in, each listed under its group, and says why run_on_mac is off, with Open Settings where Settings › This Mac turned it off (#5846)
- The prompt before an agent runs a command on your Mac calls its middle answer Allow all commands and says it lets every agent run commands without asking until you change Settings › This Mac (#6043)
- A started agent's message box asks you to "Send a follow up" again, and a new agent's to "Ask to make changes", in place of "Message" and its name (#5911)
- Every Inbox row leads with its task or agent in bold on its first line, the time at that line's end, then its title and preview, and the open row is tinted in the accent colour, in place of the view menu's Second line switch (#6003, #6019, #6083)
- The Inbox's view menu comes down to Show (Open or All) and Addressed to (Anyone, Me, or a teammate), listing threads flat and newest first in place of Group by and Order by (#6086)
- Mark all as read moves from the Inbox's View options to a ⋯ and right-click menu on the sidebar's Inbox row, ⌘K, and a phone's ⋯, and a task's Inbox tab lists every thread with no View options (#6093, #6109)
- A reply in an Inbox thread or a plan comment thread leaves its box at once, marked Sending, so you can write the next while it goes, and one Luke didn't hear back on says to try again and reaches the agent only once (#5908, #6062, #6095, #6100)
- A thread resolved without an answer ends in a line saying who resolved it and when, with their face, as a resolved plan comment does (#6064)
- With nothing chosen in the Inbox, J chooses the first item and K the last, as the empty pane beside the list now says (#5922)
- The Inbox keeps listing an agent with no task, such as an automation's, once its threads settle, and a settled thread you haven't read still waits on you (#5872)
- An agent's own page has an Inbox tab in its side panel, as a task's does, and an Inbox call in its transcript opens that tab on its thread (#5874)
- The agent's chip in an Inbox reply box's Send as a new thread opens that agent rather than ticking the box (#6115)
- On an agent with no task, @ offers the pages it showed and the pull request it opened, and a GitHub link to its pull request opens its Pull request tab rather than the browser (#5873)
- An agent you pin from a task stays pinned on your account, wherever you sign in, rather than on this Mac alone, and an agent's own page pins its tabs to the sidebar too (#5875)
- ⌘K lists your workspace's automations under Automations, found by name, by what fires them, or by their task's name, and opens the one you choose (#5912)
- Chapters split a large pull request rather than refusing it as too big, and read past the schema snapshots Drizzle writes beside each migration (#6075, #6079)
- The Pull request tab's Run moves from beside its merge control into the side panel's ⋯ as Run on this Mac, as on a phone (#6130)
- A plan saved while you have it open redraws in place at once, rather than typing in the change behind a caret that held back its comments, checkboxes, and dates (#6056)
- On a phone, a searchable menu, such as the model or repository chip or a Settings picker, rises as a sheet from the bottom of the window and raises no keyboard until you tap its field (#6022)
- On a phone, Inbox rows leave out their ⋯, their menu a long press away (#6047)
- Stripe joins Settings › Integrations, so agents can read and change your customers, payments, subscriptions, and invoices, a refund or other movement of money waiting for your approval in Stripe (#6112)
Fixes
- Fixed an account with only Codex connected defaulting to Opus, so every Start was refused with "Connect Claude", and Fast choosing a model none of its keys paid for (#6018, #6020)
- Fixed New task starting on the default model it read when its card opened, rather than the one you had set since, when you left its model chip untouched (#6017)
- Fixed New task, opened again before a start answered, holding the words you had just sent, and a slow start pulling you back to its task after you moved on (#5714)
- Fixed an agent whose start or launch failed before its first turn being left as though it had never started, rather than showing a failed turn (#5969, #5972)
- Fixed the first message after a Stop sometimes getting no reply and no error (#6132)
- Fixed a message sent to an agent waiting to show its time, its working line counting from the turn before ("Starting… 1h 3m"), and a message steering a turn drawing that turn as finished (#6127)
- Fixed a turn's fold of tool calls wearing a red failed mark when the agent went on past the failed call and finished (#6173)
- Fixed an agent that posted a to-do and then marked its task done withdrawing the to-do before you could answer it (#6138)
- Fixed an agent on a task your GitHub access keeps from you still opening, and taking your messages, from a link to it (#5812)
- Fixed a pull request in the merge queue showing as open on its task's row icon, and in the Pull request tab's pill until the tab finished loading (#6111, #6134)
- Fixed the Pull request tab's Chapters waiting on several requests to GitHub before showing anything, even on a pull request with none (#5858)
- Fixed an update you hadn't read leaving your Inbox and its count when its task was marked done or canceled or its agent archived (#6082)
- Fixed the Inbox's rows keeping their order for as long as it stood open, rather than sorting anew once the pointer leaves the list (#5753)
- Fixed hovering or choosing an Inbox row cutting its title short behind Mark as read and Resolve without answering, which stay in its ⋯ and right-click menus (#5920)
- Fixed the keyboard losing its place when the Inbox pager's arrows reached either end of the list (#5910)
- Fixed an empty Inbox saying "Nothing needs you" twice, in its list and in the pane beside it (#6044)
- Fixed an Inbox answer box that couldn't load offering no Retry, short of reloading the window (#6042)
- Fixed a screen reader reading out an Inbox row's whole latest message, code blocks and all, and losing its Unread once focus reached the row's ⋯ (#6052)
- Fixed an Inbox ask's numbered choices showing their number keys on a phone, where they wrapped onto a line of their own (#5909)
- Fixed an empty rounded tile standing in for an agent's mark at the head of its messages and in the Inbox's Send as a new thread chip (#6045)
- Fixed a hover card, such as a sidebar task's, never showing while the pointer rested on its cut-short name (#5777)
- Fixed the submenus of Filter, View options, and other menus vanishing as you moved the pointer diagonally toward them (#6087)
- Fixed the shortcut, face, or note at the end of a menu row, such as the model picker's Connect …, stopping a column short of the edge in a list with a ticked row (#5856)
- Fixed code in the dark appearance standing on a bluer ground than the page around it, and a failed agent's last line reading "Failed" before its reason arrived (#6006)
- Fixed the format toolbar standing far above the message box after you selected all of a long draft scrolled inside it (#5978)
- Fixed a picture flashing zoomed in as you stepped through pictures in the viewer (#6098)
- Fixed a Settings row on a phone squeezing its name to a letter a line beside two wide buttons, as Workspace connections' GitHub row did (#6023)
- Fixed the sidebar's trailing buttons, counts, and times standing a few pixels off one another's columns (#6129)
- Fixed a file header's chevron in Changes, Files changed, and Chapters standing nearer its card's edge than the Viewed box at its other end (#6153)
Misc
- Moved Skills behind Settings › Experimental: until you turn it on, Settings › Skills, the / list in an agent's message box, and your installed skills are hidden, while agents still read a repository's own skills (#6053)
- Updated Luke's words to say "agent" where they said "coding agent", such as a transcript's "Started an agent", Settings › Agents, and the terminal picker (#5879)
- Removed a task's Open on GitHub, which opened only its repository's home page, and the ⋯ on a pull request's description, whose Copy GitHub link moves to the Pull request tab's ⋯ (#6152)
- Removed the Next bar under a settled Inbox thread, while J and K still step through the list (#6105)
- Removed swiping an Inbox row to mark it read or unread, which its hover button, its menu, and U still do (#5903)
- Removed the Inbox rows' media previews and the view menu's Media previews switch (#6000)
- Removed ⌥↓ into a hover card and a row menu's Show details, so a hover card is again a preview under the pointer, which a long press opens on a phone (#5893)
- Updated PRIVACY.md to say that Luke's error reports name your Luke account by its id, include the errors the app shows you, and carry the ids and trace a request was logged under (#5968, #5973, #5975, #5976)
- Updated PRIVACY.md for session replay, which records only while you're signed in and is filed under your name and email, and for usage counts, each labelled with the platform it came from (#6046, #6048, #6049, #6050, #6051)
The Browser tab
Watch an agent's cloud browser live in a Browser tab beside your plan, its pointer drawn as it clicks and types, and press Take over to sign in or steer it with back, forward, reload, and the address bar, then Hand back. A task's side panel holds every tab its agents have open, an agent's own page holds that agent's, and New browser tab, from the panel's "+" or ⌘K, opens an address in an agent's browser for you. (#5695, #5794)
One mark for how a task stands
Every task row, in the sidebar, Recent, ⌘K, and the Tasks page's List and Columns, wears one icon for how its agents stand: failed as a red triangle, working, or its pull request in GitHub's colour, a closed one included. It takes the place of the Tasks page's working count and pull request chips. (#5601, #5605, #5636, #5799)
One menu, in one order
Every menu keeps one order, Copy link first and Permanently delete last, and an agent's menu is the same on its tab, its row, its page, and beside an Inbox thread, where it adds Open in task (⌘O). Copy link always copies a Luke link, a pull request's own address is Copy GitHub link, the plan's title and sections show a Copy link button, and a Settings row with a single act shows it as a button. (#5754, #5756, #5758, #5763, #5766, #5772)
Improvements
- The sidebar, the Inbox, the task list, a task's page and transcript, automations, and a workspace's people update the moment a change lands, from another window or a teammate, rather than on Luke's next look (#5666, #5672, #5686, #5724, #5725, #5726, #5727, #5731, #5796, #5798)
- The Inbox draws at once when you come back to it, rather than filling in task by task, and stays current from one feed for your whole account (#5807, #5809, #5818, #5827)
- The sidebar's Inbox count draws in the unread blue and reads "N for you", counting the same threads For you lists: each question waiting on you and each update you haven't opened (#5784, #5825)
- The Dock badge and a task's count on the Tasks page count only the questions waiting on you, so they can reach zero (#5602, #5624)
- An Inbox item settles on its own once its task is marked done or canceled or its agent is archived (#5609)
- A question waiting on you has × on its card to resolve it without answering (#5615)
- An Inbox item's reply box, under an open question too, starts a new thread to its agent when you tick Send as a new thread, in place of the New thread button atop the Inbox (#5757, #5842)
- An ask an agent addressed to someone by name says so, "To you" or "To" with their face and name, on its message and its Inbox row (#5665)
- A thread's chip leads with what it asks, a decision, a to-do, or an answer, rather than its agent's tile (#5626)
- An Inbox question's Mark done, Couldn't do it, Approve, and Request changes wear their icons before you answer, not only after (#5786)
- ⌘K opens and narrows at once, even over thousands of tasks and a long Inbox (#5625, #5633, #5640, #5651)
- Menu actions take one set of shortcuts: ⇧⌘C copies a link, ⌥⌘C the plan or an agent's concise transcript and ⌥⇧⌘C its full one, ⌥⇧⌘H opens Version history, ⇧⌘O opens on GitHub, ⌥⌘W closes other tabs, and U and P mark the focused row read and pin it (#5762)
- A task's row menu, a group header, and a selection offer Status ▸, Priority ▸, and Assignee ▸ in place of Mark done and Cancel task, and S opens Status on the focused or chosen tasks (#5797, #5841)
- A row in the Tasks page's List and a Columns card show a checkbox that chooses them, X chooses the focused task, and the sidebar chooses tasks with ⌘-click and ⇧-click so a right-click acts on them all (#5761, #5845)
- The task's ⋯ moves from the column's toolbar to its Plan tab, with Copy plan, Version history, Move to section, Move to workspace, and Open on GitHub (#5789)
- Turning off Open a task once it starts, under Settings › Account, keeps you where you were when New task starts a task, with a toast to open it (#5850)
- A task's plan lists its agents at the top, working ones first, each opening its agent and showing its pull request as a chip (#5603)
- A task's sidebar row turns unread when its agents finish, fail, or open a pull request, not only when its plan changes (#5612)
- A task summary's Tabs, Agents, Pull requests, and Pages fold as the sidebar's groups do, counting what they hide, and stay folded from task to task (#5741)
- Selecting words you can edit in a plan, or in a pull request's description, raises the full format toolbar rather than Comment alone (#5720)
- The file viewer shows Previous and Next arrows beside its card and a strip of every file's preview beneath it (#5600, #5667)
- The file viewer draws a Mermaid file (.mmd or .mermaid) as its diagram, which you can zoom and copy like a picture (#5829)
- In an agent's transcript, a GitHub review, comment, or failed check reads as a card saying who did what on the pull request, and a thread message stands under its thread's chip rather than as raw prompt text (#5682, #5685)
- An agent's transcript draws as soon as you open its tab, rather than waiting on its pull request, which joins once GitHub answers (#5588)
- A task's pull request card names who opened it, with their face (#5652)
- On a phone, the Pull request tab's Conversation filters fold into one chip whose menu holds Hide resolved and Hide bots with their counts (#5594)
- An automation's finished runs leave the sidebar's Tasks, a run staying only while it works, failed, ended unseen, waits on you, or has a pull request open (#5637)
- Automations, an automation's card, and its Sharing settings name who made it, whose GitHub access, model keys, and integrations its runs use (#5639)
- A coding agent knows which teammate sent each message, rather than taking a teammate's words as its starter's (#5611)
- An agent hears when an agent it started fails, is stopped, or is archived, rather than waiting on a report that will never come (#5779, #5792)
- A file chip or code block from an agent with no task, such as an automation's, opens its file in Luke (#5780, #5788)
- Claude Code agents search with Glob and Grep, keep a to-do list, and hand read-only jobs to a worker (#5533, #5563)
- An agent's tool descriptions say what its tools actually do (#5541)
- Toasts stand in the window's bottom-right corner rather than rising above the message box (#5630)
Fixes
- Fixed a message or Stop sent to a cloud agent counting as delivered when the agent never read it (#5781, #5813)
- Fixed a Claude Code agent not taking your messages or Stop for up to an hour, and Stop leaving a stuck agent running (#5716)
- Fixed a message to a cloud agent answering "Luke didn't hear back." while the agent was still starting or its sandbox was stopping (#5728, #5816, #5838)
- Fixed a Claude Code or Codex agent's turn failing after it lost touch with Luke for about ten minutes (#5708)
- Fixed editing a message to a cloud agent while it was still sending saying "This agent no longer exists." (#5730)
- Fixed an agent being able to run a command on your Mac after an automation's event, or someone else's review or comment on its pull request, put an outsider's words in its conversation (#5737, #5793)
- Fixed an agent's commands on your Mac answering that your Mac did not say what they did in time, until you restarted Luke (#5598)
- Fixed an agent doing what you asked on a thread without replying there (#5653)
- Fixed screenshots and pages a Claude Code agent saved to its temporary folder never reaching you (#5641)
- Fixed an agent's commands finding no Playwright or Chromium in its cloud sandbox (#5662)
- Fixed opening a task freezing the app for seconds at a time (#5564)
- Fixed the sidebar's tasks and the Tasks page loading slowly (#5619)
- Fixed the sidebar and other live lists freezing until you relaunched Luke after its service briefly couldn't check your sign-in (#5663)
- Fixed the sidebar's tasks keeping their order until you relaunched Luke, rather than sorting anew once the pointer leaves the sidebar (#5646)
- Fixed a task in the sidebar jumping to the top of Updated when one of its agents only started a turn (#5830)
- Fixed New task with an agent opening a stray New agent draft or the task's plan beside the agent (#5613, #5628)
- Fixed an automation's Archive finished runs archiving an agent whose pull request was still open (#5635)
- Fixed a narrow Inbox opening straight onto a thread, or on a phone with its first row's buttons showing, and a task's Inbox tab with one thread leaving no way back to its list (#5657, #5748)
- Fixed the Inbox choosing a thread on its own when opened, then dropping back to its list when you opened a page from that thread (#5765)
- Fixed an Inbox thread on a phone repeating its title in the bar above it (#5746)
- Fixed the agent's recommendation disappearing from a yes/no ask (#5749)
- Fixed a to-do step in an ask showing its Markdown as raw asterisks and backticks (#5743)
- Fixed words in an Inbox ask or answer that wouldn't select or quote into a reply (#5760)
- Fixed Send doing nothing, without saying why, on an unfinished answer (#5745)
- Fixed the Pull request tab's + Reviewer saying "Nobody else may be asked." when your teammates reach the repository through its organization (#5773)
- Fixed the Tasks page's Filter menu choosing nothing for every field but Status in the desktop app (#5580)
- Fixed the rows beneath showing through the Tasks page's selection bar in the dark appearance (#5833)
- Fixed a menu opened inside a scrolling card, such as the diff's Changed words menu, being cut off by that card (#5656)
- Fixed the file tree's resize edge drawing over, and taking presses from, the diff's View options menu (#5848)
- Fixed View options' rows sitting on their cards' edges, and a file's or page's source drawing as a grey card inside its tab (#5579)
- Fixed ticked task lists in a pull request's description, a review comment, or an agent's message fading to pale grey in the light theme (#5585)
- Fixed the Pull request tab's Conversation heading being cut mid-word on a phone, and its folded title sliding sideways to its Edit title pencil (#5586, #5592)
- Fixed the Pull request tab's folded Conversation, Checks, and Chapters icons naming nothing on hover in a narrow side panel (#5595)
- Fixed the automation crumb at the head of an automation agent's page doing nothing when clicked in the desktop app (#5627)
- Fixed a Mermaid flowchart with a line break in a label saying "This diagram could not be drawn." (#5801)
- Fixed GitHub and Linear chips in a plan flickering to their bare address each time a section opened or closed (#5705)
- Fixed a transcript's thread and pull request chips cutting their title short with room to spare (#5834)
- Fixed a button's trailing chevron, such as the format toolbar's Turn into ▾, sitting above the middle of its words (#5769)
- Fixed VoiceOver repeating an agent's past failures as you scrolled, and two load failures leaving you no Retry or Open Settings (#5593)
- Fixed a screen reader announcing a row's Mark as read, Resolve without answering, Pin, or Mark done without the row it acts on (#5692)
- Fixed a running turn's calls reading "3 tools called" and rewording to "3 tool calls" once it finished (#5085)
- Fixed a message box's length counter writing 3420/4000 rather than 3,420/4,000 (#5086)
Misc
- Removed voice calls: an agent's Call button, New voice chat, the call window, past calls in transcripts, and the tools agents used on a call, while Dictate stays (#5704, #5706, #5712, #5721, #5736, #5750, #5764, #5778, #5803, #5805, #5822)
- Removed the side panel's Code tab and the code agents showed in it (#5701, #5703, #5735)
- Removed the task whiteboard and its Board tab in the side panel (#5700, #5701, #5742)
- Removed linking issues to a task: the task page's Linked issues, New task's Issue chip, and the issue tags on Columns cards (#5698, #5701, #5759)
- Removed the plan template and Settings › Plan template, so a new plan starts empty (#5723)
- Removed the workspace Linear connection, so agents use each member's own Linear connection (#5771)
- Removed the task toolbar's Start, since the "+" menu's New agent starts an agent (#5566)
- Added screenshots to the 0.20.0, 0.21.0, and 0.22.0 entries (#5717)
- Updated PRIVACY.md to say which Inbox questions the sidebar and the Dock count (#5610)
Menus rise from the bottom on a phone
On a phone, or in a window small enough to draw the phone layout, a row's ⋯, a long press, and a right-click open their menu as a sheet from the bottom of the screen, every item in reach, rather than a menu floating over the page. (#5552)
Long transcripts stay fast
An agent that has run for days, thousands of tool calls and dozens of workers long, scrolls and streams as smoothly as a fresh one: Luke draws only the part of a long turn you can see, and a row arriving no longer restyles the whole window. (#5499, #5503)
Improvements
- A Claude Code agent's to-dos draw as its docked to-do list, as other agents' do (#5555)
- Claude Code and Codex agents hear what was said on a call, your time, and what changed on their task, as Luke's own agents do (#5549)
- An agent working without a repository can write files (#5539)
- An Inbox chip in a transcript opens its item in its task's Inbox tab (#5532)
- Settings on a phone or a small window names its page in the bar beside Back, with no empty band under it (#5495)
- A row's ⋯ lights only its dots, and on the web a row whose menu is open wears a softer outline (#5553)
- Automations and Runs rows look and light like every other list's, and an automation agent's run bar is a bar like every tab's (#5526, #5520, #5531)
- New thread's Subject sits on the same ground as its message box, and Link issue stands at the title's edge (#5527)
Fixes
- Fixed a message to a finished agent looking sent when it never reached the agent (#5550)
- Fixed a Claude Code or Codex agent starting a second agent or sending a message twice when it retried (#5548)
- Fixed Claude Code and Codex agents editing the plan past the cap on notes a turn (#5540)
- Fixed an agent's worker being able to push or write to GitHub (#5554)
- Fixed an agent sending a call's last, unheard line as though it was spoken (#5542)
- Fixed Run now on an automation promising its agent an event that never came (#5538)
- Fixed an agent starting from a long conversation working from a cut-off summary of it (#5535)
- Fixed a log scrolling away from its newest line on its own (#5492, #5524)
- Fixed a path cutting its crumbs short when it had room to fold them (#5547)
- Fixed a tab narrowing while its menu was open (#5522)
Misc
- Updated screen copy to cut lines that describe rather than instruct (#5506)
Undo, not "Are you sure?"
An act you can take back that touches only you now happens at once and offers Undo: deleting a section, renaming or archiving an agent, flipping an automation on or off, resetting the plan template, signing out, and starting a call while another stands. Luke asks first only where the act reaches others, its act in the accent, or cannot be undone, its act in red, and inside a Settings dialog it asks in the dialog's own foot. (#4998, #5051, #5061, #5063, #5080, #5089, #5099, #5112, #5159, #5174, #5177, #5185, #5197, #5209, #5264)
Select several at once
Choose tasks on the Tasks page and items in the Inbox the way a Mac list does, with ⌘-click, ⇧-click, ⇧↑ and ⇧↓, ⌘A, and Esc. A bar at the foot of the Tasks page marks the chosen tasks done, sets their status, or moves them to a section, with Undo, a right-click inside a selection acts on every task in it, and the Inbox marks its chosen items read or resolves them together. (#5052, #5067, #5092, #5124)
Nothing you write is lost
Esc, closing, or clicking away keeps your words in a message's Edit box, a plan comment, a review reply, New thread, and Settings fields, and closing a draft agent's tab offers Undo. Luke asks before it quits, restarts to update, signs out, or closes a web tab while unsaved words, a call, or a Mac terminal would be lost, and before an edited message cuts the ones after it. A teammate's plan edit reaches your open editor, a conflict names who wrote it, and Keep mine lays your change over theirs. (#4952, #4953, #4954, #4956, #4966, #4974, #4977, #4978, #4980, #4983, #4986, #4987, #4990, #4993, #4995)
When something fails, Luke says so
A list, picker, or Settings row whose read failed says it could not be read, with Retry, rather than showing an empty list or a ring that never stops, and a failed refresh keeps the last good rows. A press your Mac refuses raises a toast, live updates say when they break and catch up after sleep, and a window that crashes or cannot draw offers Reload rather than staying blank. Voice failures, a refused or unfunded OpenAI key, and a failed sign-in each say why and what to do. (#4950, #4955, #4957, #4958, #4960, #4963, #4964, #4965, #4968, #4969, #4970, #4971, #4972, #4975, #4976, #4979, #4981, #4984, #4985, #4988, #4991, #4992)
Automation runs
Automations has a Runs tab beside its list, every run of your workspace's automations newest first, archived ones among them, with Running and Failed counts, and the sidebar's Automations row counts the runs still working. An automation's agent page leads with Automations › its automation › the agent, and its arrows step through that automation's runs. (#5422, #5448, #5450, #5459)
Write on pull requests as you write plans
Click into a pull request's description in its tab to edit it in place, and write review comments in the plan's editor, with its toolbar, / menu, and shortcuts, and a Suggestion block in a line comment. (#4937, #4940)
Tabs on the window's frame
On a task, an agent's page, and the Inbox, the tab rows stand on the window's frame, level with the traffic lights, and the page and the side panel each sit in a sheet of their own beneath them. The chosen tab is a raised pill, drawn as the sidebar's open place is. (#5324, #4938)
Menus and arrow keys on every row
Every row with a menu, in the sidebar, the Inbox, the Tasks page, Automations and its runs, and Settings, opens it alike from its ⋯, a right-click, or the menu key. Each list is one Tab stop that you walk with ↑ and ↓, Home, and End, and Move up and Move down are in a reorderable row's menu, as ⇧⌘↑ and ⇧⌘↓. ⌘K and the menus read one list of commands, so a command has the same words, icon, and shortcut everywhere. (#5004, #5006, #5011, #5014, #5021, #5024, #5025, #5026, #5033, #5050, #5069, #5111, #5115)
Luke with a screen reader
VoiceOver reads an agent's reply once it is whole rather than in fragments, says new Inbox items as they arrive, and hears every hint, menu, tab, picker, form field, notice, and refusal from the moment focus lands, cut names read whole. Press ⌥↓ on anything that shows a hover card to move into it and Esc to come back, Tab into a list lands on its open row, and focus rings show only when you use the keyboard. (#5084, #5108, #5113, #5225, #5226, #5235, #5249, #5266, #5281, #5286, #5288, #5323, #5326, #5327, #5331, #5337, #5352, #5357)
Improvements
- Every box sends on Enter and adds a line on Shift+Enter, the Inbox's and GitHub's included (#5477, #5045, #5054)
- Messaging or starting an agent answers at once, Claude Code and Codex agents stay warm for ten minutes after a turn, and opening a task waits on fewer reads (#4895, #4925, #4885, #4889, #4894, #4891, #4860, #4864)
- Diffs, File tabs, and code cards open faster, on a script a tenth the size (#4870)
- Luke no longer raises a toast or a macOS notification when an agent finishes, an Inbox item opens, or a run fails, and Settings › Notifications is gone (#5454)
- Add a task in place from the + on a Tasks page group or column, its status, priority, and assignee taken from the group (#5391)
- The Tasks page's Board is now Columns, its cards laid out like Linear's with a hover card on each pull request, issue, person, and agent, and hover cards list everything rather than cutting it short (#4824, #5154, #5178, #5195)
- The sidebar's tasks and the Tasks page hold still while you read, moving a row only when you act on it or change the view (#5150, #5170)
- Luke remembers your folds, the Comments tab's filter, and where each Tasks view was scrolled (#5100)
- The sidebar's page rows scroll with its tasks, Pinned shows only once you pin something or drag a row, the Tasks heading keeps its actions for hover, and a workspace of one draws no unassigned mark (#5430, #5375, #5374, #5373)
- ⌘K and @ rank a row by how it matched and mark why, never make you wait on the search, and ⌘K lists the open task's and agent's commands and open files first (#5176, #5151, #5218, #5190, #5244, #5317)
- Pickers and Settings search rank what you type and mark where it matched, and Settings search finds every row (#5297, #5265)
- The Inbox's To do is now For you, and every view menu reads Group by and Order by (#5192, #5182)
- An Inbox row reads on three lines, its title and time, its task, and its preview or ask, and your reply stands in its thread while it sends (#4913, #5336)
- A done task is green, orange means only that something needs you, and the sidebar's Inbox count wears the same colour (#4934)
- The open task shows its live status, assignee, and repository, and an open Pull request tab re-reads its checks and merge box as its pull request moves (#4962, #4961)
- Reviewers, labels, and a task dropped on a Status, Priority, or Assignee group change at once and go back if the change is refused (#5242, #5213)
- A button that waits on the server shows it is working and takes no second press (#5007, #5017, #5015, #5039)
- Every block of code, in transcripts, the Inbox, and the Code tab, has one header and Copy code, and folds past 40 lines behind Show all (#5018, #5028, #5044, #5062, #5060, #5073)
- Every tool call in a transcript has its own verb and icon, an opened pull request reads as its own line, and a tool's pictures draw as one set of tiles (#4959, #4967, #5303, #5332)
- Luke's lines from a call, GitHub's, and other agents' stand at the left of an agent's transcript, with only yours on the right (#5134)
- While a call is up, the agent box shows On call, how long it has run, and whether you are muted, End call is one red button everywhere, and voice notices show as toasts (#5076, #5040, #5057)
- Every chip hangs the card its tab hangs and wears the same mark whether it was written as a mention or a link, and the toolbar picks up a document's name once you scroll past its header (#4949, #4948, #5071, #5053, #5058)
- In a narrow panel, the file tree, the terminal's shells, and the chapter rail slide in and out over the tab (#5023, #5043)
- Dialogs, popovers, submenus, the @ and / lists, the tab switcher, and the find bar fade out as they close, groups and filter chips slide away with their rows, and the place a link lands on lights the same way everywhere (#5088, #5110, #5098, #5096, #5191, #5106, #5118, #5196, #5212, #5005)
- An automation's tile wears what fires it, GitHub's or Sentry's mark, a hook for a webhook, or a clock for a schedule, and you can delete one from its row (#5141, #5228)
- A line comment you are writing in Files changed survives closing the tab, a reload, and a relaunch (#5166)
- Picture and video previews open as large as the window, clear of the traffic lights, and Previous, Next, and Close name ←, →, and Esc (#5464, #5350)
- A composer shows its attachments above your words, where the sent message shows them (#5401)
- The ask before an agent runs a command on your Mac shows just the command beside Deny, Always allow, and Allow once, and stopping a terminal on your Mac or closing its tab asks first (#5386, #5252)
- Copy link is on a published pull request's menu and on a member in Settings › Workspace, the card a transcript opens on has Copy, and an invitation offers Copy invite link (#5299, #5240, #5280)
- The person page's task, agent, and automation rows have the sidebar's menus, and its sidebar button reads Show my tasks in the sidebar (#5307, #5328)
- A model with no credential offers Connect in the model menu, Luke says when your default model has nothing to run it, and a missing agent key offers Connect Claude or Connect Codex (#5219, #5128)
- An expired integration says Sign-in expired with Reconnect, and a sign-in begun in Settings shows at once in the composer (#5148)
- Each Settings page says whether it is kept on this Mac, with your account, or with your workspace, Profile is now Account, and Settings says what a GitHub token is for and that saving a token or key replaces the one Luke holds (#5202, #5187, #5275, #5236, #5220, #5276, #5263, #5223, #5248, #5221)
- Connected services are called Integrations everywhere, and a paid Claude or ChatGPT sign-in is a subscription, apart from Luke's plans (#5272, #5291, #5245)
- Token and API key fields have Show and Hide, and an optional field says so (#5035, #5042, #5059)
- The menu bar's Go menu offers ⌘K, Move Tab Left, and Move Tab Right, ⌘R reloads the window, and the Keyboard shortcuts page adds the keys that work in one place only (#5338, #5133, #5309)
- Back and Forward list their steps from the keyboard, a tab's × names what it closes, and queued, unread, and a full context differ by more than colour (#5201, #5204)
- Every phone page has at most one control in each top corner and its title centred, and the Inbox and every list screen open on their list (#4914, #4907, #4912, #5475)
- An agent can name an Inbox thread, which draws as its chip (#5435)
- Revert to here and edit-and-resend name the teammates whose messages they would drop (#5289)
- An empty plan says Write the plan, New task says that ⌘⏎ on an empty box starts a task with no agent, and Appearance › Diffs groups its settings as Files changed's View options does (#5340, #5285, #5282)
- The desktop app shows the Mac's arrow over controls and the web app the pointing hand (#5429)
- Luke purges a deleted task's or agent's conversations seven days after the delete, not thirty (#5132)
Fixes
- Fixed any member being able to delete a teammate's plan comment thread, replies and all (#5168)
- Fixed a task with many agents tripping GitHub's rate limit, which left messages, Start, and pull request tabs failing for minutes (#5460, #5471, #5472, #5473, #5474, #5481)
- Fixed Luke crashing when the Inbox switched from To do to All (#5396)
- Fixed a page that failed to load taking the whole window down (#5227)
- Fixed a coding agent idle for over a week never starting again (#5461)
- Fixed a Claude Code or Codex agent's sandbox stopping under a new message, or a command starting twice (#4876)
- Fixed an agent failing to start on a saved API key Luke could not open, with only Retry and no word of why (#4737)
- Fixed an agent's context ring reading far past full (#5456)
- Fixed a GitHub account that Luke was uninstalled from staying tied to its old workspace (#5171)
- Fixed the web app's shortcuts not working on Windows and Linux, where they now answer Ctrl and say so (#5256)
- Fixed ⌘+, ⌘−, and ⌘0 blocking the browser's own zoom in the web app (#4994)
- Fixed a web app tab left open across an update showing "could not be shown" with a Retry that never worked (#5490)
- Fixed an open Terminal tab losing its screen and scrollback moments after it opened, and a connecting terminal on a phone showing a bare cursor (#5321, #5313)
- Fixed terminal notices unreadable in dark, and an exited shell not saying so (#5403)
- Fixed a draft cleared from a composer when a new message arrived, or when your account learned its id (#5406, #5369)
- Fixed Cancel in Send feedback throwing the note away, and its box stopping at its limit without saying so (#5311, #5344)
- Fixed a refused rename throwing away the name you typed, and a task keeping the name or status you set after the service trimmed it or a teammate changed it (#5139, #5129)
- Fixed refused sends, marks, reads, and presses that said nothing, lost your words, showed a raw network error, or waited with no sign they were working (#5343, #5333, #5341, #5243, #5238, #5315, #5230, #5247, #5229, #5186, #5181, #5353)
- Fixed a diff, file, Terminal tab, or board that failed to load offering no Retry (#5216)
- Fixed ⋯ › Rename doing nothing on a task in a wide window (#5231)
- Fixed ⌘-click in the Changes tree not opening the file in a tab (#5194)
- Fixed ⌘F in a transcript missing matches in calls not yet scrolled to (#5251)
- Fixed a transcript slipping off its newest line when the window grew as lines arrived, and an open fold repeating its words above its body (#5470, #5126)
- Fixed a replayed conversation losing its tools' marks, command descriptions, and Copy (#5304)
- Fixed a turn that ran out of time reading Abandoned rather than Failed (#5239)
- Fixed chips showing the name written when a thing was mentioned, or Untitled, rather than its name now, and a pull request or issue chip reading as its raw address when GitHub did not answer (#4908, #5368)
- Fixed a task's Inbox count including items that wait on a teammate (#4982)
- Fixed "Posted to your inbox" opening the whole Inbox rather than its item, a worker's transcript rows opening nothing, and a file mentioned in an Inbox item not opening (#5160, #5206, #5301)
- Fixed an Inbox answer of no drawn in red, closed items filed as answered, and every row's mail button naming U (#5279, #5222)
- Fixed Close on a queued pull request closing it without asking (#4989)
- Fixed Files changed sitting blank while its diff loaded, the file tree drawing its open file as a selection or crowding the diff out of the side panel, and Chapters' foot drawing over its files (#5298, #5339, #5398, #5442)
- Fixed an open plan comment card running off the window, its marks not following threads opened or closed while you edit, the plan's headings reading at two scales, and typing in a long plan slowing down (#5395, #5354, #5224, #5347)
- Fixed the plan's board keeping its old size after a resize, and running under its toolbars on a phone (#5465, #5446)
- Fixed a Tasks card's status and priority marks standing at different sizes, and a column that fits its cards scrolling anyway (#5258, #5314, #5255)
- Fixed the Workspace page's Sentry row vanishing when it could not be read, and the automation editor showing a Sentry filter's problem on the wrong row (#5173, #5146)
- Fixed Automations' runs drawn out of line, and an automation started by an event reading Not scheduled (#5407, #5444)
- Fixed ⇧⌘M and ⇧⌘S doing nothing in the floating call window, and the mute button naming ⇧⌘M before macOS granted the microphone (#4973, #5200)
- Fixed Esc in a field ending a live call, an input method's Enter confirming a dialog, and Safari's input method keys reaching a dialog mid-word (#4951, #5342)
- Fixed focus lost to the window after a dialog's opener went away or on leaving Settings, and Settings dialogs not opening on their field (#5172, #5269, #5205)
- Fixed pinned agent tabs, Back and Forward, and ⌃Tab showing a renamed thing's old name (#5268)
- Fixed the default model, effort, context, and chapters model rows never showing Saved (#5277)
- Fixed toasts covering an agent's composer, an Inbox reply box, or the phone's tab bar, and the call card covering a pull request's tabs on a phone (#5405, #5439, #5463, #5451, #5462)
- Fixed code and diffs drawn oversized on an iPhone, a File tab's tree shifted off a phone's screen, and icons overlapping task names on the Tasks list in Safari on an iPad (#5482, #5487, #5384)
- Fixed the composer, the to-do list, ⌘K, a dialog's buttons, and the welcome filling or running off a short window (#5155, #4996)
- Fixed screens, lists, rows, breadcrumbs, menus, and titles that split, folded, wrapped, or cut short by the window's width rather than their own, in a small window, at phone width, and in the side panel (#5246, #5233, #5261, #5294, #5302, #5312, #5257, #5296, #5310, #5308, #5250, #5325, #5292, #5232, #5349, #5402, #5443, #5466, #5467, #5404, #5423)
- Fixed square corners atop the side panel, title-bar buttons flashing light on hover, the side panel's toggle and the plan's tab sitting off their marks, and names cut short beside the Restart pill and in a pull request's base branch (#5410, #5142, #5131, #4931, #5397, #5491)
- Fixed integrations, MCP servers, and folds that jumped rather than glided, dictation's Transcribing word arriving before its ring, and the working mark beside a busy agent reading as a stray dot (#5274, #5267, #5283, #5330, #5351, #5409)
- Fixed a sidebar task's status, a chip's kind, and a missing picture going unheard by a screen reader (#5370, #5355, #5367)
- Fixed New thread's Subject reading as a blank, and small layout faults in chips, New task, Skills, Admin, and Settings rows (#5468, #5449, #5399)
- Fixed icons that borrowed another meaning's glyph, and icon buttons with no hint or one unlike their name (#5122, #5145, #5153, #5161, #5199, #5140, #5188, #5125, #5253, #5217)
- Fixed headings, paths, inline code, in-app links, and the / and @ menus' keys drawn several ways, and version history's Back rows naming the wrong key (#5130, #5179, #5156, #5234, #5254)
- Fixed menus, confirms, placeholders, and errors that worded one thing several ways, or repeated what the button beside them says (#5175, #5165, #5183, #5180, #5193, #5158, #5144, #5211, #5210, #5123, #5198, #5169, #5214, #5215, #5184, #5469, #5476, #5361)
- Fixed the voice's notes calling its own backend Luke (#5334)
Misc
- Added Open Luke on the web to tryluke.dev and the page a joined invitation ends on (#5345)
Coding agents on your Claude or ChatGPT plan
Run Luke's coding agents on Claude Code or Codex, paid by your own Claude or ChatGPT plan or your own API key. Settings › Agents has one row for each provider, where you choose what pays, and the composer names the plan it runs on and when a limit resets. Every model call Luke makes, calls, dictation, and titles among them, now runs on your own subscription or key, never Luke's. (#4405, #4243, #4298, #4334, #4313, #4330, #4331, #4356, #4385, #4410, #4421, #4438, #4473, #4494, #4534, #4586, #4606, #4628, #4632, #4636, #4638, #4656, #4660, #4661, #4803)
Installed skills
Install skills for your coding agents from Settings › Skills: paste an
npx skills add command, a GitHub repository, or a skill's own text, and keep
it for yourself or the whole workspace. Every agent is handed your installed
skills beside the repository's, and the / picker offers them with a Repo,
Workspace, or Personal badge.
(#4583,
#4585,
#4587,
#4592,
#4598,
#4599,
#4601,
#4751,
#4752,
#4754,
#4757,
#4830,
#4901)
A new look, in motion
Luke wears a Scandinavian palette: warm paper grounds in the light, a slate night in the dark, and one muted fjord-blue accent, with the Mac's own frosted sidebar behind the window. Controls sink and spring back as you press them, list rows slide in and glide as they move, and toasts count down and swipe away, all held still under reduced motion. (#4705, #4745, #4877, #4888, #4902, #4635, #4680, #4681, #4682, #4686, #4703, #4715, #4720, #4722, #4736, #4746, #4749, #4750, #4800)
The Tasks page, assignees, and Mark done
The sidebar's Tasks row (⇧⌘B) opens the Tasks page, a List beside the Board, which filters, groups, and orders by status, priority, creator, repository, or assignee, with each property in a column of its own. Tasks have an assignee, whose face the Board, the List, and the sidebar show. A task is no longer archived: Mark done (⇧⌘A) or Cancel task settles it, and Luke marks it Done by itself once its pull request merges and nothing waits on you. (#4209, #4222, #4126, #4142, #4306, #4379, #4414, #4415, #4416, #4420, #4448, #4450, #4522, #4673, #4678, #4679, #4816, #4886)
Sections
Sections leave Experimental for every account. Sort the sidebar's tasks and agents into sections of your own, move one with Move to section or a drag, and group the Tasks page by them. (#4250, #3960, #4464)
An Inbox that reads like a thread
An Inbox thread reads like an issue's comments, each message under its writer's chip, opening at the newest with your reply as a draft at its end. While an agent waits on an ask, its choices, steps, or fields are your reply box, and the row shows the ask itself. Search the Inbox from ⌘K or its own field, and start a thread with any agent from New thread. (#4194, #4224, #4241, #4248, #4252, #4264, #4270, #4279, #4289, #4297, #4301, #4316, #4336, #4364, #4406, #4484, #4700, #4909)
Calls on agents
Call any agent from its tab, or start one with a call from the composer's Call. The transcript keeps the call's spoken lines between markers, folded over the agent's work, and a line you type while the call is up goes to it. (#4183, #4195, #4246, #4260, #4300, #4307, #4337, #4338, #4340, #4362, #4401, #4455, #4467, #4495)
Formatting in plans and messages
Format a plan from a toolbar over your selection, or type / to insert a heading, list, table, Mermaid diagram, divider, or picture. The agent, Inbox, and comment boxes take bold, italic, strikethrough, code, and links, typed as Markdown, by shortcut, or from the toolbar. (#4819, #4820, #4821, #4831, #4835, #4838, #4841, #4844)
Preview tabs
A link you press opens in the side panel's one preview tab, its name in italics, and the next link replaces it. Double-click it or type into it to keep it, or ⌘-click a link for a tab of its own. Tabs you have not looked at for a day close themselves, and ⇧⌘T brings them back. (#4490, #4496)
Automations on Sentry, set up by agents
Install Luke's Sentry integration in Settings › Workspace › Integrations, and a new Sentry issue or alert starts the automations that match it, whose agent reads the event. Coding agents can create, change, pause, and run your automations, and the Automations page's Create with an agent starts one that sets it up. (#3754, #3769, #3770, #3776, #4685, #4692, #4714, #4716)
Improvements
- Luke opens on the Inbox when no task is open, and Home, its sidebar row, and ⇧⌘H are gone (#4311)
- Edit one of your messages to an agent and send it again, or Revert to here on a reply, and Luke takes the conversation back to that point (#4721)
- Find a task by its key in ⌘K and the @ list, and a key written anywhere draws as the task's chip (#4801, #4900, #4916, #4920)
- An agent can record its cloud browser as a video, with its pointer and clicks, and play it in its transcript, the Inbox, or the plan (#4539, #4589, #4596, #4763, #4766, #4773, #4788, #4883)
- Code draws one way everywhere, file tabs and the Code tab included, as Files changed draws a diff, and ⌘F searches the whole file (#4262, #4283, #4285, #4293, #4653)
- Review threads and Luke's notes share one comment card, which View settings can minimize to a chip (#4203, #4214, #4225)
- Settings › This Mac asks before an agent runs a command on your Mac, with Allow once, Always allow, and Deny (#4862)
- The merge control names what holds the merge up beside the one action you can take, and a pull request in the merge queue shows as Queued everywhere (#4159, #4584, #4607, #4611, #4613, #4812)
- The Pull request tab offers Run on its branch and Preview for its head commit's deployments in its header (#4326, #4758, #4791)
- Review is offered on a merged or closed pull request, and a fork's branch reads owner:branch (#4200, #4165)
- Hover cards hang from task, agent, person, repository, page, file, and pull request rows across the Board, ⌘K, menus, and the tab switcher (#4688, #4760, #4768, #4769, #4772, #4775, #4782, #4787, #4789, #4794, #4795, #4810, #4868, #4917)
- Pull request and issue chips read as their number and live title, and Google, YouTube, and X links draw as chips with their brand's mark (#4911, #4704, #4709)
- Repositories are listed with their owner's picture and name wherever you pick one (#4828, #4689)
- ⌃Tab switches between your recently used screens, and a long press on Back or Forward lists their steps (#4411, #4493, #4408, #4409)
- Agent transcripts open at their newest messages and load older ones as you scroll up (#4381, #4404, #4425, #4428)
- An agent with no task can be continued, forked, called, pinned, renamed, moved to a section, and show pages, and any agent can be deleted (#4152, #4245, #4247, #4278, #4456, #4471, #4503, #4538, #4540)
- A message to an agent whose session ended picks up where it left off, and an agent can run with no repository (#4177)
- Coding agents keep their task's status current, report to the agent that started them, and post on Inbox threads only what is ready for you (#4144, #4151, #4561)
- Attach pictures, PDFs, and text files to a plan comment, and copy a picture from the file viewer (#4281, #4295, #4303)
- Right-click any link to open or copy it (#4191)
- ⌘F finds in a page an agent drew (#4193, #4204)
- Select words in an Inbox ask and Reply quotes them, an ask can recommend several options, and a withdrawn ask keeps its options, muted (#4713, #4808, #4536, #4771)
- Ticking every step of an Inbox to-do counts as Mark done (#4275)
- When GitHub refuses your token, Luke offers Update GitHub token, or Authorize token for an organisation with single sign-on (#4164)
- The web app has the Terminal tab (#4357, #4360)
- On a phone, a bar along the foot of the screen holds the Inbox, Tasks, and More, and each screen has one header with a way back (#4545, #4546, #4560, #4570, #4593, #4747)
- Muted and accent text read at AA contrast (#4352, #4372, #4373)
- Settings › Account's Share usage data turns product analytics off (#4796)
- New task no longer offers File for later (#4843)
Fixes
- Fixed a teammate who messaged your agent being able to have it run a command on your Mac (#4770)
- Fixed model inputs, outputs, and request bodies sent to Sentry from Luke's service (#4792)
- Fixed an answer never reaching an agent whose turn had ended (#4258)
- Fixed agents answering an Inbox thread in their transcript (#4249)
- Fixed a message to a busy agent hanging for minutes (#4463, #4568)
- Fixed an Inbox reply draft lost when the agent posted again (#4579)
- Fixed the sidebar's Inbox count not matching To do (#4516)
- Fixed a picture drawn twice in an Inbox thread (#4186)
- Fixed a pull request vanishing from its task once its agent was archived (#4687)
- Fixed a token repository chosen in New task not staying chosen (#4287)
- Fixed ⌘K and @-mentions finding nothing for several short words, and agent search missing agents by their shown name (#4351, #4767, #4827)
- Fixed Escape on a task always leaving for home rather than stepping back (#4308)
- Fixed a transcript opening a few rows above its newest line (#4837)
- Fixed loading placeholders that jumped when content arrived (#4797, #4813, #4815, #4817, #4822, #4823)
- Fixed menus and submenus running past a narrow panel's edge (#4639, #4649)
- Fixed code blocks drawn without colour after the colouring process exited (#4394)
- Fixed app.notion.com links drawn as plain links (#4602)
- Fixed the page sliding away from the caret when the iPhone keyboard opened (#4171)
- Fixed a shortened chip name losing its last characters (#4185)
Misc
- Updated the Mac app with Electron fuses, so no other process can run its own code under Luke's permissions (#4784)
Luke in your browser and on your phone
Open Luke at tryluke.dev/app and work on your tasks in a browser tab, signed in as you are on the Mac. The tab keeps its own history and deep links, follows dark mode, shows notifications, connects GitHub and your integrations, and installs as an app on your phone's home screen. On a narrow screen Luke draws one pane at a time, with finger-sized targets, swipes, long presses, and touch reordering, and plans, diffs, the task board, and the composers all fit. (#3836, #3875, #3894, #3869, #3854, #3953, #3975, #3938, #3927, #3832, #3840, #3843, #3844, #3835, #3821, #4069, #4048, #4049, #4054, #4056, #4058, #4059)
Pull request chapters
Read an agent's pull request as chapters. The Pull request tab's Chapters tab generates a short outline of the change and shows each chapter's own hunks, in Files changed's view, one chapter at a time. Settings › Coding agents picks the model chapters run on. (#3955, #3950, #3974, #3983, #3998, #4088)
Task status, priority, and the Board
Every task has a key such as ACME-42, a status, and a priority, set from its page. The Board lays the workspace's tasks out by status, the sidebar filters by status, and New task's File for later adds a task to the backlog without starting it. Link GitHub issues beside Linear's from New task or a task's page, each marked Closes or Part of, and agents link them too. (#3966, #3982, #3972, #3979, #3995)
Inbox asks
An agent's Inbox message can end with an ask: a choice to decide, with the option it recommends, a to-do to tick through, or a form to answer. Answer in the thread or just reply, close an item from its row or its ⋯ menu without answering, and see pictures, side-by-side pairs, and link cards drawn in the message itself. (#3967, #3978, #3992, #4012, #4006, #4017, #4020, #3932, #4003, #3886, #3969, #3865)
Files changed, reworked
Files changed draws each file as a card, with a tree you show or hide with ⇧F, drag wider, and read Viewed marks, thread counts, and lines left to review from. Select code to comment on it, keep several line comments open at once, and edit or delete your pending review's comments on their lines. Expand a whole file from its header, copy its path, and fold every file with ⌥. Open any pull request of the task's repository in a Pull request tab, and follow a link straight to one of its review threads. (#3794, #3796, #3797, #3798, #3799, #3802, #3818, #3971, #4008, #4015, #3823, #3884, #3887)
Improvements
- Automations leave Experimental, for every account (#3853)
- The Call's tab leads a task's column beside its agents, and the plan and the task's Inbox open in the side panel (#3830)
- Run on this Mac shows the run's output with Run, Stop, and Open in Terminal, and keeps its clones and worktrees under ~/.luke (#3897, #3890)
- @-mention a date, a time, or a range, and click a date chip to change it (#3879, #3944, #3959)
- Settings plays each voice before you choose it, and offers every Live voice (#3885)
- Settings chooses whether Luke links open in the browser or the Mac app (#3856)
- Luke knows your time zone (#3952)
- New task offers @-mentions, keeps its unsent words as a draft per workspace, and holds the repository picker in its head row (#3815, #3814, #3917, #3810, #3806)
- ⌥⌘M comments on a plan's selected words, and R replies to an agent's (#3872, #3867)
- A task's tabs that hold a draft wear the Draft pencil (#4076)
- File tabs and a page's source follow View settings' type and syntax theme (#3824, #3848, #3851)
- The pull request header is compact, with the merge control in its title row and a picture in its words opening over the window (#3957, #3874, #3880)
- Agents make tasks with create_task and change agents and tasks with update_agent and update_task (#3803, #3829)
- A form's filled fields go with your Inbox reply, with no Submit, and an answered ask stays drawn as it was filled in (#4141, #4139)
- Inbox rows read and hover as the sidebar's task rows do, with the asking agent's card beside them (#4143)
- Branch names in the Pull request tab are chips that copy on click, in a tidier header, with section headings and filters drawn as the app's own (#4156, #4166, #4162)
- Each version history entry carries its Luke link (#3820)
- Luke starts faster and spends less while its windows are hidden (#3808, #4079, #4080, #4084, #4127, #4168)
Fixes
- Fixed menus and popovers drawn past the edge of the window (#3850)
- Fixed the line breaks typed in a message dropped when it was sent (#3870)
- Fixed a comment's suggested change not drawn as Files changed draws a diff (#3838)
- Fixed a pull request's mark not wearing its state's colour (#3864)
- Fixed Open on this Mac on a merged pull request whose branch was deleted, and two opens at once clashing over the clone (#3877, #3986)
- Fixed an empty side panel left open over the Inbox (#3801, #4063, #4065)
- Fixed New task's older draft replacing words typed while Luke started (#3828)
- Fixed coding agents not offered the plan's comment and edit tools (#3965, #3973)
- Fixed an integration's sign-in left unsettled (#3822)
- Fixed settings that a reset, a failed write, or another tab left out of step (#3882, #4023, #4060)
- Fixed account actions that stopped working instead of refusing (#4029)
- Fixed a review thread landing where it could not be seen (#3896)
- Fixed the tab strip's fades drawn when it does not scroll (#3994)
- Fixed the Inbox reply box keeping your words after a reply was sent (#4147)
- Fixed the call card's controls spaced and aligned unevenly (#4173)
- Fixed a finished turn's lone tool call drawn inside the row above it (#4153)
- Fixed a forked draft's chip breaking across two lines (#4158)
- Fixed cut labels in the task view ending in an ellipsis rather than fading (#4136)
Misc
- Updated the hosted service and the app to speak to each other over one typed oRPC contract (#3860, #3868, #4033, #4034)
- Updated the web app with security headers on every page and a narrower content security policy (#4043, #4044, #4045)
- Updated
PRIVACY.mdfor Neon Realtime, the web app's crash reports, and where links open (#4036)
Continue and fork an agent
Continue a coding agent that failed or ended in a new agent, or fork one at any of its messages. The new agent starts on a branch holding its source's work up to that point, keeps its start branch and pull request, and reads its source's transcript whole, with Luke's summary of whatever does not fit. A card at the top of its transcript says what it continued or forked from, and Continue opens as a draft you can edit before it starts. (#3312, #3328, #3330, #3332, #3333, #3341, #3370, #3385, #3397, #3472, #3476, #3477, #3481, #3490, #3495, #3519, #3635)
Review in the Pull request tab
Review an agent's pull request without leaving Luke. Comment on lines in Files changed, see the pending review's count, and submit or discard it. Files changed lists every file with a filter and Collapse all, draws review threads on their lines, shows changed images before and after, and keeps its Viewed boxes in step with GitHub. Merge, close, reopen, and retitle the pull request, pick its reviewers and labels, and react or comment in its Conversation, all as yourself. The agent's pull request now stands as a row over its composer, and every pull request chip opens its agent's tab. (#3245, #3268, #3286, #3294, #3304, #3305, #3309, #3313, #3348, #3607, #3619, #3624, #3638, #3643, #3645, #3646)
Inbox threads
Every Inbox item is a thread of messages under its title, and the agent reads and replies on it. Answer an approval, a to-do, a note, or a choice right in the thread or in the agent's message box, quote the agent's words, and attach files. Open an item's files, pages, and pull requests in the side panel beside it. Each row reads as two lines, the last word in its thread under its title, and you mark it read or unread, or swipe it right to do so. (#3230, #3279, #3331, #3337, #3340, #3469, #3482, #3486, #3612, #3618, #3633, #3641, #3653, #3657, #3662, #3665)
Improvements
- Agents start other agents on a new task, a branch, or a title, continue or fork another agent, stop one, and list the models and efforts they may use (#3299, #3307, #3310, #3458, #3460, #3501)
- Coding agents open a pull request against the base branch you name (#3301)
- Coding agents get the Linear issue their plan started from (#3283)
- The sidebar says when the Mac is offline (#3523)
- A task's plan says who created it and who last edited it under its title (#3622)
- Tick a plan's checkbox without opening the editor, drawn in the accent (#3450, #3453)
- The sidebar scrolls while you drag a row at its edge (#3616)
- An Inbox row whose box holds a draft wears the Draft pencil, and a form's fields stack like the message box (#3661, #3672)
- The window's words are selectable and its controls' are not (#3455)
- A toast's dismiss sits as a badge on its corner (#3652)
Fixes
- Fixed pages, lists, and panels showing an empty or false state while they load, or a red sentence when a read fails (#3345, #3451, #3608, #3626, #3627, #3629, #3634, #3639, #3640, #3644, #3647)
- Fixed an agent whose session ended for good, or whose message no turn took, not reading as failed (#3470, #3520, #3620)
- Fixed stopped agents leaving their sandboxes held, and a coding sandbox running past three hours (#3478, #3521, #3597)
- Fixed a finished coding agent's run lost to Vercel's retention (#3617)
- Fixed a dragged sidebar row jumping back into its list or leaving the sidebar (#3611, #3649)
- Fixed an Inbox answer's files not reaching the agent, and a first message's files left uncounted (#3359, #3475, #3484)
- Fixed a teammate's items of agents with no task missing from the Inbox (#3668)
- Fixed an agent's mention, card, chip, and Inbox row not wearing its harness's mark (#3125, #3637)
- Fixed a bot co-author drawn without its App's logo (#3623)
- Fixed a failed or stopped agent's end line showing a per-turn price (#3654)
- Fixed an agent's live to-do list not running its working mark (#3329)
- Fixed pull request tabs not named by their number and title (#3334)
- Fixed the plan editor breaking a task item's checkbox, its layout, or a list mixing bullets and task items (#3350, #3452, #3610)
- Fixed the space after a chosen mention not drawn in the message box (#3448)
- Fixed a joined invitation reading as spent (#3335)
- Fixed the new-workspace dialog closing after a refused name (#3374)
- Fixed vertical scrollers scrolling sideways, and an empty, loading column drawn as a box (#3461, #3677)
- Fixed the bars under a tab strip standing at different heights (#3320)
Misc
A Pull request tab for every agent
An agent's pull request opens in a tab of its own, a fixed header over Conversation, Checks, and Files changed. Conversation loads piece by piece, previews each review thread with its diff, and can hide bots and resolved threads. Checks run live, show their App, fold, and list the pull request's deployments. Files changed draws the diff unified or split, with every diff setting in a popover. Reply on, resolve, and unresolve a thread, submit a review, or change the pull request as yourself. A review or a comment on the pull request reaches the agent with what it says. (#3030, #3116, #3206, #3221, #3229, #3233, #3238, #3239, #3250, #3258, #3261, #3272, #3275, #3292, #3308)
Cards on every chip
Every chip shows a card of what it names when you point at it. An agent's card works on any task of the workspace. A page's card previews the page and names who showed each version. A pull request's card gives its files, age, branches, labels, counts, and the lines it adds and removes. A pull request's or an issue's card names its author by their GitHub face, and a Linear issue's card names its assignee. (#3102, #3106, #3109, #3126, #3140, #3161, #3191, #3234)
Improvements
- Mention a workspace's people with @ (#3170)
- Select words in an agent's message and Reply to quote them in the message box (#3025)
- Open an agent's pushed branch on this Mac in a terminal inside Luke (#3137)
- Coding agents run an Electron app in their sandbox (#3185)
- Coding agents send what is ready for review to your Inbox, and Inbox items say whose agent asks them (#3162, #3198)
- A plan's comment threads stay anchored to their words through every save (#3034)
- Zoom and pan a picture in the image preview (#3205)
- Drag the sidebar's pins into the order you want (#3131)
- New task opens its dialog at once, its name field matches Linear issues, and its issue picker searches Linear (#3149, #3300)
- Go back and forward with a mouse's side buttons under Logi Options+ (#3316)
- Coding agents read another agent with
read_agent, and have thegh stackextension in their sandbox (#3291, #3296) - A coding agent's model is sent only its newest pictures (#3253)
- A new task opens with the side panel hidden, closing the last tab shuts the panel, and Show panel opens the tab you last closed (#3123, #3159, #3166)
- The plan's tab closes beside another tab (#3204)
- A plan's document opens on its "Edited by" line (#3240)
- An agent's plan card draws the plan's pictures (#3186)
- ⌘K finds the open task's archived agents and opens each on its own page (#3107)
- Settings opens with the caret in its search (#3129)
- Workspace integrations show each GitHub account's photo (#3139)
- A call's row names the agent it is about by its chip (#3114)
- An agent turn's Copy and Copy link sit at its foot (#3178)
- The window and every web page draw from shared themes (#3119, #3138, #3142)
Fixes
- Fixed Linear refusing a workspace's connection (#3124)
- Fixed a refused sign-in renewal waiting on teardown before signing out (#3082)
- Fixed an agent's pull request chip showing only after the next message (#3081)
- Fixed toasts standing away from the window's bottom-right corner, and an agent's news staying until dismissed (#3180)
- Fixed the agent's message box losing the caret after a send (#3220)
- Fixed the @ list staying open when words past a space match nothing (#3241)
- Fixed Luke's own GitHub App bot drawn as a person (#3208)
- Fixed Escape leaving the Inbox, and the Inbox opening on a different item than the one last chosen (#3183, #3184)
- Fixed an Inbox image that lands before its item not being drawn (#3177)
- Fixed the Draft pencil marking the task that is open (#3145)
- Fixed the sender of a plan or task not named under its card (#3158)
- Fixed a section's byline crowding its heading (#3228)
- Fixed a reply quote in the message box set off differently from a sent quote (#3143)
- Fixed a chip, an Inbox crumb, or a missing picture keeping a wide gap (#3117)
- Fixed a tab shown as its glyph losing the glyph under the pointer (#3127)
- Fixed the plan editor and the message box writing styles the panel refuses (#3136)
Misc
Links that say what they point at
Every Luke link in a plan, a transcript, an Inbox item, or the Call tab is a chip named for its place: the task's, agent's, page's, or person's own name, wearing its glyph. A Luke address pasted into a box becomes its chip, and a bare one in a message is handed to the agent as its mention. A pull request's, a GitHub issue's, or a Linear issue's link says its title and state, read through the workspace's own GitHub App or Linear, in an Inbox item through that item's own workspace. A Luke link pasted into Slack, iMessage, or X unfurls as Luke's card. (#3036, #3038, #3047, #3049, #3071, #3074, #3098)
Agents that start, mention, and archive agents
A coding agent starts another coding agent on its own task or on any task of
its workspace, which list_tasks finds, and the new agent reports back to it.
The @ list offers every coding agent of the workspace, labelled by its task,
and coding agents write mentions too. Luke and coding agents read any page of
the workspace with read_page, so a page mention points at the page rather
than carrying it. An agent can archive or unarchive another, and the archived
agent's card and banner say who archived it and why. A message from another
coding agent is drawn under that agent's mark.
(#3028,
#3029,
#3064,
#3067,
#3068,
#3076,
#3078,
#3088,
#3093)
Start a task without planning
New task has a Plan switch. Turn it off and the task starts with an empty plan and no call, and the switch stays as you left it next time. (#3083)
Luke at any width
A narrow window or side panel keeps everything in reach. A side panel's file tree, Changes tree, and Terminal shells float over a skinny tab, peeked by hover and opened by their toggle, as the main sidebar does. Tab strips shrink, then fold to glyphs, then scroll with the chosen tab in view. The plan, an agent's transcript, the call bar, Settings, Home, the Inbox, and the sidebar's foot all read in a narrow column, and toasts, dialogs, and menus stay on screen in a short window. (#3089, #3090, #3079, #3056, #3055, #3058, #3052, #3053, #3054, #3050, #3043, #3051, #3059)
Improvements
- An MCP server's chip shows the server's row and tools, and says whether the turn is handed it (#3097)
- What scrolls fades beneath every pinned bar, banner, and call timer (#3057)
- The keyboard's focus ring is drawn once, whole, on the shape you see, and scrolls its control in with room to spare (#3044, #3045, #3046, #3069)
- Settings, dialogs, and empty states say less and only what helps (#3096)
Fixes
- Fixed Open in Luke opening a bare Electron rather than Luke (#3063)
- Fixed Reopen on an account still signing in adding a new account, and a disconnect deleting an account added under the same name (#3039)
- Fixed an agent whose harness is not yet known wearing a stray glyph (#3094)
- Fixed a plan picture's last editor drawn over the text rather than in the viewer (#3073)
- Fixed an empty plan drawing a summary and its button (#3072)
- Fixed a click on an empty plan's panel not putting the caret in its text (#3075)
- Fixed an Inbox picture standing taller than a screenful (#3065)
- Fixed a chip parting from the punctuation after it at a line's end (#3060)
Misc
Pictures in plans
Paste or drop a picture into a plan, or insert one with ⌥⌘I: it shows at once while it uploads, with its alt text and caption in place, and a failed upload offers Retry. A plan's pictures are drawn on its page and in its versions, open over the window, and are served only to its workspace's members. A coding agent adds a screenshot from its sandbox to the plan, and coding agents and Luke look at a plan's pictures when the alt text is not enough. (#2895, #2913, #2914, #2943, #2945, #2991, #3008)
Pictures from coding agents
A coding agent or its worker shows you pictures from its sandbox, such as a screenshot of what it built, taken in the sandbox's own Chromium after a change to anything visible, and its transcript draws them in place: one picture large, a few in a row, many as thumbnails. An integration's pictures stand as chips under its call. A picture opens in a viewer that walks the whole set, and Add to plan puts it in the agent's plan, with Undo. (#2911, #2906, #2919, #2927, #2979, #3004)
A person's page
Press a person anywhere to open their page in the workspace: what they are working on now, what waits on their answer, the tasks they created, and their other agents. ⌘K's People filter, Settings › Workspace › Members, and Your profile in the account menu lead there too. Their tasks in sidebar filters the sidebar to them, and Copy link copies a link to their page. A member who left keeps their picture, grayed, and their name says they left. (#2982, #2983, #2984, #2985, #2986, #2995, #3001, #3015)
Copy link to anything
Copy link now reaches nearly every place in Luke: an agent, its worker, its Changes, a message in its transcript, a page, the Call tab, a version, an Inbox item, and a Settings page. ⌥⌘C copies the link of what is open, ⌘K offers Copy link to each thing at hand, and every copy says Link copied. A Luke link opens its place in the window, and a place the reader cannot reach is Not found. (#2950, #2969, #2970, #2971, #2972, #2973, #2974, #2975, #3017)
Pull requests as you
A coding agent you start commits as you, with Luke as co-author, and its pull request is opened as you, so it is yours on GitHub. The Changes tab names Luke beside you, and where an agent had to write as the GitHub App, it says why. (#2952, #2963, #2976)
Start a task from Linear
An owner or admin connects Linear once for the whole workspace in Settings › Workspace › Integrations. Then New task in the sidebar offers the workspace's Linear issues, and picking one starts the task with that issue as Luke's context. Agents in the workspace use its Linear connection. (#2859)
Several accounts at one integration
Connect more than one account at a provider, such as a work and a personal Notion, in Settings › Integrations. Each stands as a row of its own, named for its workspace there, in Settings and in the MCP popover, and agents are handed each as a connection of its own, asking which one you mean where you have not said. (#2858, #2864, #2867, #2868, #2869, #2896, #2897, #2915, #2994)
Agents that talk to each other
On a call, Luke lists, reads, and messages every coding agent in the task's workspace, each named with its task, and coding agents list and message the other coding agents of their workspace. In an agent's box, @ also offers the task's pages and its other agents. (#3026, #3027, #2822, #3031)
Drafts kept
What you type in an agent's box or an Inbox answer stays when you switch tabs or tasks, kept per agent, task, and item on this Mac, and a pencil marks a draft waiting out of sight. (#2925, #2948, #3005)
Improvements
- A review, a comment, or a later failed check on an agent's pull request reaches the agent as a message from GitHub (#3007)
- A coding agent waits on its checks or a deploy without spending a model step on each look (#3000)
- Settings › Notifications sends a test notification and says when macOS has Luke's notifications off (#3011)
- ⌘F finds on every page that stands in the window (#2964)
- ⌘K groups, orders, and filters the sidebar's tasks, and archived tasks are a view of the sidebar's list rather than a group at its foot (#2904, #2905, #2966)
- Luke and coding agents edit anywhere in the plan, headings included, and a batch of their edits lands whole or not at all (#2916)
- ⌘K offers Pin task or Unpin task for the task on screen (#3021)
- A GitHub bot wears a bot badge beside its own GitHub picture (#3022)
- Mark a task unread from its menus and ⌘K, and read again (#2961)
- A task's last update counts its agents' finished turns, so a task moves up the sidebar when its agent finishes (#2935)
- A task row grouped by creator names no repository (#3003)
- A note typed on an Inbox item that asks nothing back reaches the agent, and the box says so (#2946)
- A task's Inbox heads its list with the Inbox's name and Needs you, as the window's Inbox does (#2918)
- An integration's MCP call wears its logo and names its own tool (#2934)
- New task's workspace and repository chips are the searchable pickers Settings uses, and the repository list drops its "on GitHub" heading (#2930, #2928)
- Luke's and an agent's marks stand bare where nothing overlaps them (#2990, #3014)
- A hover card offers no Open of its own, since a press on what it hangs from opens it (#2992)
Fixes
- Fixed the agent composer's and the Inbox answer box's controls piling on each other in a narrow column, a ⋯ now taking in what does not fit (#3013)
- Fixed Needs you keeping an answered item in the list, and it now says when nothing needs you (#3002)
- Fixed a message that reached an agent mid-turn being drawn above the turn rather than where it arrived (#3023)
- Fixed a coding agent sometimes never getting its title (#3024)
- Fixed a quote in a transcript or plan standing far indented and in italics (#3033)
- Fixed the page a pasted Luke link opens, and the sign-in pages, showing no icon in the browser's tab (#3035)
- Fixed a message to a coding agent started before October 15 staying at Starting (#3010)



























