| route-pattern | /_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format) |
| route-controller | voltron_pull_requests_fragments |
| route-action | pull_request_layout |
| fetch-nonce | v2:0a3db9ef-9342-de5e-b377-3f214fc9705f |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | EB1A:1B6A60:19EC0E:234074:6A5A6A1B |
| html-safe-nonce | c0144652dc840190e95e9a69b87eccf91d0329e38ebd5f246114446183810924 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFQjFBOjFCNkE2MDoxOUVDMEU6MjM0MDc0OjZBNUE2QTFCIiwidmlzaXRvcl9pZCI6Ijg0NzM4NzU0NjM1MjU3ODgxODciLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | f88a4590102627976255e2b0c0ee64837250c9984a7c7495e10bce4826e57725 |
| hovercard-subject-tag | pull_request:2429952503 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | ///voltron/pull_requests_fragments/pull_request_layout |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/modelcontextprotocol/python-sdk/401/pull_request_layout |
| twitter:image | https://opengraph.githubassets.com/471bd891262140d12bc2d39bede6ce4e247a3dc285ff70c2a846085c560e94e7/modelcontextprotocol/python-sdk/pull/401 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/471bd891262140d12bc2d39bede6ce4e247a3dc285ff70c2a846085c560e94e7/modelcontextprotocol/python-sdk/pull/401 |
| og:image:alt | Ensure that read/write streams are always closed (even if it is the process that ends first)
Check whether the stdio process ended prematurely
Raise an error if that was the case
Motivation and Co... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | TimChild |
| hostname | github.com |
| expected-hostname | github.com |
| None | 922bdba685ea48400234d557977f0e32d9adbae6f5125725b4f48cacc6801106 |
| turbo-cache-control | no-cache |
| go-import | github.com/modelcontextprotocol/python-sdk git https://github.com/modelcontextprotocol/python-sdk.git |
| octolytics-dimension-user_id | 182288589 |
| octolytics-dimension-user_login | modelcontextprotocol |
| octolytics-dimension-repository_id | 862584018 |
| octolytics-dimension-repository_nwo | modelcontextprotocol/python-sdk |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 862584018 |
| octolytics-dimension-repository_network_root_nwo | modelcontextprotocol/python-sdk |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 03575fc589c0e2692de839d7ca2b3aa5b5179f52 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://github.com/modelcontextprotocol/python-sdk/pull/401#start-of-content |
|
| https://github.com/ |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fpython-sdk%2Fpull%2F401 |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub Copilot appDirect agents from issue to merge | https://github.com/features/ai/github-app |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| View all resources | https://github.com/resources |
| GitHub SponsorsFund open source developers | https://github.com/open-source/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/open-source/accelerator |
| GitHub Stars | https://stars.github.com |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/enterprise/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://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%2Fmodelcontextprotocol%2Fpython-sdk%2Fpull%2F401 |
|
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%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=modelcontextprotocol%2Fpython-sdk |
| Reload | https://github.com/modelcontextprotocol/python-sdk/pull/401 |
| Reload | https://github.com/modelcontextprotocol/python-sdk/pull/401 |
| Reload | https://github.com/modelcontextprotocol/python-sdk/pull/401 |
| Please reload this page | https://github.com/modelcontextprotocol/python-sdk/pull/401 |
|
modelcontextprotocol
| https://github.com/modelcontextprotocol |
| python-sdk | https://github.com/modelcontextprotocol/python-sdk |
|
Notifications
| https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk |
|
Fork
3.7k
| https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk |
|
Star
23.6k
| https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk |
|
Code
| https://github.com/modelcontextprotocol/python-sdk |
|
Issues
256
| https://github.com/modelcontextprotocol/python-sdk/issues |
|
Pull requests
303
| https://github.com/modelcontextprotocol/python-sdk/pulls |
|
Actions
| https://github.com/modelcontextprotocol/python-sdk/actions |
|
Projects
| https://github.com/modelcontextprotocol/python-sdk/projects |
|
Models
| https://github.com/modelcontextprotocol/python-sdk/models |
|
Security and quality
6
| https://github.com/modelcontextprotocol/python-sdk/security |
|
Insights
| https://github.com/modelcontextprotocol/python-sdk/pulse |
|
Code
| https://github.com/modelcontextprotocol/python-sdk |
|
Issues
| https://github.com/modelcontextprotocol/python-sdk/issues |
|
Pull requests
| https://github.com/modelcontextprotocol/python-sdk/pulls |
|
Actions
| https://github.com/modelcontextprotocol/python-sdk/actions |
|
Projects
| https://github.com/modelcontextprotocol/python-sdk/projects |
|
Models
| https://github.com/modelcontextprotocol/python-sdk/models |
|
Security and quality
| https://github.com/modelcontextprotocol/python-sdk/security |
|
Insights
| https://github.com/modelcontextprotocol/python-sdk/pulse |
| ihrpr | https://github.com/ihrpr |
| modelcontextprotocol:main | https://github.com/modelcontextprotocol/python-sdk/tree/main |
| TimChild:prevent-stdio-hang | https://github.com/TimChild/python-sdk/tree/prevent-stdio-hang |
| Conversation | https://github.com/modelcontextprotocol/python-sdk/pull/401 |
| Commits9 (9) | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits |
| Checks | https://github.com/modelcontextprotocol/python-sdk/pull/401/checks |
| Files changed | https://github.com/modelcontextprotocol/python-sdk/pull/401/files |
| Prevent stdio connection hang for missing server path. | https://github.com/modelcontextprotocol/python-sdk/pull/401#top |
| ihrpr | https://github.com/ihrpr |
| modelcontextprotocol:main | https://github.com/modelcontextprotocol/python-sdk/tree/main |
| TimChild:prevent-stdio-hang | https://github.com/TimChild/python-sdk/tree/prevent-stdio-hang |
|
| https://github.com/TimChild |
| TimChild | https://github.com/TimChild |
| Mar 31, 2025 | https://github.com/modelcontextprotocol/python-sdk/pull/401#issue-2961618284 |
| MCP Documentation | https://modelcontextprotocol.io |
| Please reload this page | https://github.com/modelcontextprotocol/python-sdk/pull/401 |
| TimChild | https://github.com/TimChild |
| April 7, 2025 11:01 | https://github.com/modelcontextprotocol/python-sdk/pull/401#commits-pushed-bd097bf |
|
| https://github.com/TimChild |
| add test that checks if stdio connection hangs with bad connection pa… | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/bd097bfce5e4d651dd3a43071b8249527b414c14 |
| bd097bf | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/bd097bfce5e4d651dd3a43071b8249527b414c14 |
|
| https://github.com/TimChild |
| fix process hanging on bad stdio connection params | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/8558120eac0ed2eaf16aa71e49b4344bbb152a2e |
| 8558120 | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/8558120eac0ed2eaf16aa71e49b4344bbb152a2e |
|
| https://github.com/TimChild |
| make sure test only runs if uv available | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/be41b81c52dda1cdaed6ea34874b09b527dbf387 |
| be41b81 | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/be41b81c52dda1cdaed6ea34874b09b527dbf387 |
|
| https://github.com/TimChild |
| fix detection of failed process | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/90f224d6e19521e08246c3362bfa4a1bc7b0f080 |
| 90f224d | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/90f224d6e19521e08246c3362bfa4a1bc7b0f080 |
| https://github.com/TimChild |
| TimChild | https://github.com/TimChild |
| force-pushed | https://github.com/modelcontextprotocol/python-sdk/compare/6a85c7fb416e6a4f345b9398d85948d052578414..90f224d6e19521e08246c3362bfa4a1bc7b0f080 |
| 6a85c7f | https://github.com/modelcontextprotocol/python-sdk/commit/6a85c7fb416e6a4f345b9398d85948d052578414 |
| 90f224d | https://github.com/modelcontextprotocol/python-sdk/commit/90f224d6e19521e08246c3362bfa4a1bc7b0f080 |
|
Compare
| https://github.com/modelcontextprotocol/python-sdk/compare/6a85c7fb416e6a4f345b9398d85948d052578414..90f224d6e19521e08246c3362bfa4a1bc7b0f080 |
| April 7, 2025 18:59 | https://github.com/modelcontextprotocol/python-sdk/pull/401#event-17158911144 |
| https://github.com/ihrpr |
| ihrpr | https://github.com/ihrpr |
| r-05-25 | https://github.com/modelcontextprotocol/python-sdk/milestone/7 |
| Apr 29, 2025 | https://github.com/modelcontextprotocol/python-sdk/pull/401#event-17462570923 |
| https://github.com/ihrpr |
| ihrpr | https://github.com/ihrpr |
|
May 27, 2025
| https://github.com/modelcontextprotocol/python-sdk/pull/401#pullrequestreview-2872844419 |
|
View reviewed changes
| https://github.com/modelcontextprotocol/python-sdk/pull/401/files/90f224d6e19521e08246c3362bfa4a1bc7b0f080 |
| ihrpr | https://github.com/ihrpr |
| https://github.com/modelcontextprotocol/python-sdk/pull/401#pullrequestreview-2872844419 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/modelcontextprotocol/python-sdk/pull/401 |
| https://github.com/TimChild |
| TimChild | https://github.com/TimChild |
| May 28, 2025 | https://github.com/modelcontextprotocol/python-sdk/pull/401#issuecomment-2916885225 |
| Please reload this page | https://github.com/modelcontextprotocol/python-sdk/pull/401 |
| https://github.com/ihrpr |
| ihrpr | https://github.com/ihrpr |
| May 28, 2025 | https://github.com/modelcontextprotocol/python-sdk/pull/401#issuecomment-2917456757 |
| @TimChild | https://github.com/TimChild |
| #333 | https://github.com/modelcontextprotocol/python-sdk/pull/333 |
| Please reload this page | https://github.com/modelcontextprotocol/python-sdk/pull/401 |
| https://github.com/ihrpr |
| ihrpr | https://github.com/ihrpr |
| r-05-25 | https://github.com/modelcontextprotocol/python-sdk/milestone/7 |
| stdio shutdown | https://github.com/modelcontextprotocol/python-sdk/milestone/11 |
| May 28, 2025 | https://github.com/modelcontextprotocol/python-sdk/pull/401#event-17857267451 |
| ihrpr | https://github.com/ihrpr |
| May 28, 2025 21:15 | https://github.com/modelcontextprotocol/python-sdk/pull/401#commits-pushed-998631e |
|
| https://github.com/ihrpr |
| Merge branch 'main' into prevent-stdio-hang | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/998631e31f8d3ebef7c9a683e244be730c0a5095 |
| 998631e | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/998631e31f8d3ebef7c9a683e244be730c0a5095 |
|
| https://github.com/ihrpr |
| change tests | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/acce290cb4a64a47b608e9fd6835a246d775ce2a |
| acce290 | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/acce290cb4a64a47b608e9fd6835a246d775ce2a |
|
| https://github.com/ihrpr |
| close unclosed streams that were masked by not cought exceptions | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/1fb54485ecaafe7bb0864df31ae3ee4b54e6ef6a |
| 1fb5448 | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/1fb54485ecaafe7bb0864df31ae3ee4b54e6ef6a |
|
| https://github.com/ihrpr |
| catch OSError as it's casing unclosed resources | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/ba385fa7f75c212d94148905738c7fa0dc1cdbc7 |
| ba385fa | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/ba385fa7f75c212d94148905738c7fa0dc1cdbc7 |
|
| https://github.com/ihrpr |
| win error | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/a94b5490b0272899145d731422c12873e6fbb3d0 |
| a94b549 | https://github.com/modelcontextprotocol/python-sdk/pull/401/commits/a94b5490b0272899145d731422c12873e6fbb3d0 |
| https://github.com/bhosmer-ant |
| bhosmer-ant | https://github.com/bhosmer-ant |
| May 28, 2025 21:31 | https://github.com/modelcontextprotocol/python-sdk/pull/401#event-17858363587 |
| https://github.com/bhosmer-ant |
| bhosmer-ant | https://github.com/bhosmer-ant |
|
May 28, 2025
| https://github.com/modelcontextprotocol/python-sdk/pull/401#pullrequestreview-2876494015 |
|
View reviewed changes
| https://github.com/modelcontextprotocol/python-sdk/pull/401/files/a94b5490b0272899145d731422c12873e6fbb3d0 |
| bhosmer-ant | https://github.com/bhosmer-ant |
| https://github.com/modelcontextprotocol/python-sdk/pull/401#pullrequestreview-2876494015 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/modelcontextprotocol/python-sdk/pull/401 |
| https://github.com/bhosmer-ant |
| bhosmer-ant | https://github.com/bhosmer-ant |
| ihrpr | https://github.com/ihrpr |
| stale review | https://github.com/modelcontextprotocol/python-sdk/pull/401#pullrequestreview-2872844419 |
| May 28, 2025 21:32 | https://github.com/modelcontextprotocol/python-sdk/pull/401#event-17858370266 |
| https://github.com/ihrpr |
| ihrpr | https://github.com/ihrpr |
| f5dd324 | https://github.com/modelcontextprotocol/python-sdk/commit/f5dd32435435ee17ce08b498c9ef913d0a3aa1ce |
| May 28, 2025 | https://github.com/modelcontextprotocol/python-sdk/pull/401#event-17858603833 |
| https://github.com/KlementMultiverse |
| KlementMultiverse | https://github.com/KlementMultiverse |
|
Mar 6, 2026
| https://github.com/modelcontextprotocol/python-sdk/pull/401#ref-issue-4034030974 |
|
streamable_http_client hangs indefinitely when server sends POST-only endpoints without SSE fallback
#2232
| https://github.com/modelcontextprotocol/python-sdk/issues/2232 |
| https://github.com/maxisbey |
| maxisbey | https://github.com/maxisbey |
|
Jun 3, 2026
| https://github.com/modelcontextprotocol/python-sdk/pull/401#ref-pullrequest-4581189820 |
|
Fix stdio client shutdown bugs and rebuild the stdio test suite
#2773
| https://github.com/modelcontextprotocol/python-sdk/pull/2773 |
| https://github.co/hiddenchars |
| https://github.com/modelcontextprotocol/python-sdk/pull/{{ revealButtonHref }} |
| Sign up for free | https://github.com/join?source=comment-repo |
| Sign in to comment | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fpython-sdk%2Fpull%2F401 |
|
| https://github.com/bhosmer-ant |
|
bhosmer-ant
| https://github.com/bhosmer-ant |
|
| https://github.com/modelcontextprotocol/python-sdk/pull/401/files/a94b5490b0272899145d731422c12873e6fbb3d0 |
|
| https://github.com/ihrpr |
|
ihrpr
| https://github.com/ihrpr |
|
| https://github.com/modelcontextprotocol/python-sdk/pull/401/files/90f224d6e19521e08246c3362bfa4a1bc7b0f080 |
|
stdio shutdown + win related issues
| https://github.com/modelcontextprotocol/python-sdk/milestone/11 |
| Please reload this page | https://github.com/modelcontextprotocol/python-sdk/pull/401 |
|
| https://github.com/TimChild |
|
| https://github.com/ihrpr |
|
| https://github.com/bhosmer-ant |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |