Skip to content

Comment on Ask HN: Why is Cursor IDE accessing all my env vars?

Comments

It seems like the command is from this line of the VSCode source (Cursor is a fork of VSCode): https://github.com/microsoft/vscode/blob/f8b29f8da2c9bfda029...

GitHub Copilot thinks it does this to capture shell-specific environment variables (like those set up in .zshrc) that you wouldn't necessarily get unless you open the app from a shell yourself. Given it's been like this for at least 4 years, I don't think it's necessarily anything nefarious, and it's likely unchanged in Cursor.

Seems like the correct answer to me. Let's assume henceforth in this post that the code still does what the original vs code authors claim it was intended to do, and nothing more. If you launch the IDE from a shell, or launch ANY program from that same shell, it will automatically have access to the environment that you're concerned about.

Here's where they introduced wrapping the environment output in "random" numbers:

https://github.com/microsoft/vscode/commit/1336b3d3c0d4338fb...

The associated issue explains that they needed to be able to ignore extraneous info returned by the shell itself, so they make the command return a token to delimit the actual environment info they want.

The very idea of spawning a shell to grab its environment has been there since the beginning of vs code:

https://github.com/microsoft/vscode/commit/8f35cc4768393b254...

iynOP

Thanks, I appreciate the additional context. Now all of it makes sense :)

iynOP

Thank you, this is it!

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.