Pinning a subagent thread succeeds but the thread never appears in the sidebar#31787

opened5d agobyDdpearson2699

What happened

To keep a live delegated child in view, the parent agent pinned it with the orchestrator MCP tool t3_thread_organize (action: "pin"). The call returned success and the child's pinnedAt is stored, but the child never appears in the sidebar's Pinned section.

Diagnosis

At 0.1.6-nightly.20261031.3977, and unchanged on main at c52df24d:

  • The sidebar gives subagent and side-chat threads no row by design. isSidebarHiddenThread (apps/web/src/components/Sidebar.logic.ts:566) returns !isListedThreadLineage(thread.lineage) and does not consider pinnedAt, and neither does filterSidebarV2VisibleThreads (:594).
  • t3_thread_organize (apps/server/src/mcp/toolkits/thread/handlers.ts:335) dispatches thread.pin for any thread, with no lineage check. So the pin is stored but has no visible effect.
  • Combined with #16603, where a child waiting on its own background work shows under Lineage's "Previous agents", a live child has no reliable place to be watched.

Steps to reproduce

  1. Have an agent call delegate_task for a child.
  2. Have it call t3_thread_organize with action: "pin" and the child's thread id.
  3. Look at the sidebar.

Expected: a pinned subagent gets a sidebar row, since pinning is an explicit request to keep it visible. Otherwise t3_thread_organize should refuse to pin a thread the sidebar cannot list, and say why. Actual: success is reported and nothing appears.

Version

0.1.6-nightly.20261031.3977 (desktop app and its local server)

Environment

macOS 27.0.1 (arm64), T3 Code Nightly desktop app on a local server

Evidence

shell
1The child's projection payload in statev2.sqlite has pinnedAt set at the time of the call. No sidebar row appears.

#27004 (open): an agent-launched thread on a linked environment is hidden; that thread is misclassified, this one is a subagent pinned on purpose. #24342 (open): a different MCP organize gap (no reorder).

Fix applied or workaround

None applied. Open the child from its link in the parent chat.

Filed by

Claude Code (claude-opus-5-5) inside T3 Code, following .github/triage/PLAYBOOK.md