René's URL Explorer Experiment


Title: CLI-52: Fix hang on interrupt during LLM processing by szmania · Pull Request #609 · cecli-dev/cecli · GitHub

Open Graph Title: CLI-52: Fix hang on interrupt during LLM processing by szmania · Pull Request #609 · cecli-dev/cecli

X Title: CLI-52: Fix hang on interrupt during LLM processing by szmania · Pull Request #609 · cecli-dev/cecli

Description: Bug: cecli hangs in "Processing..." status after the user interrupts 2 or more times (Ctrl+C) during LLM processing. Root Cause: Asymmetric state reset in worker.interrupt() - only sets output_running=False but NOT input_running=False. Fix: A layered approach was implemented: Layer 1: Symmetric state reset in worker.interrupt() Layer 2: Changed asyncio.wait to FIRST_COMPLETED Layer 3: interrupt_event is cleared in _run_parallel's finally block. Files Changed: cecli/tui/worker.py cecli/coders/base_coder.py Reference: See .cecli.plans.md for full details.

Open Graph Description: Bug: cecli hangs in "Processing..." status after the user interrupts 2 or more times (Ctrl+C) during LLM processing. Root Cause: Asymmetric state reset in worker.interrupt() - only sets o...

X Description: Bug: cecli hangs in "Processing..." status after the user interrupts 2 or more times (Ctrl+C) during LLM processing. Root Cause: Asymmetric state reset in worker.interrupt() - onl...

Opengraph URL: https://github.com/cecli-dev/cecli/pull/609

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:37cc3580-aba5-b04e-8b55-c61f78b6fc35
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idD9B6:3A8CC3:14BB406:1CDFE64:6A61C19D
html-safe-nonce6fb736a288a3a56224dfb97404b9950538a40ad0a30a59182298aa27383f9ecf
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEOUI2OjNBOENDMzoxNEJCNDA2OjFDREZFNjQ6NkE2MUMxOUQiLCJ2aXNpdG9yX2lkIjoiNzQ4OTIxNjU2ODcwODE0MTEwIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac342cd101146e7780ab5c83f39a25c84590aab1feeff07ee6b13e5c196e52d5bc
hovercard-subject-tagpull_request:4066293223
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/cecli-dev/cecli/pull/609/files
twitter:imagehttps://avatars.githubusercontent.com/u/14087425?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/14087425?s=400&v=4
og:image:altBug: cecli hangs in "Processing..." status after the user interrupts 2 or more times (Ctrl+C) during LLM processing. Root Cause: Asymmetric state reset in worker.interrupt() - only sets o...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None6f4633bcf01c1ad14b73fd07dd39ac31d61f3d3c2578ee08ec1792b7b351eeb9
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/cecli-dev/cecli git https://github.com/cecli-dev/cecli.git
octolytics-dimension-user_id250452847
octolytics-dimension-user_logincecli-dev
octolytics-dimension-repository_id1030985330
octolytics-dimension-repository_nwocecli-dev/cecli
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forktrue
octolytics-dimension-repository_parent_id638629097
octolytics-dimension-repository_parent_nwoAider-AI/aider
octolytics-dimension-repository_network_root_id638629097
octolytics-dimension-repository_network_root_nwoAider-AI/aider
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releaseac296ae7f21856f1f92adbad22f870b6fbb4b907
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/cecli-dev/cecli/pull/609/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fcecli-dev%2Fcecli%2Fpull%2F609%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fcecli-dev%2Fcecli%2Fpull%2F609%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=cecli-dev%2Fcecli
Reloadhttps://github.com/cecli-dev/cecli/pull/609/files
Reloadhttps://github.com/cecli-dev/cecli/pull/609/files
Reloadhttps://github.com/cecli-dev/cecli/pull/609/files
Please reload this pagehttps://github.com/cecli-dev/cecli/pull/609/files
cecli-dev https://github.com/cecli-dev
ceclihttps://github.com/cecli-dev/cecli
Aider-AI/aiderhttps://github.com/Aider-AI/aider
Notifications https://github.com/login?return_to=%2Fcecli-dev%2Fcecli
Fork 44 https://github.com/login?return_to=%2Fcecli-dev%2Fcecli
Star 385 https://github.com/login?return_to=%2Fcecli-dev%2Fcecli
Code https://github.com/cecli-dev/cecli
Issues 30 https://github.com/cecli-dev/cecli/issues
Pull requests 9 https://github.com/cecli-dev/cecli/pulls
Actions https://github.com/cecli-dev/cecli/actions
Projects https://github.com/cecli-dev/cecli/projects
Security and quality 0 https://github.com/cecli-dev/cecli/security
Insights https://github.com/cecli-dev/cecli/pulse
Code https://github.com/cecli-dev/cecli
Issues https://github.com/cecli-dev/cecli/issues
Pull requests https://github.com/cecli-dev/cecli/pulls
Actions https://github.com/cecli-dev/cecli/actions
Projects https://github.com/cecli-dev/cecli/projects
Security and quality https://github.com/cecli-dev/cecli/security
Insights https://github.com/cecli-dev/cecli/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fcecli-dev%2Fcecli%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fcecli-dev%2Fcecli%2Fissues%2Fnew%2Fchoose
szmaniahttps://github.com/szmania
cecli-dev:mainhttps://github.com/cecli-dev/cecli/tree/main
szmania:cli-52-fix-hang-on-interrupthttps://github.com/szmania/cecli/tree/cli-52-fix-hang-on-interrupt
Conversation 2 https://github.com/cecli-dev/cecli/pull/609
Commits 19 https://github.com/cecli-dev/cecli/pull/609/commits
Checks 12 https://github.com/cecli-dev/cecli/pull/609/checks
Files changed https://github.com/cecli-dev/cecli/pull/609/files
Please reload this pagehttps://github.com/cecli-dev/cecli/pull/609/files
CLI-52: Fix hang on interrupt during LLM processing https://github.com/cecli-dev/cecli/pull/609/files#top
Show all changes 19 commits https://github.com/cecli-dev/cecli/pull/609/files
e2be2f2 fix: Implement CLI-52 fixes for worker and coder interrupt logic Jul 7, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/e2be2f2c743ce0758f0a279841644acdf72e2cac
201d551 fix: Update .cecli.plans.md with completed test cases Jul 7, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/201d551d8ad34771ae6b4352483b202c679319c4
2c030c9 ```python Jul 7, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/2c030c9fab72618a545cfedde8e0243d9f0ca08b
dfcf1ff commit Jul 7, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/dfcf1ff7276db1f597b062ec24905fb928b321fc
a49cfd9 fix: Add detailed logging to trace interrupt handling Jul 8, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/a49cfd95f4034b24c717eaf05770985423f36244
fd71985 fix: Remove debug print statements from base_coder and worker Jul 8, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/fd7198569e9e47edb392b06c3fb7c2c7ae15f8ff
a6444c4 fix: Remove extraneous print statement from input_task Jul 8, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/a6444c43efaeaad720d380c943562f5a1aefd9a1
bae7932 fix: Add logging to trace interrupt handling in base_coder Jul 8, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/bae79320015e1536d295775ff4ba554ba06c4ff8
c93e3d8 fix: Correctly place output_task finished debug message Jul 8, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/c93e3d865d971aa8030379aaa36cc32a1855f8f5
5af99f4 refactor: Remove debug print statements from base_coder.py Jul 8, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/5af99f49be0e1c8130fa12a23735692a484f08b8
8633c10 fix: Remove no-op stop task methods in TextualInputOutput Jul 8, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/8633c1000a90dc7f19e9a01e39b865cb3e3e0a53
6fe642a fix: Explicitly cancel input task on interrupt Jul 9, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/6fe642abd5828d2e1aa99c0627fa51e41cf7e986
a411ab0 merged Jul 14, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/a411ab0947d974f7ee72430cda37b74b8ae2bf7f
09add23 merged Jul 16, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/09add23719578a8cc1a3a400f275770df67828be
18cbe3d Fix: Apply linting fixes to codebase Jul 16, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/18cbe3dbda49d46132937b4117227a7a16c513ff
da88cbe fix: Address test failures by fixing AgentService patching and async … Jul 16, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/da88cbe9ef177c985ee5b1ee46564c4f5b004339
8f1e9d7 test: Fix worker interrupt unit tests for accurate mocking Jul 16, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/8f1e9d75d5642eadf0b863a8a8bbaa6ba27ea234
d71cf40 cli-52: fix tests Jul 16, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/d71cf4027501dfed585d90fcb91207e0fc616bff
349ef88 fix: Resolve linting errors and undefined mock in test files Jul 16, 2026 https://github.com/cecli-dev/cecli/pull/609/commits/349ef8853179f722430af84e0b715a20f609c56d
Clear filters https://github.com/cecli-dev/cecli/pull/609/files
Please reload this pagehttps://github.com/cecli-dev/cecli/pull/609/files
Please reload this pagehttps://github.com/cecli-dev/cecli/pull/609/files
base_coder.py https://github.com/cecli-dev/cecli/pull/609/files#diff-a411194de666a268ed249f2adfa23d854800610de75118d71597ae907db109c3
test.yml https://github.com/cecli-dev/cecli/pull/609/files#diff-9fbd875ca239b1ab028af92faa578df6fd937a2723564769e36674e2f46fcd50
io.py https://github.com/cecli-dev/cecli/pull/609/files#diff-598b35643fe8b1682526f31c1e2a2a668402ac789f3df62717d07c2ae3955133
worker.py https://github.com/cecli-dev/cecli/pull/609/files#diff-fc5e8c53f99c4e1b518501b416f37cf1e5adc44339818170f745d0719110513a
test_tui_interrupt.py https://github.com/cecli-dev/cecli/pull/609/files#diff-a0e55b446ed8dfcf717ee34991ed80b4500643de8852863fee688c174483479b
test_tui_regression.py https://github.com/cecli-dev/cecli/pull/609/files#diff-27295c653191bc6c31f8fad028d10d6f2edd57c4933cf41278167780143f81fa
mock_llm.py https://github.com/cecli-dev/cecli/pull/609/files#diff-3da33a0e6e6217a805731022c5c3d2f5f8a5dee2848ba182aaa8b52a055c6d76
test_coder.py https://github.com/cecli-dev/cecli/pull/609/files#diff-fc1ede914065efed72b5c11aadad85029ec340b74ea594fdfca4dcf1a17100ad
test_worker.py https://github.com/cecli-dev/cecli/pull/609/files#diff-266fb5b66aa82aad541a12cfaed7963e7486071f4bf7b3ba0c3f79f4037d1976
test_interrupt_flow.py https://github.com/cecli-dev/cecli/pull/609/files#diff-7232a7e7116f5713750e07ee27c115cfa366f975208d0d085a12ac7a0a83a18b
test_normal_regression.py https://github.com/cecli-dev/cecli/pull/609/files#diff-dcda5ac670a2672dfc4bfaa5204127736a2ec8a5820be7e2a153b38331562723
test_sub_agent_interrupt.py https://github.com/cecli-dev/cecli/pull/609/files#diff-73c5b6d789a2cfbeec9b353ebcc05d412ae475e652e67e53428138bd958ca21a
test_base_coder_interrupt.py https://github.com/cecli-dev/cecli/pull/609/files#diff-0db38c9d730f5a9da148a42679fd235879114407a1ea9922d9abb6e042b19f20
test_interrupt_event.py https://github.com/cecli-dev/cecli/pull/609/files#diff-8323927f735d6bb718bd44b3707d0a8a4ed3a16eb6e1ecc5a3c228142680bf3e
test_run_parallel.py https://github.com/cecli-dev/cecli/pull/609/files#diff-8c025a6b0e704f7665f6cfcd3e28e944ab320ea627ef5daf115b063c58d5e315
test_worker_interrupt.py https://github.com/cecli-dev/cecli/pull/609/files#diff-3b66741d68cfcb42b61ad8e20342a35a3d51ea82559c01d990d15f75c32a8ced
cecli/coders/base_coder.pyhttps://github.com/cecli-dev/cecli/pull/609/files#diff-a411194de666a268ed249f2adfa23d854800610de75118d71597ae907db109c3
View file https://github.com/cecli-dev/cecli/blob/349ef8853179f722430af84e0b715a20f609c56d/cecli/coders/base_coder.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/cecli-dev/cecli/pull/609/{{ revealButtonHref }}
https://github.com/cecli-dev/cecli/pull/609/files#diff-a411194de666a268ed249f2adfa23d854800610de75118d71597ae907db109c3
https://github.com/cecli-dev/cecli/pull/609/files#diff-a411194de666a268ed249f2adfa23d854800610de75118d71597ae907db109c3
https://github.com/cecli-dev/cecli/pull/609/files#diff-a411194de666a268ed249f2adfa23d854800610de75118d71597ae907db109c3
https://github.com/cecli-dev/cecli/pull/609/files#diff-a411194de666a268ed249f2adfa23d854800610de75118d71597ae907db109c3
https://github.com/cecli-dev/cecli/pull/609/files#diff-a411194de666a268ed249f2adfa23d854800610de75118d71597ae907db109c3
https://github.com/cecli-dev/cecli/pull/609/files#diff-a411194de666a268ed249f2adfa23d854800610de75118d71597ae907db109c3
https://github.com/cecli-dev/cecli/pull/609/files#diff-a411194de666a268ed249f2adfa23d854800610de75118d71597ae907db109c3
https://github.com/cecli-dev/cecli/pull/609/files#diff-a411194de666a268ed249f2adfa23d854800610de75118d71597ae907db109c3
https://github.com/cecli-dev/cecli/pull/609/files#diff-a411194de666a268ed249f2adfa23d854800610de75118d71597ae907db109c3
https://github.com/cecli-dev/cecli/pull/609/files#diff-a411194de666a268ed249f2adfa23d854800610de75118d71597ae907db109c3
https://github.com/cecli-dev/cecli/pull/609/files#diff-a411194de666a268ed249f2adfa23d854800610de75118d71597ae907db109c3
https://github.com/cecli-dev/cecli/pull/609/files#diff-a411194de666a268ed249f2adfa23d854800610de75118d71597ae907db109c3
cecli/prompts/test.ymlhttps://github.com/cecli-dev/cecli/pull/609/files#diff-9fbd875ca239b1ab028af92faa578df6fd937a2723564769e36674e2f46fcd50
View file https://github.com/cecli-dev/cecli/blob/349ef8853179f722430af84e0b715a20f609c56d/cecli/prompts/test.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/cecli-dev/cecli/pull/609/{{ revealButtonHref }}
cecli/tui/io.pyhttps://github.com/cecli-dev/cecli/pull/609/files#diff-598b35643fe8b1682526f31c1e2a2a668402ac789f3df62717d07c2ae3955133
View file https://github.com/cecli-dev/cecli/blob/349ef8853179f722430af84e0b715a20f609c56d/cecli/tui/io.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/cecli-dev/cecli/pull/609/{{ revealButtonHref }}
https://github.com/cecli-dev/cecli/pull/609/files#diff-598b35643fe8b1682526f31c1e2a2a668402ac789f3df62717d07c2ae3955133
https://github.com/cecli-dev/cecli/pull/609/files#diff-598b35643fe8b1682526f31c1e2a2a668402ac789f3df62717d07c2ae3955133
cecli/tui/worker.pyhttps://github.com/cecli-dev/cecli/pull/609/files#diff-fc5e8c53f99c4e1b518501b416f37cf1e5adc44339818170f745d0719110513a
View file https://github.com/cecli-dev/cecli/blob/349ef8853179f722430af84e0b715a20f609c56d/cecli/tui/worker.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/cecli-dev/cecli/pull/609/{{ revealButtonHref }}
https://github.com/cecli-dev/cecli/pull/609/files#diff-fc5e8c53f99c4e1b518501b416f37cf1e5adc44339818170f745d0719110513a
https://github.com/cecli-dev/cecli/pull/609/files#diff-fc5e8c53f99c4e1b518501b416f37cf1e5adc44339818170f745d0719110513a
Please reload this pagehttps://github.com/cecli-dev/cecli/pull/609/files
Please reload this pagehttps://github.com/cecli-dev/cecli/pull/609/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.