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

After 3 months of A/B testing 160 Claude prompt codes: the boring takeaways
Samarth built a controlled test rig, ran 160 prompt codes through it, and found that most are placebo, 7 consistently shift reasoning, and stacking 3+ codes confuses the model. Skills files outperform prompt codes for Claude Code.

iCloud Desktop/Documents Sync Causes File Loss Issues with Claude on Mac
A Mac user reports that enabling iCloud Drive sync for Desktop and Documents folders causes Claude to create duplicate files and can lead to permanent data loss, including hidden /.claude folders that iCloud doesn't back up.

OpenClaw: If Your Task Can't Survive a Restart, It's Still a Chat Session
A Reddit post argues that OpenClaw tasks relying on conversation history for state are not resumable. Store task identity, step, and approval state outside the transcript.
Slash Agent Start-Up Tokens by 60%: Clean Up Your Bot's Workspace
One developer dropped start-up tokens from 80k to 31k by having an LLM audit and restructure workspace files—removing bloat, deduplicating info, and organizing tool docs into separate files.