Replies: 5 comments
|
👍 this will be appreciated. If I want to work on main/master branch it always auto settles (They have merge down PRs) My current workaround now is to always create a new branch, either by using the worktree feature or manually. |
|
Same issue here. I often use one thread as orchestrator thread, mostly it does not make its own pr's but sometimes just a small quick fix pr: and then the auto settling begins :(. |
|
Me as well. This default behavior is frustrating, I use |
|
My current workaround until a fix is to open a standing draft PR so that threads stop auto-closing. It's a bit dirty and clutters the UI but better than losing threads to auto-settling. |
|
+1 I have Fable as PM and it runs a long-running project with many sub-agents and many PRs, that master thread should not settle until I do so manually even though at any given moment it might be in a state where all PRs have been merged. My current workaround is to pin that thread. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Before submitting
Area
apps/web
Problem or use case
I want threads in the sidebar to settle only when I settle them manually, and never automatically.
The existing "Auto-settle inactive threads" toggle in Beta settings already lets me turn off the inactivity-based auto-settle (it sets
sidebarAutoSettleAfterDaystonull). But there is a second, separate trigger I cannot turn off: a thread whose PR is merged or closed always settles immediately, regardless of that toggle. The settings panel even states this: "Threads on merged or closed PRs always settle."For my workflow this is the wrong default. After a PR merges I often still want the thread front-and-center in the active list — to do follow-up work, verify the deploy, cherry-pick, or start a related change on the same branch — and having it disappear to the settled shelf the moment the PR merges means I lose track of it. Today the only escape hatch is per-thread — unsettling each thread after the fact, which I have to redo every time.
Proposed solution
Expose the two auto-settle triggers as two independent toggles in the Beta settings panel:
With both toggles off, threads never auto-settle and settling becomes fully manual.
The relevant logic is the merged/closed short-circuit in
packages/client-runtime/src/state/threadSettled.ts(it returns settled forchangeRequestState === "merged" | "closed"before theautoSettleAfterDays === nullcheck), the setting schemasidebarAutoSettleAfterDaysinpackages/contracts/src/settings.ts, and the UI inapps/web/src/components/settings/BetaSettingsPanel.tsx. Manualthread.settle/thread.unsettleshould keep working exactly as they do now (unsettling already pins a thread active until real activity viasettledOverride === "active").Why this matters
People who treat the sidebar as a live worklist want deterministic control over what leaves it. Auto-settling on merge is a good default for many, but for follow-up-heavy workflows it silently hides threads that are still relevant. A dedicated toggle for the merged/closed-PR trigger makes the behavior predictable and removes the need to repeatedly pin/unsettle individual threads.
Smallest useful scope
Add the single new "Auto-settle threads on merged/closed PRs" toggle (default on) that gates the merged/closed short-circuit. Combined with the existing inactivity toggle, turning both off makes settling fully manual.
Alternatives considered
Risks or tradeoffs
Examples or references
Contribution
All reactions