hermes-agent/website/docs/user-guide/features
teknium1 064b6e40c5 fix(image-gen): stop reporting the Codex tool_choice 400 as an account limit
The Codex image backend rejected our own request shape for every account, and
we then translated that rejection into "Image generation is not enabled for the
current Codex account. Switch the image provider to OpenAI API key, FAL, or
xAI." — telling every affected user to abandon a provider that had never
actually been tried. That message is why this reads as a setup failure rather
than a bug: the wire error was replaced with a confident, wrong diagnosis.

Removes the classifier and its exception, so any HTTP failure surfaces
verbatim. The paired request-shape fix (previous commit) is what makes the
400 stop happening; this commit makes the next one diagnosable.

Also fixes error-body truncation: bodies were head-truncated at 500 chars, and
Codex error payloads can carry hundreds of bytes of leading metadata, so the
user got a wall of padding and no message. _summarize_error_body() prefers the
parsed error.message and falls back to a truncated raw body.

Docs: drop the unqualified image-to-image claim for the Codex backend and note
that the hosted tool call cannot be forced, so it is best-effort.

Verified E2E against a local fake Codex backend: success path writes a real PNG
with no tool_choice on the wire; the 400 path now returns api_error carrying
"Tool choice 'image_generation' not found in 'tools' parameter" (148 chars)
instead of the entitlement message. Sabotage run confirms all 4 regression
tests fail when the old behavior is restored.

Refs #19505, #49008, #31335.
2026-07-25 16:41:57 -07:00
..
_category_.json
acp.md docs(acp): document HERMES_ACP_SKIP_CONFIGURED_MCP for ACP hosts 2026-07-24 15:51:20 -07:00
api-server.md fix(api-server): expose model options inventory 2026-07-24 11:20:07 -07:00
batch-processing.md feat(reasoning): add max and ultra effort levels (#62650) 2026-07-12 00:26:49 -07:00
browser.md fix: widen headed-mode gate to config, add browser.headed default, tests, docs 2026-07-18 10:07:46 -07:00
built-in-plugins.md docs: Plugins subcategory under Extending + secret-source plugin guide + 1Password sidebar fix (#59613) 2026-07-06 12:11:31 -07:00
code-execution.md
codex-app-server-runtime.md docs(codex): document live app-server display; AUTHOR_MAP entries 2026-07-17 13:44:12 -07:00
computer-use.md fix(skills): move computer-use skill into the autonomous-ai-agents category 2026-07-23 21:06:39 -07:00
context-files.md
context-references.md
credential-pools.md docs: warn that mid-session model switches break prompt caching (#58747) 2026-07-05 04:34:05 -07:00
cron.md fix(cron): harden execution attempt ledger 2026-07-17 04:58:35 -07:00
curator.md
delegation.md feat(delegation): let subagents use execute_code (#69325) 2026-07-22 06:58:45 -07:00
deliverable-mode.md feat(skills): bundle docx, xlsx, and pdf office skills; refresh powerpoint (#68595) 2026-07-21 05:39:23 -07:00
extending-the-dashboard.md docs(desktop): document the desktop plugin SDK (@hermes/plugin-sdk) (#67301) 2026-07-19 04:02:17 +00:00
fallback-providers.md fix(compression): give fallback candidates their own timeout budget + escalate repeat-timeout cooldowns (#65143) 2026-07-15 12:28:09 -07:00
goals.md
honcho.md
hooks.md feat(slack): opt-in reaction triggers, removed events, hooks, channel handoff 2026-07-23 11:50:08 -07:00
image-generation.md fix(image-gen): stop reporting the Codex tool_choice 400 as an account limit 2026-07-25 16:41:57 -07:00
kanban-tutorial.md
kanban-worker-lanes.md
kanban.md docs(kanban): explain why an unblocked task can later land in triage 2026-07-17 15:47:39 -07:00
lsp.md fix(lsp): never report stale diagnostics — wait for fresh post-edit data 2026-07-20 13:43:36 -04:00
mcp.md docs(mcp): document redirect_uri proxied callbacks + redirect_host WAF workaround 2026-07-16 06:14:34 -07:00
memory-providers.md feat(honcho): add OAuth device-code login (RFC 8628) for headless environments 2026-07-24 07:53:12 -07:00
memory.md
mixture-of-agents.md feat(moa): default advisor fanout to user_turn — the cheapest cadence 2026-07-23 21:07:18 -07:00
overview.md docs: fix 25 documentation/code inconsistencies (audit round 3) 2026-07-16 04:47:40 -07:00
personality.md
pets.md refactor(skills): restructure hermes-agent into a hub + absorb themes, desktop-plugins, tui-widgets, petdex 2026-07-23 19:46:02 -07:00
plugins.md docs: Plugins subcategory under Extending + secret-source plugin guide + 1Password sidebar fix (#59613) 2026-07-06 12:11:31 -07:00
provider-routing.md fix(routing): preserve profile and delegation parity 2026-07-10 13:10:45 +05:30
skills.md fix(skills): bind bundles to exact files and origins 2026-07-12 02:59:27 -07:00
skins.md
spotify.md
subscription-proxy.md
tool-gateway.md
tool-search.md docs: reconcile docs with code across last 3 releases (#54254) 2026-06-28 12:47:50 -07:00
tools.md docs: reconcile docs with code across last 3 releases (#54254) 2026-06-28 12:47:50 -07:00
tts.md docs: fix 25 documentation/code inconsistencies (audit round 3) 2026-07-16 04:47:40 -07:00
vision.md
voice-mode.md feat(voice): desktop flags interrupted submits 2026-07-22 17:53:06 -05:00
web-dashboard.md rip out brew + pip/PyPI wheel support (#68217) 2026-07-22 16:51:01 -04:00
web-search.md docs: fix 25 documentation/code inconsistencies (audit round 3) 2026-07-16 04:47:40 -07:00
x-search.md docs(xai): clarify x_search vs xurl routing without schema cross-refs 2026-07-23 21:06:47 -07:00