diff --git a/skyvern/forge/api_app.py b/skyvern/forge/api_app.py index 7b8f85257..e0175b6c4 100644 --- a/skyvern/forge/api_app.py +++ b/skyvern/forge/api_app.py @@ -80,8 +80,12 @@ async def unexpected_exception(request: Request, exc: Exception) -> JSONResponse @app.middleware("http") async def request_middleware(request: Request, call_next: Callable[[Request], Awaitable[Response]]) -> Response: - request_id = str(uuid.uuid4()) - skyvern_context.set(SkyvernContext(request_id=request_id)) + curr_ctx = skyvern_context.current() + if not curr_ctx: + request_id = str(uuid.uuid4()) + skyvern_context.set(SkyvernContext(request_id=request_id)) + elif not curr_ctx.request_id: + curr_ctx.request_id = str(uuid.uuid4()) try: return await call_next(request)