@@ -326,25 +326,32 @@ func (s *queryTestSuite) TestGetSystemContext() {
326326 os .Setenv ("SHELL" , "/bin/bash" )
327327 defer os .Setenv ("SHELL" , originalShell )
328328
329- context , err := getSystemContext (query )
329+ context , err := getSystemContext (query , nil )
330330 assert .Nil (s .T (), err )
331331 assert .Equal (s .T (), "bash" , context .Shell )
332332 assert .Equal (s .T (), runtime .GOOS , context .Os )
333333 assert .Equal (s .T (), query , context .Query )
334334
335335 // Test with no SHELL environment variable
336336 os .Unsetenv ("SHELL" )
337- context , err = getSystemContext (query )
337+ context , err = getSystemContext (query , nil )
338338 assert .Nil (s .T (), err )
339339 assert .Equal (s .T (), "unknown" , context .Shell )
340340 assert .Equal (s .T (), runtime .GOOS , context .Os )
341341 assert .Equal (s .T (), query , context .Query )
342342
343343 // Test with full path shell
344344 os .Setenv ("SHELL" , "/usr/local/bin/zsh" )
345- context , err = getSystemContext (query )
345+ context , err = getSystemContext (query , nil )
346346 assert .Nil (s .T (), err )
347347 assert .Equal (s .T (), "zsh" , context .Shell )
348+
349+ // Opt-out: when ShareContext is explicitly false, pwd/hostname are omitted.
350+ disabled := false
351+ context , err = getSystemContext (query , & model.AIConfig {ShareContext : & disabled })
352+ assert .Nil (s .T (), err )
353+ assert .Empty (s .T (), context .Pwd )
354+ assert .Empty (s .T (), context .Hostname )
348355}
349356
350357func (s * queryTestSuite ) TestQueryCommandWithAlias () {
0 commit comments