SOLFIND
Web Lens
Portal home

contextBridge.exposeInMainWorld does not copy Error details · Issue #25596 · electron/electron · GitHub

https://github.com/electron/electron/issues/25596 • 296 KB fetched
Open original page


contextBridge.exposeInMainWorld does not copy Error details · Issue #25596 · electron/electron · GitHub Skip to content Navigation Menu Sign in Appearance settings * Platform * AI CODE CREATION * GitHub Copilot Write better code with AI * GitHub Copilot app Direct agents from issue to merge * MCP Registry Integrate external tools * DEVELOPER WORKFLOWS * Actions Automate any workflow * Codespaces Instant dev environments * Issues Plan and track work * Code Review Manage code changes * Code Quality Enforce quality at merge * APPLICATION SECURITY * GitHub Advanced Security Find and fix vulnerabilities * Code security Secure your code as you build * Secret protection Stop leaks before they start * EXPLORE * Why GitHub * Documentation * Blog * Changelog * Marketplace View all features * Solutions * BY COMPANY SIZE * Enterprises * Small and medium teams * Startups * Nonprofits * BY USE CASE * App Modernization * DevSecOps * DevOps * CI/CD * View all use cases * BY INDUSTRY * Healthcare * Financial services * Manufacturing * Government * View all industries View all solutions * Resources * EXPLORE BY TOPIC * AI * Software Development * DevOps * Security * View all topics * EXPLORE BY TYPE * Customer stories * Events & webinars * Ebooks & reports * Business insights * GitHub Skills * SUPPORT & SERVICES * Documentation * Customer support * Community forum * Trust center * Partners View all resources * Open Source * COMMUNITY * GitHub Sponsors Fund open source developers * PROGRAMS * Security Lab * Maintainer Community * GitHub Stars * Archive Program * REPOSITORIES * Topics * Trending * Collections * Enterprise * ENTERPRISE SOLUTIONS * Enterprise platform AI-powered developer platform * AVAILABLE ADD-ONS * GitHub Advanced Security Enterprise-grade security features * Copilot for Business Enterprise-grade AI features * Premium Support Enterprise-grade 24/7 support * Pricing Search / Sign in Sign up Appearance settings 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 Uh oh! There was an error while loading. Please reload this page . electron / electron Public * Notifications You must be signed in to change notification settings * Fork 17.5k * Star 123k * Code * Issues 626 * Pull requests 132 * Actions * Projects * Security and quality 61 * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security and quality * Insights contextBridge.exposeInMainWorld does not copy Error details   #25596 New issue Copy link New issue Copy link Closed as not planned Closed as not planned contextBridge.exposeInMainWorld does not copy Error details #25596 Copy link Labels 10-x-y bug 🪲 platform/windows stale Description rfricz opened on Sep 23, 2020 Issue body actions Preflight Checklist * I have read the Contributing Guidelines for this project. * I agree to follow the Code of Conduct that this project adheres to. * I have searched the issue tracker for an issue that matches the one I want to file, without success. Issue Details When calling functions exposed by contextBridge.exposeInMainWorld , Promises rejected with Error objects or directly thrown Errors (and even caught Errors returned in a wrapper) are not copied as the documentation states – all important information except the message is removed, e.g. Common System Error properties like err.code , err.path etc. are gone. Also, the “Uncaught Error: ” message prefix is not very helpful. * Electron Version: * 10.1.2 * Operating System: * Windows 10 (2004) Expected Behavior Instances of the Error class (or inherited from it) coming from the context bridge should have all properties preserved (except err.stack , obviously) and message left intact to allow meaningful error handling. Structured Clone Algorithm otherwise serializes Error objects correctly. Actual Behavior The Error object is stripped of important additional properties and has a confusing message saying it’s uncaught even when caught on both sides of the bridge. To Reproduce preload.js const { contextBridge } = require ( 'electron' ) ; const fs = require ( 'fs' ) ; contextBridge . exposeInMainWorld ( 'myapi' , { request : ( ) => fs . lstatSync ( 'foo' ) } ) ; renderer try { window . myapi . request ( ) ; } catch ( e ) { console . dir ( e ) ; } Reactions are currently unavailable Activity Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment Metadata Metadata Assignees No one assigned Labels 10-x-y bug 🪲 platform/windows stale Type No type Projects No projects Milestone No milestone Relationships None yet Development No branches or pull requests Issue actions * Open in GitHub Copilot app Footer (c) 2026 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Community * Docs * Contact * Manage cookies * Do not share my personal information You can’t perform that action at this time.

Links found on this page

  1. Skip to content [direct]
  2. Sign in [direct]
  3. GitHub Copilot Write better code with AI [direct]
  4. GitHub Copilot app Direct agents from issue to merge [direct]
  5. MCP Registry Integrate external tools [direct]
  6. Actions Automate any workflow [direct]
  7. Codespaces Instant dev environments [direct]
  8. Issues Plan and track work [direct]
  9. Code Review Manage code changes [direct]
  10. Code Quality Enforce quality at merge [direct]
  11. GitHub Advanced Security Find and fix vulnerabilities [direct]
  12. Code security Secure your code as you build [direct]
  13. Secret protection Stop leaks before they start [direct]
  14. Why GitHub [direct]
  15. Documentation [direct]
  16. Blog [direct]
  17. Changelog [direct]
  18. Marketplace [direct]
  19. View all features [direct]
  20. Enterprises [direct]
  21. Small and medium teams [direct]
  22. Startups [direct]
  23. Nonprofits [direct]
  24. App Modernization [direct]
  25. DevSecOps [direct]
  26. DevOps [direct]
  27. CI/CD [direct]
  28. View all use cases [direct]
  29. Healthcare [direct]
  30. Financial services [direct]
  31. Manufacturing [direct]
  32. Government [direct]
  33. View all industries [direct]
  34. View all solutions [direct]
  35. AI [direct]
  36. Software Development [direct]
  37. DevOps [direct]
  38. Security [direct]
  39. View all topics [direct]
  40. Customer stories [direct]
  41. Events & webinars [direct]
  42. Ebooks & reports [direct]
  43. Business insights [direct]
  44. GitHub Skills [direct]
  45. Customer support [direct]
  46. Community forum [direct]
  47. Trust center [direct]
  48. Partners [direct]
  49. View all resources [direct]
  50. GitHub Sponsors Fund open source developers [direct]
  51. Security Lab [direct]
  52. Maintainer Community [direct]
  53. GitHub Stars [direct]
  54. Archive Program [direct]
  55. Topics [direct]
  56. Trending [direct]
  57. Collections [direct]
  58. Copilot for Business Enterprise-grade AI features [direct]
  59. Premium Support Enterprise-grade 24/7 support [direct]
  60. Pricing [direct]
  61. Sign up [direct]
  62. electron [direct]
  63. electron [direct]
  64. Notifications [direct]
  65. Issues 626 [direct]
  66. Pull requests 132 [direct]
  67. Actions [direct]
  68. Projects [direct]
  69. Security and quality 61 [direct]
  70. Insights [direct]
  71. 10-x-y [direct]
  72. bug 🪲 [direct]
  73. platform/windows [direct]
  74. stale [direct]
  75. rfricz [direct]
  76. Contributing Guidelines [direct]
  77. Code of Conduct [direct]
  78. Common System Error [direct]
  79. Sign up for free [direct]
  80. Sign in to comment [direct]