Skip to content

LLM Explainer v1.13.0

Latest

Choose a tag to compare

@pgarba pgarba released this 05 Sep 08:04

v1.13.0 — Multi-instance agent server discovery + session open/close tools

Running several IDA sessions at once with the agent server enabled used to just break: the port defaults to a fixed 8181 shared by every process (the config file is global), so the second session's server would fail to bind and never start.

Multi-instance support:

  • The agent server now falls back to an OS-assigned free port when the configured one is already taken, instead of failing outright.
  • Every running instance advertises itself — host, port, token, and the binary it's analyzing — in a shared registry file (agent_instances/ under the IDA user directory), removed on clean shutdown.
  • New standalone script list_ida_agents.py lists all live sessions (probing /health, pruning stale entries from crashed sessions) so an agent can find the right session by binary name instead of needing a fixed port up front.
  • GET /health now also reports pid and idb_name.

New agent-server tools:

  • openFile opens another binary in a brand-new IDA window, leaving the current session untouched.
  • openFileInThisWindow (gated) saves+closes the current session and opens a different file in a new window, exiting this process — IDA has no in-place "swap the input file" operation, so this is as close to "reuse this window" as its architecture allows.
  • closeDatabase (gated) saves, closes, and exits this IDA process — call it when an agent is done with a session so it doesn't linger.
  • Both gated tools require the new agent_allow_close setting (off by default).

See the Changelog in README.md for full details.