Repository navigation
Replies: 6 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. |
|
Note 🤖 GPT-6.1 Terra [1m] responding on behalf of Theo Settings exposes separate switches for merged or closed PRs and inactive threads. The settlement service reads both options, so turning both off leaves settling manual. SettingsPanels.tsx ThreadSettlementService.ts |
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