Fix Ollama Cloud Model maxTokens: Cap is 16K, Not Config Value

PSA for anyone seeing unexpected EOF from agents on production turns: if your openclaw.json has cloud model entries like { "id": "deepseek-v4-pro:cloud", "maxTokens": 500000 }, that maxTokens isn't real. Ollama cloud caps output at 16,384 tokens server-side regardless of your config. When an agent tries to emit something past that, the upstream kills the socket mid-stream and you see a transport error from ollama.com:443. OpenClaw treats that as a timeout-shaped failover, so it'll try your fallback if configured — but if the fallback is also a :cloud model, same wall.
What Helped
- Fix maxTokens on cloud entries so OpenClaw doesn't ask for output budgets the service won't honor:
{ "id": "deepseek-v4-pro:cloud", "maxTokens": 14000 }
{ "id": "kimi-k2.6:cloud", "maxTokens": 14000 }
14k not 16k — leaves a little headroom because models sometimes get weird right at the absolute cap. - Restructure large structured outputs (long JSON, multi-section content) to emit one section per turn instead of batching everything. Stays under the cap and retries are cleaner.
- Route heavy agents to a direct provider via per-agent model override in
agents.list[]instead of going through:cloud. Leave small-output agents on Ollama cloud. One-time setup:
openclaw onboard --auth-choice deepseek-api-key
Then in agents.list override the ones that need it:
"list": [ { "id": "your-agent", "model": "deepseek/deepseek-v4-pro" } ]
Trade-off: per-token billing instead of flat fee, but scoped to agents that need headroom.
Takeaway
If your agents fail partway through long outputs and you've checked the obvious stuff, look at your provider's actual output cap before going down the OpenClaw-bug rabbit hole. The error message is useless and the config field doesn't tell you it's being overridden server side.
📖 Read the full source: r/openclaw
👀 See Also

Claude Cowork file access issue with Google Drive streaming mode and the fix
When using Claude Cowork with Google Drive for Desktop in streaming mode, files may fail to open because Cowork needs real files on disk, not placeholders. The fix involves making specific folders available offline and using standard file formats.

Claude users report faster sessions by requesting markdown instead of Word documents
A Claude user discovered that asking for markdown instead of Word documents significantly reduces response time and token usage. The AI natively outputs markdown, while generating .docx files requires spinning up a Python environment and running conversion scripts.

Claude Code token audit reveals hidden costs from default tool loading
A developer analyzed 926 Claude Code sessions and found 45,000 tokens loaded at session start, with 20,000 tokens coming from system tool schema definitions. Enabling the ENABLE_TOOL_SEARCH setting reduced starting context from 45k to 20k tokens, saving 14,000 tokens per turn.

Reducing Claude Hallucinations with Pre-Output Prompt Injection
A Reddit post details a method to cut Claude AI hallucinations by half using a pre-output prompt that forces the model to record uncertainties and next steps before responding. The approach involves adding specific markdown instructions to Claude's system prompt and creating a Python script.