#API Call Failed - jiter.jiter

1 messages · Page 1 of 1 (latest)

cerulean torrent
#

Was trying to run hermes update on a VM. Ran into an API call issue.

Hermes was installed on Windows, using the powershell beta command (but ran fine for a few days).

Provider is deepseek.

Have tried updating jiter, but it says that it is already installed. No programmer background, so may be missing something.

Report https://paste.rs/acTpx
agent.log https://paste.rs/Gh2pb
gateway.log https://paste.rs/14y3O

kindred mango
#

That error isn't coming from DeepSeek — it's a broken Python dependency in the Hermes' install.

Your logs show ModuleNotFoundError: No module named 'jiter.jiter'. jiter is a native helper the OpenAI SDK uses for streaming. Hermes was working on May 27 and then that extension broke in the venv on May 28, so pip saying "already installed" usually means the metadata is there but the actual Windows binary piece is missing or corrupt (often wrong Python, AV, or a partial install).

Also, hermes update needs to be run in PowerShell as a command — typing it in the Hermes chat won't run the updater, and right now chat can't work anyway until this is fixed.

Try this:

  1. Close any open Hermes windows and run hermes gateway stop if the gateway is running.
  2. Open PowerShell and run:
cd $env:LOCALAPPDATA\hermes\hermes-agent
.\venv\Scripts\python.exe -c "import jiter.jiter; print('jiter ok')"
  1. If that fails, force-reinstall into the Hermes venv (not system Python):
uv pip install --python .\venv\Scripts\python.exe --force-reinstall --no-cache-dir jiter==0.13.0
  1. Run the import test again. If it prints jiter ok, run:

hermes update

Then start Hermes normally and send a test message.

If the import test still fails after step 3, paste the full PowerShell output from steps 2–3 and we'll go from there.

opal jacinth
#

I had to completely reinstall on Fedora because this same thing broke a couple of days ago.

kindred mango
#

it's a missing dependency. shouldn't need a reinstall.

#

but please respect the guidelines

opal jacinth
#

Neither I nor Hermes nor Claude nor Google could figure it out. Spent 3 hours trying, then 3 more reinstalling. Had to put Hermes into a container so random such dependency issues won't arise as easily.

cerulean torrent
#

Didn't fix the issue, unfortunately.

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows
cd $env:LOCALAPPDATA\hermes\hermes-agent

C:\Users\tky11>
PS C:\Users\tky11\AppData\Local\hermes\hermes-agent> .\venv\Scripts\python.exe -c "import jiter.jiter; print('jiter ok')"

jiter ok
PS C:\Users\tky11\AppData\Local\hermes\hermes-agent> uv pip install --python .\venv\Scripts\python.exe --force-reinstall --no-cache-dir jiter==0.13.0

Using Python 3.11.15 environment at: venv
Resolved 1 package in 137ms
Prepared 1 package in 161ms
Uninstalled 1 package in 13ms
Installed 1 package in 38ms
~ jiter==0.13.0
PS C:\Users\tky11\AppData\Local\hermes\hermes-agent> hermes update
⚕ Updating Hermes Agent...

#

→ Fetching updates...
→ Found 1 new commit(s)
✓ Pre-update snapshot: 20260528-035139-pre-update
→ Pulling updates...
✓ Cleared 74 stale pycache directories
→ Updating Python dependencies...
Using Python 3.11.15 environment at: venv
Resolved 102 packages in 284ms
Building hermes-agent @ file:///C:/Users/tky11/AppData/Local/hermes/hermes-agent
⠴ Preparing packages... (0/1) Built hermes-agent @ file:///C:/Users/tky11/AppData/Local/hermes/hermes-agent
Prepared 1 package in 5m 40s
Uninstalled 2 packages in 32ms
Installed 2 packages in 380ms

  • aiohttp==3.13.4
  • aiohttp==3.13.3
    ~ hermes-agent==0.14.0 (from file:///C:/Users/tky11/AppData/Local/hermes/hermes-agent)

→ Refreshing 10 active lazy backend(s)...
↑ 1 refreshed: platform.slack
✓ 9 already current
→ Updating Node.js dependencies...

hermes-agent@1.0.0 postinstall
echo '✅ Browser tools ready. Run: python run_agent.py --help'

'✅ Browser tools ready. Run: python run_agent.py --help'

added 1 package in 3s
✓ repo root
npm warn deprecated @babel/plugin-proposal-private-methods@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.

added 403 packages in 1m
✓ ui-tui

✓ Code updated!

→ Syncing bundled skills...
~ 4 user-modified (kept)
✓ Skills are up to date

→ Syncing bundled skills to all profiles...
default: ~4 user-modified
file-auditer: ~4 user-modified
paralegal: up to date

→ Checking configuration for new options...
✓ Configuration is up to date

✓ Update complete!

Tip: You can now select a provider and model:
hermes model # Select provider and model

kindred mango
#

?

#

That output looks good now.

The important part is this:

jiter ok

and then:

✓ Update complete!

So the broken jiter.jiter import appears to be fixed in the Hermes venv, and the update completed successfully.

Now fully restart Hermes so the running process uses the repaired environment:

hermes gateway stop

Then close any old Hermes/PowerShell windows, open a fresh PowerShell, start Hermes normally, and send one test message.

The PowerShell update notice and the npm deprecated Babel warning are not the Hermes API failure. Those can be ignored for this issue.

If the same jiter.jiter error comes back after the restart, run this again from PowerShell:

cd $env:LOCALAPPDATA\hermes\hermes-agent
.\venv\Scripts\python.exe -c "import jiter.jiter; print('jiter ok')"

Then send the output plus a fresh hermes debug share from after the failed test message.

#

your output above is clean. no errors showing.

cerulean torrent
#

Same issue when I try to run it, unfortunately.

kindred mango
#

The new debug report still shows the same local Python import failure during streaming:

Streaming failed before delivery: No module named 'jiter.jiter'

But your direct venv test printed jiter ok, so the venv itself can import it. That means the Hermes process making the API call is probably not using the same repaired import path, or an old Python/Hermes process is still alive.

Do this from PowerShell:

Get-Process python,pythonw,hermes,hermes-gateway -ErrorAction SilentlyContinue | Stop-Process -Force

Then start Hermes through the exact venv executable, not the global hermes shortcut:

cd $env:LOCALAPPDATA\hermes\hermes-agent
.\venv\Scripts\python.exe -c "import sys, jiter, jiter.jiter; print(sys.executable); print(jiter.__file__); print(jiter.jiter.__file__)"
.\venv\Scripts\hermes.exe

Send one test message there.

If that works, the issue was a stale/global Hermes process or shortcut, not the repaired venv.

If it still fails even when started with .\venv\Scripts\hermes.exe, paste the output from the import command above plus a fresh hermes debug share.

cerulean torrent
#

Could it be that it is trying to use my other python install? The venv has 3.11.15 but

PS C:\Users\tky11> py --list
-V:3.13 * Python 3.13 (64-bit)
-V:Astral/CPython3.11.15 CPython 3.11.15 (64-bit)

kindred mango
#

That output is useful. It proves Hermes is launching from the venv, not Python 3.13:

C:\Users\tky11\AppData\Local\hermes\hermes-agent\venv\Scripts\python.exe

and it proves the native jiter file exists:

jiter.cp311-win_amd64.pyd

So this is narrower now. A plain jiter.jiter import works, but the OpenAI SDK streaming path inside Hermes still fails.

Please run these next from PowerShell:

cd $env:LOCALAPPDATA\hermes\hermes-agent

.\venv\Scripts\python.exe -c "from jiter import from_json; import openai.lib.streaming.chat._completions as c; print('openai stream import ok')"

Then try launching Hermes with jiter preloaded in the same process:

.\venv\Scripts\python.exe -c "import jiter.jiter, runpy; runpy.run_module('hermes_cli.main', run_name='__main__')"

Send one test message in that Hermes session.

If the preloaded launch works, that points to an import-order/module-state issue in the Hermes/OpenAI SDK startup path.

If it still fails, paste the output from the openai stream import ok command and send a fresh hermes debug share.

cerulean torrent
#

It worked with jiter preloaded

kindred mango
#

hmm. sec

#

The remaining issue is narrower: normal Hermes startup is reaching the OpenAI SDK streaming path before that native module is loaded cleanly on this Windows install. I'll try and PR this real quick so that you dont have to keep using that workaround.

#

I opened the fix here:

https://github.com/NousResearch/hermes-agent/pull/33665

The PR preloads the native jiter parser during Hermes agent startup, which matches the workaround you confirmed:

.\venv\Scripts\python.exe -c "import jiter.jiter, runpy; runpy.run_module('hermes_cli.main', run_name='__main__')"

So until that PR is merged, keep using that preload launch command if normal startup still hits No module named 'jiter.jiter'.

This should not require another reinstall. Your logs and command output already showed the package exists in the Hermes venv; the problem is the normal startup/import path.

cc @stoic rover or @acoustic geode (review?)

cerulean torrent
#

To clarify, once merged, I'll need to run hermes update and that should fix it?

kindred mango
#

That's what we're hoping for.

stoic rover
#

Merged @cerulean torrent @kindred mango