Workspace should not need to be "trusted" to create a terminal
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.4k
- PR merge metrics
- PR metrics pending
Description
Type: Bug
I opened a folder in VSCode that I've never opened before, and then I tried to open a terminal. VSCode threw up the "do you trust this folder" dialog, because "opening a terminal requires executing code".
This is utter nonsense—if someone has their terminal configured to execute arbitrary code when they so much as cd into a folder, that's on them, not on VSCode. There is absolutely no reason VSCode should be executing any code inside that folder on its own behalf when launching a terminal.
The reason this is a problem is because it creates a perverse incentive to trust everything. The less functionality VSCode offers in "untrusted" mode, the more the user is incentivized to just hit the "Trust" button so they can get their work done—especially if the work is, itself, vetting the code!
Please reserve the "trust" dialog for things that *actually need to trust the content of the folder*. cd'ing into it, or launching a terminal in it, is not one of those things—this is the most basic operation it is possible to do. I literally cannot think of an operation on a directory tree that requires less trust of the tree than `cd`.
VS Code version: Code 1.136.2 (88e44fa0e00b08f7758b4f6d05632e4fd5e4df6f, 2026-09-04T21:40:42Z)
OS version: Darwin arm64 25.6.0
Modes:
System Info
|Item|Value|
|---|---|
|CPUs|Apple M5 Max (18 x 2400)|
|GPU Status|2d_canvas: enabled
GPU0: VENDOR= 0x106b [Google Inc. (Apple)], DEVICE=0x0000 [ANGLE (Apple, ANGLE Metal Renderer: Apple M5 Max, Version 26.6.2 (Build 25G83))], DRIVER_VENDOR=Apple, DRIVER_VERSION=26.6.2 *ACTIVE*
Machine model name: Mac
Machine model version: 17.6
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: enabled_on
trees_in_viz: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgpu: enabled
webnn: disabled_off|
|Load (avg)|2, 1, 1|
|Memory (System)|128.00GB (35.08GB free)|
|Process Argv|--crash-reporter-id 25ee660c-d4c7-4807-bc71-ae40f802f1f4|
|Screen Reader|no|
|VM|0%|
Extensions (65)
Name|Identifier|Author|Version
---|---|---|---
1Password|1password.op-vscode|1Password|1.0.5
CSS Formatter|aeschli.vscode-css-formatter|aeschli|1.0.2
PDF Preview|analytic-signal.preview-pdf|analytic-signal|1.0.0
Claude Code for VS Code|anthropic.claude-code|Anthropic|2.1.263
Biome|biomejs.biome|biomejs|3.7.1
Fish|bmalehorn.vscode-fish|bmalehorn|1.0.49
npm Intellisense|christian-kohler.npm-intellisense|christian-kohler|1.4.5
markdownlint|davidanson.vscode-markdownlint|DavidAnson|0.62.1
jq Playground — JSON Filter Notebook|davidnussio.vscode-jq-playground|davidnussio|5.0.7
ESLint|dbaeumer.vscode-eslint|dbaeumer|3.0.34
Binary Plist|dnicolson.binary-plist|dnicolson|2.0.0
Docker DX|docker.docker|docker|0.18.0
WebAssembly|dtsvet.vscode-wasm|dtsvet|1.4.1
JSON Tools|eriklynd.json-tools|eriklynd|1.0.2
Prettier - Code formatter|esbenp.prettier-vscode|esbenp|12.4.0
JSON Pretty Printer|euskadi31.json-pretty-printer|euskadi31|1.1.0
Magic Racket|evzen-wybitul.magic-racket|evzen-wybitul|0.9.0
Vscode Google Translate|funkyremi.vscode-google-translate|funkyremi|1.5.0
HTML Preview|george-alisson.html-preview-vscode|george-alisson|0.2.5
GitHub Actions|github.vscode-github-actions|github|0.32.3
GitHub Pull Requests|github.vscode-pull-request-github|GitHub|0.164.0
Go|golang.go|golang|0.56.1
HashiCorp Terraform|hashicorp.terraform|hashicorp|2.40.0
Edit CSV|janisdd.vscode-edit-csv|janisdd|0.11.9
SVG|jock.svg|jock|1.5.4
jq Syntax Highlighting|jq-syntax-highlighting.jq-syntax-highlighting|jq-syntax-highlighting|0.0.2
Rust Doc Viewer|jscearcy.rust-doc-viewer|JScearcy|4.2.0
Rainbow CSV|mechatroner.rainbow-csv|mechatroner|3.24.1
Manpages|meronz.manpages|meronz|0.2.0
Git Graph|mhutchie.git-graph|mhutchie|1.30.0
Selected Character Count|mousetraps.selected-character-count|mousetraps|0.0.1
Container Tools|ms-azuretools.vscode-containers|ms-azuretools|2.5.0
Docker|ms-azuretools.vscode-docker|ms-azuretools|2.0.0
Playwright Test for VSCode|ms-playwright.playwright|ms-playwright|1.1.19
Black Formatter|ms-python.black-formatter|ms-python|2026.6.0
Python Debugger|ms-python.debugpy|ms-python|2026.6.0
Python|ms-python.python|ms-python|2026.4.0
Pylance|ms-python.vscode-pylance|ms-python|2026.3.1
Python Environments|ms-python.vscode-python-envs|ms-python|1.36.0
Jupyter Keymap|ms-toolsai.jupyter-keymap|ms-toolsai|1.1.2
Remote - SSH|ms-vscode-remote.remote-ssh|ms-vscode-remote|0.128.0
Remote - SSH: Editing Configuration Files|ms-vscode-remote.remote-ssh-edit|ms-vscode-remote|0.87.0
WSL|ms-vscode-remote.remote-wsl|ms-vscode-remote|0.104.3
Remote Development|ms-vscode-remote.vscode-remote-extensionpack|ms-vscode-remote|0.26.0
Makefile Tools|ms-vscode.makefile-tools|ms-vscode|0.12.17
Remote Explorer|ms-vscode.remote-explorer|ms-vscode|0.5.0
Remote - Tunnels|ms-vscode.remote-server|ms-vscode|1.5.3
Word Count|ms-vscode.wordcount|ms-vscode|0.1.0
Go Test Explorer|premparihar.gotestexplorer|premparihar|0.1.13
XML|redhat.vscode-xml|redhat|0.29.3
LLVM IR Language Support|revng.llvm-ir|revng|1.0.5
LLVM|rreverser.llvm|RReverser|0.2.0
rust-analyzer|rust-lang.rust-analyzer|rust-lang|0.3.3041
Coverage Gutters|ryanluker.vscode-coverage-gutters|ryanluker|2.14.0
Trailing Spaces|shardulm94.trailing-spaces|shardulm94|0.4.4
Svg Preview|simonsiefke.svg-preview|SimonSiefke|2.8.3
Rewrap|stkb.rewrap|stkb|1.16.3
Code Spell Checker|streetsidesoftware.code-spell-checker|streetsidesoftware|4.7.3
Svelte for VS Code|svelte.svelte-vscode|svelte|110.3.1
Even Better TOML|tamasfe.even-better-toml|tamasfe|0.21.2
OpenCode GUI|tanishqkancharla.opencode-vscode|TanishqKancharla|0.4.4
TLA+ (Temporal Logic of Actions)|tlaplus.vscode-ide|tlaplus|2026.9.41716
Markdown Admonitions|tomasdahlqvist.markdown-admonitions|tomasdahlqvist|0.9.1
CodeLLDB|vadimcn.vscode-lldb|vadimcn|1.12.2
Vue (Official)|vue.volar|Vue|3.3.11
A/B Experiments
```
vsliv368cf:30146710
binariesv615:30325510
nativeloc1:31344060
dwcopilot:31170013
dwoutputs:31242946
copilot_t_ci:31333650
e5gg6876:31282496
pythonrdcb7:31342333
6518g693:31463988
aj953862:31281341
envsactivate1:31551504
cloudbuttont:31379625
3efgi100_wstrepl:31403338
839jf696:31457053
ec5jj548:31422691
cp_cls_t_966_ss:31526232
4je02754:31572277
8hhj4413:31478653
cp_cls_t_1081:31454832
conptydll_true:31498968
e9c30283:31461165
46204921:31447328
capico_a_098a3278:31576179
ei9d7968:31496641
chat:31457767
8hig5102:31480529
89g7j272:31518289
i2gc6536:31499202
52612955:31516516
ddid_t:31478206
hmra_i5g22:31518061
7df3h592:31512476
cp_cls_t_1082:31535311
logging_enabled_new:31498466
j0d79568:31499440
jb_cp_cls_t_632:31543129
56dj4588:31512888
32d76977:31512328
ha629193:31508444
jh5f2457_c:31540921
jbcp_cls_pctr_t:31531130
cp_intellij_t_nes:31548657
jf4hg949:31526829
ahp-both-windows:31556933
ihg5j128:31534457
9gg7f176:31542112
sandbox-ui-on-2:31543161
nes-ex-cf-euporie-03:31542868
enable_editor_pane_layout:31569726
allow-none:31555437
ac562147:31564510
c7c27ce7:31554789
1h923230:31564177
1532g621_copy:31554320
treatment-23-1:31555779
unuse_dynamic_mcp:31555281
0d8dfbc3:31570291
maidictation:31565333
0c1h4866:31566224
session-archive:31558132
5b8j3302:31564601
mangle-name-control:31572633
intellij_nes_preview_t:31580086
multiv2:31574985
2bfb8b39:31576696
permission_prompt_control:1332567
ccr_pr_nudge_auto_review:1319472
vsc_wsm_t:1340632
eh853263:1370294
1g5a5742:1379227
```
Contributor guide
Assessment
This issue has not been assessed yet.