You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What terminal emulator and version are you using (if applicable)?
terminal
What issue are you seeing?
I see it to often that main thread polls for subagent status, says "it is still working, I am prepping a fix anyway in case it hangs" and then later kills the subagent, only to find half-edited files that the subagent was editing.
What steps can reproduce the bug?
Not sure, I use subagents, they work, but sometimes they take time, and main thread, in his eagerness to be fast, kills them
What is the expected behavior?
NO killing of subagents!
Additional information
Example that is really detrimental:
- wasted a ton of tokens
- then killed subagent
- realized stuff is now broken since it had still work to do the subagent
- had to redo all that work again and fix it up
@jif-oai to understand this right - the model counts the time and the model decides the timeout limits?
I’ve a hard time understanding this. It’s capable of estimating what a timeout should be and even keep track of it? There’s no setting I can tweak to say „max timeout Subagent == xxx seconds“?
Yes indeed the model is supposed to estimate. And here the issue is mainly the problem becoming impatient. I'll try to tune a bit the prompt to make it more patient for now
Duh, you are right - I was still on 104. Now on 105!
... about that timeout... I think it might be very good to add a deterministic control that globally applies, something like the background_terminal_max_timeout - but for subagents. Just basically as a fallback so the main thread can decide "ok, while I consider it too long now, the user said it is OK to wait N seconds, so I will poll again.
Activity
jif-oai commentedon Feb 26, 2026
This is a model behaviour problem. This will get solved over time but I can't have a direct fix for this
smileBeda commentedon Feb 26, 2026
@jif-oai to understand this right - the model counts the time and the model decides the timeout limits?
I’ve a hard time understanding this. It’s capable of estimating what a timeout should be and even keep track of it? There’s no setting I can tweak to say „max timeout Subagent == xxx seconds“?
jif-oai commentedon Feb 26, 2026
Yes indeed the model is supposed to estimate. And here the issue is mainly the problem becoming impatient. I'll try to tune a bit the prompt to make it more patient for now
jif-oai commentedon Feb 26, 2026
Btw your screenshot shows an UX older than
0.105.0. Are you sure of your version?smileBeda commentedon Feb 26, 2026
Duh, you are right - I was still on 104. Now on 105!
... about that timeout... I think it might be very good to add a deterministic control that globally applies, something like the
background_terminal_max_timeout- but for subagents. Just basically as a fallback so the main thread can decide "ok, while I consider it too long now, the user said it is OK to wait N seconds, so I will poll again.Not sure if that makes sense to you?
jif-oai commentedon Feb 27, 2026
It make sense. That's a good idea but we need to make sure the model understand it correctly. I'll build something for this