Solving Gemini CLI write_file Not Found in OpenClaw: Two Fixes Required

A Reddit user posted a solution for a common issue when using OpenClaw with google-gemini-cli (Gemini CLI): agents cannot write files, reporting write_file not found or attempting default_api_write_file and getting "Tool not found. Did you mean: write_file, read_file, list_directory?". The root cause is twofold.
Root causes
- tools.profile defaults to
coding– this profile does not exposewrite_file. - OpenClaw spawns Gemini CLI as a headless subprocess without
--approval-mode auto_edit– without that flag,write_fileis not available in the tool list.
Fix steps
- Change the tools profile:
openclaw config set tools.profile full - Edit
~/.openclaw/openclaw.jsonand add thecliBackendsblock insideagents.defaults:
"cliBackends": { "google-gemini-cli": { "command": "/home/YOUR_USER/.npm-global/bin/gemini", "args": ["--approval-mode", "auto_edit"], "output": "json", "input": "arg" } } - Restart the gateway:
systemctl --user restart openclaw-gateway
The cliBackends key overrides how OpenClaw spawns the Gemini CLI process, injecting the required flag. Without it, the subprocess runs in default approval mode requiring interactive input, which silently removes the tool.
What doesn't work
- Creating
settings.jsonin the workspace withapprovalMode: auto_edit– OpenClaw doesn't pass the right working directory. - Setting
agents.defaults.sandbox.workspaceAccess: rw– that's OpenClaw's sandbox, unrelated to tool availability. - Injecting
GEMINI_CLI_ACTIVE_APPROVAL_MODEvia env – schema rejects it. - Modifying the gemini binary directly – works in isolation but OpenClaw may not use the same PATH.
Who it's for: Developers using OpenClaw with Gemini CLI who encounter missing file write tools during bootstrap or agent execution.
📖 Read the full source: r/openclaw
👀 See Also

Evaluating Agent Skill Safety: Key Considerations Before Installation
Installing new agent skills can enhance functionality but also comes with risks. Learn how to evaluate the safety of these skills to protect your system.

OpenClaw Cost Optimization: Five Settings for Continuous Agent Usage
A developer running OpenClaw continuously on a Raspberry Pi identified five configuration settings that significantly reduced agent costs by optimizing for cost rather than default capability.

A Solo Developer's Two-Phase Prompting Method for Large Projects with Claude AI
A solo developer shares a workflow using Claude Chat as the architect and Claude Code as the builder, with a two-phase prompting method that includes failure mode analysis and verification gates.

OpenClaw Memory Plugin Testing Results and Recommended Stack
A Reddit user tested every OpenClaw memory plugin and found the default markdown setup causes token bloat and instruction compression. The recommended setup combines Obsidian for human-readable notes, QMD for token-free searching, and SQLite for structured data.