v0.14.0

The Terminal tab

Every coding agent has a Terminal tab: a shell in the agent's own sandbox, with its repository checked out and its GitHub sign-in kept fresh. Start, rename, and end more shells beside it, each marked while it runs, and ⌘F finds in a shell's scrollback. ⌘J, ⌘K's New terminal, the panel's +, and an agent's ⋯ and right-click open one. A shell Luke cannot reach says why, and the sandbox stays up while a terminal is open, stopping five idle minutes after. (#2575, #2592, #2599, #2591, #2639, #2600, #2611, #2622, #2640, #2703, #2814, #2817)

A coding agent's Terminal tab full screen: pnpm test src/members has just passed 54 tests in the agent's sandbox, beside its shells, tests, a running dev server, and psql.

@-mentions

Type @ in the plan or in a coding agent's message box to mention a file, a folder, or one of the plan's sections; in the agent's box, @ also offers the repository's skills and your MCP servers and their tools. A mention is a chip wherever it is drawn, a renamed heading renames its mentions, and Luke never drops one when he corrects the plan. The agent is handed what it cannot read itself, and a server or tool mentioned rides along on the next turn alone. In a File tab, ⌥⌘K mentions the selected lines, pinned to their commit, and a pasted link to an integration's page is a chip that brings its server along. (#2593, #2603, #2586, #2624, #2653, #2664, #2643, #2668, #2683, #2721, #2792, #2795)

An agent's message box with a memberships.ts chip and @migr typed, its @ list offering the migrations folder and a migration file, the plan's Migration section, the db-migrations skill, and Neon's migration tools.

Who did what

Everyone is drawn one way: a person on a circle with their picture, and Luke, a coding agent, or an automation on a rounded square. A plan's "Edited by" line and its section bylines name whoever wrote it, the time opening the history, and a task's ⋯ menu ends with who created and last edited it. A teammate's call is headed by their face and name, their messages in an agent's tab carry it, and an agent a teammate started, an Inbox answer, and a command run on someone's Mac each say whose it was. A task someone else created wears their face in the sidebar, and its card, crumb, Home, the Factory, and ⌘K name who created it. (#2784, #2794, #2796, #2793, #2779, #2774, #2775, #2773, #2742, #2748, #2702, #2715, #2638, #2853, #2854, #2873, #2875, #2877)

The Teammate invitations plan, edited by Dana Moreno on her face under its acme › relay crumb and the five who can edit it, its sections signed by Dana, Luke during your call, a coding agent, and Jordan Lee.

Workspaces, clearer

The workspace heads the sidebar by its tile, its photo or first letter, and who shares it, and the window's title, New task, and a task's crumbs say where you are: "acme › relay" and "5 can edit" over its title. Switching workspaces opens its last task or its home, the Inbox follows, and Search names the others. A personal workspace takes your name. Owners and admins rename a workspace and set its photo, the owner makes members admins and hands the workspace over to leave it, and an invite stays good after whoever sent it leaves. A task whose repository its workspace cannot reach says so over every tab and offers Move to workspace, which says who loses and gains it. (#2718, #2712, #2802, #2719, #2723, #2730, #2808, #2733, #2736, #2741, #2764, #2786, #2788, #2789, #2772, #2749, #2750, #2757, #2820, #2824, #2840, #2845, #2761, #2771, #2803, #2804, #2870)

The sidebar headed by acme's mark and its five members, its switcher open on Dean's personal workspace, acme, and Harbor Labs, over acme's tasks.

Tasks

What you work through with Luke is now a task, and the plan is the document inside it: the sidebar, New task, ⌘K, the Tasks menu, and every notice say so. A coding agent's own instructions, and an automation's, are its Prompt. (#2835, #2841, #2844, #2848)

Luke links

Copy link to task, in a task's ⋯ menu or the ⋯ beside its title, copies a link that opens the task in Luke at its section: pressed in the window, from another app through tryluke://, or from a browser through a page whose one press opens Luke and which says what to check when nothing opens. (#2695, #2696, #2697, #2819, #2831)

Experiments: Automations and the Factory

Settings › Experimental turns on features before they are finished. Automations start a coding agent on a schedule, on a GitHub event in the workspace's repositories (choosing whose events, at which moments, and whether drafts and forks count), or from a webhook, for you or the whole workspace, and its page lists its runs, each opening the agent it started. An agent an automation started belongs to no task: it has a page of its own, its questions wait in the Inbox under its automation, and it says what started it. The Factory is a read-only board of every task, from Plan to Build to Ship, beside the Inbox. (#2709, #2699, #2692, #2752, #2754, #2759, #2760, #2776, #2778, #2768, #2770, #2805, #2780, #2799, #2674, #2720, #2713, #2745, #2765, #2767, #2601, #2608)

The Morning Sentry triage automation's page: weekdays at 9:00 on a schedule, its task, repositories, and model, and its runs beside it, one working now and four finished.

Improvements

  • The sidebar lists tasks in one section, grouped by repository, by creator, or not at all, in the order you choose, and filters them by who created them (#2893, #2899)
  • The Changes tab and card name who opened the pull request, its reviewers by where each stands, its commit authors, and its review comments (#2862, #2863, #2865, #2878)
  • A Mermaid fence in a plan draws as its diagram, in the read view and under its code in the editor (#2890)
  • A workspace holds several GitHub installations, listed in Settings › Workspace and managed on GitHub (#2642, #2644)
  • Start a task without a name: it stands as Untitled until you name it (#2888)
  • An Inbox item standing alone says where it stands, 2 of 8, and steps through the list by its arrows, J, and K, and a settled one offers the next that needs you where its box stood (#2882, #2885)
  • A task counts as read the moment it opens, on whichever of its tabs (#2900)
  • A pinned task is pinned for you alone, not for the whole workspace (#2901)
  • Luke answers sooner on a call, his replies waiting on nothing earlier, and a call greets you from where the last one left off (#2623)
  • A link is one quiet underline, a bare address says its host and path with a ↗, and cards, Inbox rows, and notifications name a link rather than print it (#2800, #2815, #2798, #2797)
  • Executor joins Settings › Integrations, every tool offered and its approvals put to you (#2590)
  • Settings › Integrations searches integrations and tools on its own, and a tool opens onto a page of its own there and in the MCP popover (#2635, #2700)
  • A window too narrow for the sidebar folds it to float over the work, and a narrow Inbox opens on its item, the list a press of ‹ Inbox away (#2679, #2680, #2879)
  • An Inbox option the agent recommends wears a Recommended badge (#2881)
  • A repository out of reach says why under the composer and offers what mends it (#2573, #2588)
  • A sign-in Connect cancelled or refused says so, with Try again (#2595, #2604)
  • The repository chip says when a workspace's GitHub was removed or suspended on GitHub, rather than that none is connected (#2834)
  • Each column's ⋯ offers the chosen tab's actions, and tab housekeeping stays on the right-click (#2783)
  • The sidebar sets an unread task in semibold and a read one in a quieter ink, every row 30px tall (#2801)
  • Every window draws its words without the Mac's font smoothing (#2807)
  • The sign-in's buttons stand taller and wear "Last used" on the corner of the one it marks (#2782, #2785)
  • A tool-call group leads with its fold's chevron, wears the failed mark where a call it holds failed, and a subagent's tab groups its calls as its agent's does (#2892, #2907)
  • No button, menu item, or command ends its name with an ellipsis (#2821)

Fixes

  • Fixed a sidebar group not listing its tasks newest updated first (#2818)
  • Fixed Settings saying Connected for a GitHub installation that GitHub removed or suspended (#2828, #2829)
  • Fixed an agent's terminals failing to list in a busy account (#2809)
  • Fixed "Changed since you last looked" missing a teammate's saves (#2689)
  • Fixed Home missing a teammate's agent's open items (#2755)
  • Fixed the Call tab not naming a teammate's call (#2694)
  • Fixed Choose a model's menu hanging away from its button and showing a stale catalog (#2763)
  • Fixed an open popover jumping as its button grew or shrank (#2629)
  • Fixed a call's card floating over a version history's versions (#2816)
  • Fixed Contact us opening inside the account menu rather than beside it (#2649)
  • Fixed Settings › Profile and Settings › Workspace drawing you unlike the rest of the window, and offering Remove on your own row (#2810, #2813)
  • Fixed a transparent workspace photo showing its letter tile behind it (#2769)
  • Fixed a picture on its own line opening in the plan editor as something you could not edit (#2886)
  • Fixed a menu's second submenu item not opening its submenu on hover (#2917)
  • Fixed Luke's face moving on the sign-in screen (#2891)
  • Fixed an agent's to-do list sitting off its rows' text, its item in progress now wearing the working mark (#2874)
  • Fixed an inline chip sitting off its line's baseline, a section's byline sitting off its ⋯, and a page's empty state sitting low (#2856, #2658, #2832)

Misc

  • Updated the renderer to load Settings, analytics, and the markdown parser as chunks of their own, its main bundle 18% smaller (#2738, #2743)
  • Updated the code's layout so application logic lives in packages/, under one @luke/* scope (#2648, #2652, #2654, #2659, #2728)
  • Added screenshots to 0.13.0 from its own build (#2645)