@@ -152,7 +152,9 @@ export const AgentDevcontainerCard: FC<AgentDevcontainerCardProps> = ({
152
152
} ) ;
153
153
154
154
// Re-fetch containers when the subAgent changes to ensure data is
155
- // in sync.
155
+ // in sync. This relies on agent updates being pushed to the client
156
+ // to trigger the re-fetch. That is why we match on name here
157
+ // instead of ID as we need to fetch to get an up-to-date ID.
156
158
const latestSubAgentByName = subAgents . find (
157
159
( agent ) => agent . name === devcontainer . name ,
158
160
) ;
@@ -163,7 +165,12 @@ export const AgentDevcontainerCard: FC<AgentDevcontainerCardProps> = ({
163
165
queryClient . invalidateQueries ( {
164
166
queryKey :[ "agents" , parentAgent . id , "containers" ] ,
165
167
} ) ;
166
- } , [ latestSubAgentByName , queryClient , parentAgent . id ] ) ;
168
+ } , [
169
+ latestSubAgentByName ?. id ,
170
+ latestSubAgentByName ?. status ,
171
+ queryClient ,
172
+ parentAgent . id ,
173
+ ] ) ;
167
174
168
175
const showDevcontainerControls = subAgent && devcontainer . container ;
169
176
const showSubAgentApps =