Skip to content

[Bug]: HTTP client timeout hardcoded to 15s, cannot be configured or increased #63156

Description

@q7793527

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

OpenClaw's HTTP client has a hardcoded 15-second timeout that cannot be configured. This causes request failures when prompt processing exceeds 15s, blocking normal usage with large context injections.

Steps to reproduce

  1. Start OpenClaw v2026.4.8+ with LM Studio provider at http://127.0.0.1:1234/v1
  2. Configure agents.defaults.timeoutSeconds = 180 in openclaw.json
  3. Send a message requiring large context injection (workspace files + memory data)
  4. Observe timeout after exactly 15s instead of configured 180s

Expected behavior

Request should complete within the configured timeout value (e.g., 180 seconds or 60 seconds).

Actual behavior

Request fails with 15000ms timeout error regardless of configuration. The underlying HTTP client (@buape/carbon) has a hardcoded 15s limit that cannot be overridden.

Evidence:

  • Log shows: 15000ms instead of configured 180 seconds
  • File location: node_modules/@buape/carbon/dist/src/classes/RequestClient.js, line 8: timeout: 15000

OpenClaw version

2026.4.8 (commit: 9ece252)

Operating system

Windows 10 ( 22H2 19045.6466 )

Install method

npm global install

Model

qwen3.5-35b-a3b via LM Studio

Provider / routing chain

openclaw -> lm-studio provider (http://127.0.0.1:1234/v1)

Additional provider/model setup details

No response

Logs, screenshots, and evidence

**LM Studio Configuration**:
- URL: `http://127.0.0.1:1234/v1`
- Model: qwen3.5-35b-a3b (Custom Provider)

**Hardware**:
- CPU: AMD Ryzen 9 7900X (12 core 24 thread)
- GPU: NVIDIA RTX 4070 Ti SUPER (16GB GDDR6X)
- RAM: 64GB DDR5 6000MHz

**Model Performance**: 51 tokens/s (normal, no performance issues)

Impact and severity

1. Hardcoded Timeout Source

// File: C:\Users\Administrator\AppData\Roaming\npm\node_modules\openclaw\node_modules\@buape\carbon\dist\src\classes\RequestClient.js
// Line: 8
timeout: 15000  // Hardcoded! Cannot be configured

### Additional information

## Investigation Timeline
| Time | Action | Result |
|------|--------|--------|
| Initial | Timeout issue reported | Logs show 15000ms instead of 180s |
| Investigation | Searched npm packages | Found `@buape/carbon` package with hardcoded timeout |
| Attempt 1 | LM Studio provider config | Invalid field, rejected by schema |
| Attempt 2 | Memory search optimization | Timeout persisted |
| Verification | Direct LM Studio test | No timeout issues (confirms model is fine) |

## Why This Matters
- **Not a performance issue**: Model inference speed is normal (51 tokens/s)
- **Not a configuration issue**: All config attempts failed or were ignored
- **Root cause**: HTTP client layer has hardcoded 15s limit that cannot be overridden
- **Impact**: Blocks usage of large contexts, which is common in real-world scenarios

## Proposed Solutions
1. Add `timeoutMs` parameter to `models.providers.lm-studio` config schema
2. Increase default timeout from 15000ms to at least 60000ms
3. Implement async request handling with configurable timeouts

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingregressionBehavior that previously worked and now fails

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions