In Claude Agent SDK, manual user pause is flaky. Most sessions stop successfully, but in some cases instance.interrupt() does not reach the expected completion path (missing interrupt() completed log), and the session appears not to pause reliably. Could you clarify the timing/state requirements for interrupt() and whether this intermittent behavior is a known issue?
failed log:
2026-04-14 09:15:28 [INFO ] [userId:] Abort session: calling abort handler {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
2026-04-14 09:15:28 [INFO ] [userId:] Abort Claude SDK: entry {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:15:28 [INFO ] [userId:] Abort Claude SDK: session found {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","status":"active"}
2026-04-14 09:15:28 [INFO ] [userId:] Abort Claude SDK: calling instance.interrupt() {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:15:28 [INFO ] [userId:] Abort session: request received {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
2026-04-14 09:15:28 [DEBUG] [userId:] Abort session: session existence check {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude","sessionExists":true}
2026-04-14 09:15:28 [INFO ] [userId:00015036] Abort session: calling abort handler {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
2026-04-14 09:15:28 [INFO ] [userId:] Abort Claude SDK: entry {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:15:28 [INFO ] [userId:] Abort Claude SDK: session found {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","status":"active"}
2026-04-14 09:15:28 [INFO ] [userId:] Abort Claude SDK: calling instance.interrupt() {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:15:29 [INFO ] [userId:] Abort session: request received {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
2026-04-14 09:15:29 [DEBUG] [userId:] Abort session: session existence check {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude","sessionExists":true}
2026-04-14 09:15:29 [INFO ] [userId:] Abort session: calling abort handler {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
2026-04-14 09:15:29 [INFO ] [userId:] Abort Claude SDK: entry {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:15:29 [INFO ] [userId:] Abort Claude SDK: session found {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","status":"active"}
2026-04-14 09:15:29 [INFO ] [userId:] Abort Claude SDK: calling instance.interrupt() {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:16:21 [INFO ] [userId:] Abort session: request received {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
2026-04-14 09:16:21 [DEBUG] [userId:] Abort session: session existence check {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude","sessionExists":true}
2026-04-14 09:16:21 [INFO ] [userId:] Abort session: calling abort handler {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
2026-04-14 09:16:21 [INFO ] [userId:] Abort Claude SDK: entry {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:16:21 [INFO ] [userId:] Abort Claude SDK: session found {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","status":"active"}
2026-04-14 09:16:21 [INFO ] [userId:] Abort Claude SDK: calling instance.interrupt() {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:19:23 [INFO ] [userId:] Abort session: request received {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
success log:
Abort Claude SDK: session found {"sessionId":"f10128cf-7fbc-4af5-804e-f6e1e3d6bf3b","status":"active"}
2026-04-14 14:20:04 [INFO ] [userId:] Abort Claude SDK: calling instance.interrupt() {"sessionId":"f10128cf-7fbc-4af5-804e-f6e1e3d6bf3b"}
2026-04-14 14:20:04 [INFO ] [userId:] Abort Claude SDK: interrupt() completed {"sessionId":"f10128cf-7fbc-4af5-804e-f6e1e3d6bf3b"}
In Claude Agent SDK, manual user pause is flaky. Most sessions stop successfully, but in some cases instance.interrupt() does not reach the expected completion path (missing interrupt() completed log), and the session appears not to pause reliably. Could you clarify the timing/state requirements for interrupt() and whether this intermittent behavior is a known issue?
failed log:
2026-04-14 09:15:28 [INFO ] [userId:] Abort session: calling abort handler {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
2026-04-14 09:15:28 [INFO ] [userId:] Abort Claude SDK: entry {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:15:28 [INFO ] [userId:] Abort Claude SDK: session found {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","status":"active"}
2026-04-14 09:15:28 [INFO ] [userId:] Abort Claude SDK: calling instance.interrupt() {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:15:28 [INFO ] [userId:] Abort session: request received {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
2026-04-14 09:15:28 [DEBUG] [userId:] Abort session: session existence check {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude","sessionExists":true}
2026-04-14 09:15:28 [INFO ] [userId:00015036] Abort session: calling abort handler {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
2026-04-14 09:15:28 [INFO ] [userId:] Abort Claude SDK: entry {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:15:28 [INFO ] [userId:] Abort Claude SDK: session found {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","status":"active"}
2026-04-14 09:15:28 [INFO ] [userId:] Abort Claude SDK: calling instance.interrupt() {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:15:29 [INFO ] [userId:] Abort session: request received {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
2026-04-14 09:15:29 [DEBUG] [userId:] Abort session: session existence check {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude","sessionExists":true}
2026-04-14 09:15:29 [INFO ] [userId:] Abort session: calling abort handler {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
2026-04-14 09:15:29 [INFO ] [userId:] Abort Claude SDK: entry {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:15:29 [INFO ] [userId:] Abort Claude SDK: session found {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","status":"active"}
2026-04-14 09:15:29 [INFO ] [userId:] Abort Claude SDK: calling instance.interrupt() {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:16:21 [INFO ] [userId:] Abort session: request received {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
2026-04-14 09:16:21 [DEBUG] [userId:] Abort session: session existence check {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude","sessionExists":true}
2026-04-14 09:16:21 [INFO ] [userId:] Abort session: calling abort handler {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
2026-04-14 09:16:21 [INFO ] [userId:] Abort Claude SDK: entry {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:16:21 [INFO ] [userId:] Abort Claude SDK: session found {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","status":"active"}
2026-04-14 09:16:21 [INFO ] [userId:] Abort Claude SDK: calling instance.interrupt() {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155"}
2026-04-14 09:19:23 [INFO ] [userId:] Abort session: request received {"sessionId":"9eae6a77-c62b-4c11-a85f-7bdb328e5155","provider":"claude"}
success log:
Abort Claude SDK: session found {"sessionId":"f10128cf-7fbc-4af5-804e-f6e1e3d6bf3b","status":"active"}
2026-04-14 14:20:04 [INFO ] [userId:] Abort Claude SDK: calling instance.interrupt() {"sessionId":"f10128cf-7fbc-4af5-804e-f6e1e3d6bf3b"}
2026-04-14 14:20:04 [INFO ] [userId:] Abort Claude SDK: interrupt() completed {"sessionId":"f10128cf-7fbc-4af5-804e-f6e1e3d6bf3b"}