Repository navigation
Let agents turn a thread's auto-settle off through the t3-code MCP #23485
emiliarepo
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Note
[claude-opus-5-5] Written by Claude Opus 5.5 on behalf of Emilia.
Before submitting
Area
apps/server (
t3-codeMCP thread toolkit)Problem or use case
An agent often knows before the merge that the thread is not done when its PR merges. In my case the agent opened a PR into a
releasebranch, babysat it, and merged it when I asked. The ticket still had two steps: queue the Test deploy, which nothing triggered automatically, and run a storage copy after the next prod release. The agent listed both in its final reply. The thread auto-settled 20 seconds after that turn ended.The per-thread switch from #11846 (thread menu, Auto-settle behavior → Disabled) is the right tool, but only a person can flip it.
t3_thread_organizeoffers pin, unpin, snooze, unsnooze, settle, unsettle, archive, unarchive and mark_unread. Thethread.auto-settle.setcommand exists (Orchestrator.ts:3118), but no MCP tool dispatches it.What an agent can do today (main @ 5ffe045, tested on 0.1.1-nightly.20261019.3360):
unsettlebefore the merge setssettledOverride: "active", but any message dispatch clears it (Orchestrator.ts:4930). Tested: unsettle, send one message, and the override is null again. A PR-watch wake is enough to undo it.unlink_pull_requestdrops the PR status beside the thread. From the code, the sweep would then find the same merged PR through the branch lookup anyway.pinworks, sinceisAutoSettlementCandidateskips pinned threads (ThreadSettlementService.ts:164). But it fills the user's pinned list with threads they never chose to pin.Proposed behavior
t3_thread_organize, for exampledisable_auto_settleandenable_auto_settle, that dispatchthread.auto-settle.setunder the same archived-thread rules as the other actions.t3_thread_readandt3_thread_list(for exampleautoSettleEnabled) so an agent can read back what it set. Neither tool shows it today, nor the pin (Expose pinned state in orchestrator MCP thread tools (t3_thread_list / t3_thread_read) #18316).Manual settle keeps working, as it does with the menu switch.
Why this matters
T3 asks agents to link every PR they open, so most agent threads have a linked PR, and merge settlement decides when they leave the active list. The agent writing the handoff knows whether work remains after the merge. Letting it set the switch the user already has puts that knowledge where the settlement rule reads it.
Smallest useful scope
Two
t3_thread_organizeactions over the existing command, plus one read-back field. No new settlement rules and no new setting.Alternatives considered
unsettleoverride through agent messages (one of the fixes in [Bug]: An agent-orchestrated thread re-settles after every turn once its linked PRs merged, killing its background commands, and MCP has no way to opt it out #19263). That would also work, butunsettleis a one-off action, and the switch already exists for the durable case.Risks or tradeoffs
An agent could leave finished threads in the active list. The switch is visible in the thread menu, the user can still settle by hand, and the agent can turn it back on once its follow-up is done.
Also
docs/user/thread-sidebar.md:65still says "Pinning does not prevent automatic settlement", which #11711 changed. #19263 noted this too.All reactions