Skip to content

fix(agent_init): correct misleading sub-64K context_length error message - #53569

Merged
teknium1 merged 1 commit into
mainfrom
fix/context-length-error-message-honesty
Jun 27, 2026
Merged

fix(agent_init): correct misleading sub-64K context_length error message#53569
teknium1 merged 1 commit into
mainfrom
fix/context-length-error-message-honesty

Conversation

@teknium1

Copy link
Copy Markdown
Contributor

Summary

The sub-64K context-window guard now tells the truth: there is no escape hatch for windows below the 64K minimum. Sub-64K models are rejected by design (tool schemas + system prompt need the headroom).

The old ValueError advertised "or set model.context_length in config.yaml to override" — but the guard intentionally has no sub-64K override. That misleading clause kept generating duplicate PRs from operators taking the message at its word.

Changes

  • agent/agent_init.py: reword the below-minimum ValueError. Drop the false "override" promise. State the real options: pick a ≥64K model, or — if your local server under-reports its true window — declare the real value (which must itself be ≥64K). Guard behavior is unchanged.

Root cause

The error string described an override path that was never intended to exist. The 64K floor is deliberate, not a bug. The defect was purely the message.

Validation

Before After
Sub-64K model rejected, message implies a fix exists rejected, message names the real options
below the minimum substring (asserted by test_compression_feasibility.py:121) present present (test stays green)
Guard logic unconditional < 64K raise unchanged

Closes the misleading-message root cause behind #11096 (Bug 1) and the dup PR cluster (#11097, #11110, #8962, #9142, #37548). Bug 2 (#11098) was declined-by-design; Bug 3 (#11103) already fixed on main via _enable_from_env().

Infographic

honest-error-messages

The error raised when a model's context window is below the 64K minimum
advertised "or set model.context_length in config.yaml to override" — but
the guard intentionally has no sub-64K escape hatch. Sub-64K models are
rejected by design (tool schemas + system prompt need the headroom).

The misleading clause invited a cluster of dup PRs (#11097, #11110, #8962,
#9142, #37548) all trying to wire an override that we don't want. Reword to
state the real options: pick a >=64K model, or — if your local server
under-reports its true window — declare the real value (which must itself
be >=64K). Guard behavior is unchanged.
@github-actions

Copy link
Copy Markdown
Contributor

🔎 Lint report: fix/context-length-error-message-honesty vs origin/main

ruff

Total: 0 on HEAD, 0 on base (➖ 0)

🆕 New issues: none

✅ Fixed issues: none

Unchanged: 0 pre-existing issues carried over.

ty (type checker)

Total: 11481 on HEAD, 11483 on base (✅ -2)

🆕 New issues (1):

Rule Count
invalid-assignment 1
First entries
tests/run_agent/test_credits_notices_toggle.py:76: [invalid-assignment] invalid-assignment: Object of type `None` is not assignable to attribute `_credits_session_start_micros` of type `int`

✅ Fixed issues (2):

Rule Count
unresolved-attribute 2
First entries
tests/run_agent/test_credits_notices_toggle.py:76: [unresolved-attribute] unresolved-attribute: Unresolved attribute `_credits_session_start_micros` on type `AIAgent`
run_agent.py:3002: [unresolved-attribute] unresolved-attribute: Object of type `Self@get_credits_spent_micros` has no attribute `_credits_session_start_micros`

Unchanged: 6031 pre-existing issues carried over.

Diagnostics are surfaced as warnings — this check never fails the build.

@teknium1
teknium1 merged commit 68a65ed into main Jun 27, 2026
30 checks passed
@teknium1
teknium1 deleted the fix/context-length-error-message-honesty branch June 27, 2026 10:56
@alt-glitch alt-glitch added type/bug Something isn't working comp/agent Core agent runtime: loop, agent_init, prompt builder, context-compression, responses endpoint P3 Low — cosmetic, nice to have labels Jun 27, 2026
pai-scaffolde pushed a commit to pai-scaffolde/hermes-agent that referenced this pull request Jun 28, 2026
…age (NousResearch#53569)

The error raised when a model's context window is below the 64K minimum
advertised "or set model.context_length in config.yaml to override" — but
the guard intentionally has no sub-64K escape hatch. Sub-64K models are
rejected by design (tool schemas + system prompt need the headroom).

The misleading clause invited a cluster of dup PRs (NousResearch#11097, NousResearch#11110, NousResearch#8962,
NousResearch#9142, NousResearch#37548) all trying to wire an override that we don't want. Reword to
state the real options: pick a >=64K model, or — if your local server
under-reports its true window — declare the real value (which must itself
be >=64K). Guard behavior is unchanged.
waefrebeorn pushed a commit to waefrebeorn/slermes that referenced this pull request Jul 2, 2026
…age (NousResearch#53569)

The error raised when a model's context window is below the 64K minimum
advertised "or set model.context_length in config.yaml to override" — but
the guard intentionally has no sub-64K escape hatch. Sub-64K models are
rejected by design (tool schemas + system prompt need the headroom).

The misleading clause invited a cluster of dup PRs (NousResearch#11097, NousResearch#11110, NousResearch#8962,
NousResearch#9142, NousResearch#37548) all trying to wire an override that we don't want. Reword to
state the real options: pick a >=64K model, or — if your local server
under-reports its true window — declare the real value (which must itself
be >=64K). Guard behavior is unchanged.
habarmc1223-sudo pushed a commit to habarmc1223-sudo/hermes-agent-fluxmem that referenced this pull request Jul 8, 2026
…age (NousResearch#53569)

The error raised when a model's context window is below the 64K minimum
advertised "or set model.context_length in config.yaml to override" — but
the guard intentionally has no sub-64K escape hatch. Sub-64K models are
rejected by design (tool schemas + system prompt need the headroom).

The misleading clause invited a cluster of dup PRs (NousResearch#11097, NousResearch#11110, NousResearch#8962,
NousResearch#9142, NousResearch#37548) all trying to wire an override that we don't want. Reword to
state the real options: pick a >=64K model, or — if your local server
under-reports its true window — declare the real value (which must itself
be >=64K). Guard behavior is unchanged.
santhreal pushed a commit to santhreal/hermes-agent that referenced this pull request Jul 13, 2026
…age (NousResearch#53569)

The error raised when a model's context window is below the 64K minimum
advertised "or set model.context_length in config.yaml to override" — but
the guard intentionally has no sub-64K escape hatch. Sub-64K models are
rejected by design (tool schemas + system prompt need the headroom).

The misleading clause invited a cluster of dup PRs (NousResearch#11097, NousResearch#11110, NousResearch#8962,
NousResearch#9142, NousResearch#37548) all trying to wire an override that we don't want. Reword to
state the real options: pick a >=64K model, or — if your local server
under-reports its true window — declare the real value (which must itself
be >=64K). Guard behavior is unchanged.
Gravezzz pushed a commit to Gravezzz/hermes-agent that referenced this pull request Jul 21, 2026
…age (NousResearch#53569)

The error raised when a model's context window is below the 64K minimum
advertised "or set model.context_length in config.yaml to override" — but
the guard intentionally has no sub-64K escape hatch. Sub-64K models are
rejected by design (tool schemas + system prompt need the headroom).

The misleading clause invited a cluster of dup PRs (NousResearch#11097, NousResearch#11110, NousResearch#8962,
NousResearch#9142, NousResearch#37548) all trying to wire an override that we don't want. Reword to
state the real options: pick a >=64K model, or — if your local server
under-reports its true window — declare the real value (which must itself
be >=64K). Guard behavior is unchanged.
leewenjie pushed a commit to leewenjie/hermes-agent that referenced this pull request Aug 7, 2026
…age (NousResearch#53569)

The error raised when a model's context window is below the 64K minimum
advertised "or set model.context_length in config.yaml to override" — but
the guard intentionally has no sub-64K escape hatch. Sub-64K models are
rejected by design (tool schemas + system prompt need the headroom).

The misleading clause invited a cluster of dup PRs (NousResearch#11097, NousResearch#11110, NousResearch#8962,
NousResearch#9142, NousResearch#37548) all trying to wire an override that we don't want. Reword to
state the real options: pick a >=64K model, or — if your local server
under-reports its true window — declare the real value (which must itself
be >=64K). Guard behavior is unchanged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/agent Core agent runtime: loop, agent_init, prompt builder, context-compression, responses endpoint P3 Low — cosmetic, nice to have type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants