From 9a0557c7a3fc78b492cdd400c42fef5bcf04efbb Mon Sep 17 00:00:00 2001 From: Nam Nguyen Ngoc Date: Tue, 10 Mar 2026 20:58:10 +0700 Subject: [PATCH] fix(tools): allow read_file to access CLI workspaces directory (#122) - Add ~/.goclaw/cli-workspaces/ to read_file allowed paths - Enables agents to read working files from CLI workspace sessions Co-authored-by: Nam Nguyen Ngoc --- cmd/gateway.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmd/gateway.go b/cmd/gateway.go index 4a6c0fd8..248a688d 100644 --- a/cmd/gateway.go +++ b/cmd/gateway.go @@ -510,14 +510,16 @@ func runGateway() { toolsReg.Register(tools.NewMessageTool()) slog.Info("session + message tools registered") - // Allow read_file to access skills directories (outside workspace). + // Allow read_file to access skills directories and CLI workspaces (outside workspace). // Skills can live in ~/.goclaw/skills/, ~/.agents/skills/, ~/.goclaw/skills-store/, etc. + // CLI workspaces live in ~/.goclaw/cli-workspaces/ (agent working files). homeDir, _ := os.UserHomeDir() if readTool, ok := toolsReg.Get("read_file"); ok { if pa, ok := readTool.(tools.PathAllowable); ok { pa.AllowPaths(globalSkillsDir) if homeDir != "" { pa.AllowPaths(filepath.Join(homeDir, ".agents", "skills")) + pa.AllowPaths(filepath.Join(homeDir, ".goclaw", "cli-workspaces")) } // Also allow the skills store directory (uploaded skill content). if pgStores.Skills != nil {