Repository navigation
[Bug]: vscode-R 3.0.1: code from other project files silently executed in R session via sess #1877
Description
Area
Session watcher or workspace viewer
Bug description
With vscode-R 3.0.1 and its sess session connection, code I did not send is executed in my live R session. Objects defined in other files of the same project silently appear in the global environment, or overwrite objects I just created. On other occasions the whole workspace has been wiped.
The executed code never appears in the console or the R history. The same workflow in R run from Terminal.app, outside VS Code, stays clean.
I run code line by line from a single R script in a single VS Code window. Restarting R, restarting VS Code, rebooting, and using brand-new scripts did not help.
- An object overwritten between two consecutive commands. I fit lm1 and called emmeans() on it immediately. In between, lm1 was replaced by a different model:
> lm1 <- lmer(speakerstance ~ stance + (1 | ResponseId), data = dtl, REML = F)
> stance <- emmeans(lm1, specs = "stance")
Error in emmeans(lm1, specs = "stance") :
No variable named stance in the reference grid
> summary(lm1)
Formula: compelling ~ reasonable + (1 | ResponseId) + (1 | scen)
Data: dtl
Subset: !is.na(reasonable)
The replacement matches a line in an older version of analysis.R in the same project folder, per VS Code's local file history:
lm1 <- lmer(compelling ~ reasonable + (1 | ResponseId) + (1 | scen), data = dtl, REML = F, subset = !is.na(reasonable))
- Objects appearing that I never created. In a fresh session, difficulty and full (both lmerModLmerTest) appeared in the workspace without my running any code that defines them.
- The foreign code was not sent through the terminal. It appears in neither the console nor the R history (savehistory()).
- The foreign model was fit in the live session, not loaded from a file.
> find("lm1")
[1] ".GlobalEnv"
> environment(formula(lm1))
<environment: R_GlobalEnv>
-
No other startup code or hooks could explain it.
• ~/.Rprofile only defines and attaches two ggplot theme functions.
• There is no project .Rprofile, no .RData, and no Rprofile.site.
• The only task callbacks are "1" (from cli::.onLoad) and "sess.workspace" (from sess::.runtime_add_task_callback).
• No MCP or agent packages are loaded. -
It does not reproduce outside VS Code. The same script, packages and data, run line by line in R from Terminal.app, showed only the objects I created. ls() was clean, and emmeans() on lm1 worked as expected.
Steps to reproduce
start an R terminal with sess connected, run a script line by line, and foreign objects eventually appear.
Expected behavior
That the objects I declared remain the ones that I declared.
Environment
| Component | Version |
|---|---|
| R | 4.5.3 (aarch64-apple-darwin20) |
| vscode-R | 3.0.1 (with sess) |
| VS Code | 1.142.0 (Universal) |
| macOS | Tahoe 26.6.2 |
Relevant R package versions
Relevant VS Code settings
"[r]": {
"editor.defaultFormatter": "REditorSupport.r",
},
"r.plot.useHttpgd": true,
"r.workspaceViewer.removeHiddenItems": true,
"r.sessionWatcher": true,Logs and additional context
No response
Activity
g-collain commentedon Oct 15, 2026
This might be related to the issue I’m facing (code silently sent to R terminal in VS Code, seems to happen only when Quarto extension is enabled) : quarto-dev/quarto#1192
eitsupi commentedon Oct 15, 2026
It may fixed by #1803.
You can try
pre release version3.2.0.ThomasSoeiro commentedon Oct 25, 2026
@arvidsamuelson Can you reproduce with vscode-r 3.2.0?