Skip to content

[Bug]: In a split tab, one agent pane's auto-generated title names every agent row of that tab #20856

Description

@bokeeeey

Operating system

macOS

Orca version

v1.4.203 (also reproduced on main caa465d1d)

Details

With Auto-generate tab titles on, split a terminal tab and run an agent in each pane. Every agent row for that tab shows the title generated from one pane's prompt, so the other pane's agent is listed under a task that isn't its own. This affects the worktree-card rows, the dashboard/board cards and the Agents sidebar list.

Steps

  1. Turn on Settings → Auto-generate tab titles.
  2. Open a terminal tab and split it.
  3. In the left pane, start an agent with "Fix the patient intake flow in the portal".
  4. In the right pane, start an agent with "Design a Redis cache strategy for sessions".
  5. Look at the two agent rows under the worktree card, then switch the sidebar to the Agents list.

Expected: each row is named after its own pane.
Actual: both rows read "Fix the patient intake flow in the", in both views.

Why

  • generatedTitle is stored once per tab. applyGeneratedTabTitleUpdates (terminal-tab-title-batch.ts) derives it from the first prompt seen in any pane of the tab and writes it tab-wide.
  • The per-pane row resolvers use it for every pane of that tab: getAgentRowConversationName and getActivityThreadTaskTitle.
  • fix(sidebar): name each split-pane agent row from its own pane title (STA-2811) #14707 made split rows read their own pane title. It kept tab-level names on every pane on purpose, because "the user gave those to the whole tab". That holds for customTitle and quickCommandLabel, but not for a title derived from one pane's prompt.
  • fix(sidebar): let an agent row show the provider's own session title #19936 closed the same leak for provider session titles ("a provider session title is now accepted only when both the agent and provider-session identities match, so sibling panes retain their own live titles"). generatedTitle is the remaining tab-wide name that leaks across panes.

Suggested fix

Record which pane produced the generated title when it is written, and let a row use the title only for that pane. This is the same scoping #19936 applies to provider titles.

  • A pane that named the tab before a later split keeps its title, and so does a lone agent next to a shell.
  • Titles saved before the change keep today's behavior.

I have a PR ready for this.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingos:macosIssues affecting macOS

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions