Dropped connections & agentic tool timeouts

If your tool closes the connection before the answer comes out, the model has still processed your prompt. Such requests are marked “Dropped by your app” in your usage history.

Why is it still billed?

  • Per-request models: the provider bills in full once the prompt is processed → fixed cost.
  • Per-token models: only what the provider actually bills; the difference is refunded automatically.
  • Dropped because of an issue on Geraikita's side: refunded in full automatically.

Recommended settings

Claude Code

API_TIMEOUT_MS=600000

The default is 10 minutes — don't lower it. Set it in env in ~/.claude/settings.json or as an environment variable.

OpenCode

opencode.json → provider.<id>.options.timeout: 600000

In milliseconds. If you also set headerTimeout / chunkTimeout, use at least 300000.

Kilo Code · Roo Code · Cline

Provider settings → API request timeout ≥ 300 s; turn off auto retry. The option name may differ between versions.

OpenAI / Anthropic SDK

timeout=600, max_retries=1, stream=True

timeout in seconds (Python) or milliseconds (Node.js: 600 * 1000). Use streaming so the first token shows up quickly.

Python requests / httpx

requests: timeout=(10, 600)httpx: httpx.Timeout(600, connect=10)

First number = connect timeout, second = read timeout. Read timeout at least 300 seconds.

Your own script / proxy

stream: trueUser-Agent: "nama-alatmu/1.0"

Read timeout ≥ 300 s, enable streaming, and set the User-Agent to your tool's name so we can help check.

Check your own numbers

Open the Dashboard → Recent usage → filter “Dropped by your app”. Tap a row to see the timeline and why it was charged.

Full per-tool guide (streaming, retries, context size, code samples): Agentic tool settings.