#In Discord, getting: "I can't use the tool "read_file" here because it isn't available."

1 messages · Page 1 of 1 (latest)

marble kestrel
#

OpenClaw 2026.5.12. Ollama 0.24.0. Gemma4:e4b
All I'm asking openclaw, via Discord, is to read SOUL.md. I get "I can't use the tool "read_file" here because it isn't available."

honest vectorBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

tropic fractalBOT
# marble kestrel OpenClaw 2026.5.12. Ollama 0.24.0. Gemma4:e4b All I'm asking openclaw, via Disco...

That specific wording is a clue: read_file is not the OpenClaw tool name. The built-in filesystem tool is read under group:fs, and the coding tool profile includes it.

With OpenClaw 2026.5.12 + Ollama + Gemma4:e4b, my first suspect is the local model/tool-calling side, not SOUL.md itself. Smaller local models often invent tool names like read_file / file_read instead of calling the actual tool schema.

Things to check:

  1. Make sure your agent has filesystem tools enabled:
{
  tools: {
    profile: "coding"
    // or: allow: ["group:fs"]
  }
}
  1. If you configured Ollama manually, use the native Ollama API URL, not the OpenAI-compatible /v1 URL:
tropic fractalBOT
tropic fractalBOT
marble kestrel
#

I typed "Use the read tool to read SOUL.md" and got "Read File: SOUL.md failed"

tropic fractalBOT
# marble kestrel I typed "Use the read tool to read SOUL.md" and got "Read File: SOUL.md failed"

Good, that means the first issue is fixed: it is calling read now. Read File: SOUL.md failed usually means the file is not visible from the agent’s active workspace/sandbox, or the log has a path/permission error hidden behind the UI message.

Please check these on the machine running the gateway:

openclaw --version
openclaw status --all
ls -la ~/.openclaw/workspace/SOUL.md
openclaw logs --follow

Then ask it again and look for the full read error in the logs. The exact bit we need is usually something like ENOENT, outside workspace, permission denied, or a sandbox path.

Two likely causes:

  • Your agent workspace is not ~/.openclaw/workspace, so SOUL.md exists somewhere else or not at all. Check agents.defaults.workspace / agents.list[].workspace.
  • Sandboxing/workspace access is hiding the host workspace. If you have sandbox mode on, workspaceAccess: "none" gives the agent a separate sandbox workspace, so host SOUL.md may not be there. ro should mount the agent workspace read-only.
tropic fractalBOT
# marble kestrel I typed "Use the read tool to read SOUL.md" and got "Read File: SOUL.md failed"

Relevant docs:
https://docs.openclaw.ai/gateway/configuration-reference#agentsdefaultsworkspace
https://docs.openclaw.ai/gateway/configuration-reference#agentsdefaultssandbox
https://docs.openclaw.ai/gateway/troubleshooting

Also: SOUL.md is normally injected into the agent’s startup context, so if your goal is “tell me what SOUL.md says,” it may already know it. But if you specifically want the filesystem read tool to work, the logs + workspace path are the next evidence we need.

marble kestrel
#

-rw-r--r--@ 1 cmhippyhf2 staff 1806 May 8 14:07 /Users/cmhippyhf2/.openclaw/workspace/SOUL.m

tropic fractalBOT
# marble kestrel -rw-r--r--@ 1 cmhippyhf2 staff 1806 May 8 14:07 /Users/cmhippyhf2/.openclaw/w...

That path shows SOUL.m, not SOUL.md.

If that is the actual filename, the read failed because the agent asked for a file that does not exist. Check with:

ls -lb /Users/cmhippyhf2/.openclaw/workspace/SOUL*

If it really is SOUL.m, rename it:

mv /Users/cmhippyhf2/.openclaw/workspace/SOUL.m /Users/cmhippyhf2/.openclaw/workspace/SOUL.md

Then ask again: “Use the read tool to read SOUL.md”.

The @ on macOS just means extended attributes are present; it is probably not the blocker here. The missing d is the suspicious bit.

marble kestrel
#

Sorry. -rw-r--r--@ 1 cmhippyhf2 staff 1806 May 8 14:07 /Users/cmhippyhf2/.openclaw/workspace/SOUL.md

tropic fractalBOT
# marble kestrel Sorry. -rw-r--r--@ 1 cmhippyhf2 staff 1806 May 8 14:07 /Users/cmhippyhf2/.ope...

No problem. That file exists and the basic permissions look readable, so the next suspects are “the running agent is using a different workspace/user” or “sandbox path mapping.”

Can you paste these outputs?

openclaw config get agents.defaults.workspace
openclaw config get agents.list --json
openclaw config get agents.defaults.sandbox --json
openclaw status --all

Also, right after reproducing the failed read, grab the actual log line:

openclaw logs --follow