● Create(~/Desktop/LLM-Wiki/issues/…v_buffer_nameerror_time.md) (ctrl+o to expand)
Since the current system’s Plugin Hook has an issue with spaces in the path (C:\Users\TUF A15…),
it is unable to write files directly to disk via the tool.
● Create(~/Desktop/LLM-Wiki/issues/…v_buffer_nameerror_time.md) (ctrl+o to expand)
Since the current system’s Plugin Hook has an issue with spaces in the path (C:\Users\TUF A15…),
it is unable to write files directly to disk via the tool.
Hi @Suphot_sam
Could you please clarify the issue you are facing in more detailed way, so we can continue reproduction from our side.
C:\Users\TUF A15) caused by googlecloudtools.datacloud_telemetry Plugin HookC:\Users\TUF A15 (Contains embedded space 0x20)C:\Users\TUF A15\Desktop\LLM-Wikigooglecloudtools.datacloud_telemetry (PreToolUse Hook)%USERPROFILE%\.gemini\config\plugins\googlecloudtools.datacloud_telemetry\hooks.json%USERPROFILE%\.gemini\config\plugins\googlecloudtools.datacloud_telemetry\telemetry_hook_bundle.jsmatcher: "*"), including Create(...), write_to_file, replace_file_content, etc.When an automated developer tool or IDE subagent attempts to execute any tool (e.g. Create(~/Desktop/LLM-Wiki/issues/...md)), the operation is intercepted and blocked by the PreToolUse plugin hook of googlecloudtools.datacloud_telemetry.
Because the user profile directory contains whitespace (C:\Users\TUF A15), the generated hook command fails during Windows shell tokenization, causing the entire tool execution to abort with:
● Create(~/Desktop/LLM-Wiki/issues/…v_buffer_nameerror_time.md) (ctrl+o to expand)
Since the current system’s Plugin Hook has an issue with spaces in the path (C:\Users\TUF A15…),
it is unable to write files directly to disk via the tool.
Underlying Shell Error Trace:
'C:\Users\TUF' is not recognized as an internal or external command,
operable program or batch file.
# OR
node: can't open file 'C:\Users\TUF': [Errno 2] No such file or directory
hooks.json)The telemetry plugin registers a global PreToolUse hook with matcher * in:
C:\Users\TUF A15\.gemini\config\plugins\googlecloudtools.datacloud_telemetry\hooks.json
{
"googlecloudtools.datacloud_telemetry": {
"enabled": true,
"PreToolUse": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "node C:\\Users\\TUF A15\\.gemini\\config\\plugins\\googlecloudtools.datacloud_telemetry\\telemetry_hook_bundle.js --agent_name gemini --install_source \"Visual Studio Code\" ; exit 0",
"timeout": 30
}
]
}
]
}
}
command string to cmd.exe or powershell.exe.cmd.exe splits the path at the space between TUF and A15:
node attempts to execute script C:\Users\TUFA15\.gemini\... is parsed as an invalid command argumentPreToolUse hook exits with an error or fails to launch, the tool execution lifecycle is aborted before the tool (Create / write_to_file) can write to disk.C:\Users\TUF A15).googlecloudtools.datacloud_telemetry is installed under %USERPROFILE%\.gemini\config\plugins\.hooks.json with an unquoted path in the command property:node C:\Users\TUF A15\.gemini\config\plugins\googlecloudtools.datacloud_telemetry\telemetry_hook_bundle.js ...PreToolUse).'C:\Users\TUF' is not recognized.Auto-Quote Plugin Hook Command Generator:
Ensure the IDE/CLI configuration generator automatically wraps paths containing %USERPROFILE% in escaped double quotes when generating hooks.json:
"command": "node \"C:\\Users\\TUF A15\\.gemini\\config\\plugins\\googlecloudtools.datacloud_telemetry\\telemetry_hook_bundle.js\" --agent_name gemini --install_source \"Visual Studio Code\" ; exit 0"
Array-Based Hook Invocation (spawn without shell):
Instead of executing hook commands as a single shell string (cmd.exe /c "..."), invoke Node.js directly using parameter arrays:
spawn('node', [
path.join(pluginDir, 'telemetry_hook_bundle.js'),
'--agent_name', 'gemini',
'--install_source', 'Visual Studio Code'
], { shell: false });
Fallback to Windows 8.3 Short Path (SFN):
When generating hook configs on Windows, resolve %USERPROFILE% to its 8.3 short path representation (e.g. C:\Users\TUFA15~1\...) as a defensive measure.
"enabled": false in hooks.json.C:\Users\TUF A15 with C:\Users\TUFA15~1 in hooks.json.mklink /J C:\UserTUF "C:\Users\TUF A15".