Skip to content

Releases: AnEntrypoint/agentgui

AgentGUI v1.0.1000

20 Jun 16:38

Choose a tag to compare

AgentGUI v1.0.1000

Latest commit: c1d78f1
fix(ws): close authenticated WS connections on unknown routes

The WS connection handler matched /hot-reload, /api/terminal/sessions/, and
/sync; any other route passed the PASSWORD gate but fell through with no
handler, leaving an authenticated socket open and idle forever. Added an else
branch that closes it (4404 unknown-route).

Witnessed: /sync still returns sync_connected, a bogus route now closes with
4404, boot clean, tests 47/47.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Install with:

bun x agentgui@latest
npm install -g agentgui
npx agentgui

Web interface: http://localhost:3000/gm/

Notes:

  • Data stored in ~/.gmgui/ folder
  • Requirements: Node.js 18+

AgentGUI v1.0.999

20 Jun 16:10

Choose a tag to compare

AgentGUI v1.0.999

Latest commit: 5847d4d
fix(electron): run the server child as plain Node, drain readiness polls

startServer spawned process.execPath (the Electron binary) to host server.js
but didn't set ELECTRON_RUN_AS_NODE, so the background HTTP server booted a
full second Electron/Chromium app runtime instead of running as plain Node -
the documented way to run a node script via the Electron binary. Added
ELECTRON_RUN_AS_NODE=1 to the spawn env. Also pollReady never drained the
http.get response on its retry path, leaving the socket open until timeout -
added res.resume().

Electron main process (node-side); syntax static-verified (no Electron runtime
in this env to exercise the GUI path).

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Install with:

bun x agentgui@latest
npm install -g agentgui
npx agentgui

Web interface: http://localhost:3000/gm/

Notes:

  • Data stored in ~/.gmgui/ folder
  • Requirements: Node.js 18+

AgentGUI v1.0.998

20 Jun 15:42

Choose a tag to compare

AgentGUI v1.0.998

Latest commit: d3be618
chore(deps): drop 3 more unused dependencies

ccfollow, @lanmower/ccf, and webtalk have zero references anywhere in agentgui
(no import/require, no spawn, no bun x, no config or bin reference across
.js/.mjs/.cjs/.json/.sh). ccfollow and @lanmower/ccf are libraries with no bin
and zero imports; webtalk ships a CLI server but agentgui never invokes it and
has no voice feature that would. Leftover declarations.

CI installs are non-frozen, so committing package.json alone is safe (lockfiles
reconcile). Boot clean, tests 47/47. deps 17 -> 14.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Install with:

bun x agentgui@latest
npm install -g agentgui
npx agentgui

Web interface: http://localhost:3000/gm/

Notes:

  • Data stored in ~/.gmgui/ folder
  • Requirements: Node.js 18+

AgentGUI v1.0.997

20 Jun 15:13

Choose a tag to compare

AgentGUI v1.0.997

Latest commit: a7b468e
chore(deps): drop 5 unused direct dependencies

@agentclientprotocol/sdk, execa, form-data, p-retry, and zod have zero
import/require references anywhere in the source (.js/.mjs/.cjs across
lib/server/scripts/bin/electron/site) - the ACP implementation is hand-rolled
in acp-protocol.js and does not use the SDK. As pure libraries they cannot be
used without an import, so the declarations are dead.

All CI installs are non-frozen (npm install --ignore-scripts, bun install - no
npm ci / --frozen-lockfile), so they reconcile the lockfiles from package.json;
committing package.json alone is safe. bun.lock is untracked (CI regenerates);
package-lock.json left untouched to avoid an uncertain cross-tool rewrite -
non-frozen npm install reconciles it. Boot clean, tests 47/47.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Install with:

bun x agentgui@latest
npm install -g agentgui
npx agentgui

Web interface: http://localhost:3000/gm/

Notes:

  • Data stored in ~/.gmgui/ folder
  • Requirements: Node.js 18+

AgentGUI v1.0.996

20 Jun 14:12

Choose a tag to compare

AgentGUI v1.0.996

Latest commit: af87d73
docs: fix stale plugin + static/ references after teardown

The plugin-system removal and the earlier static/ removal left the docs
describing an architecture that no longer exists. Updated AGENTS.md (server.js
description + replaced the obsolete 'Plugin Dependencies' section with a
'Plugin system removed' note) and rewrote the README Architecture file-map to
the current site/app/ + lib structure, dropping the removed lib/plugins/ and
static/ trees and correcting 'ACP auto-launch on startup' to on-demand.
Historical run-note changelog entries left intact.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Install with:

bun x agentgui@latest
npm install -g agentgui
npx agentgui

Web interface: http://localhost:3000/gm/

Notes:

  • Data stored in ~/.gmgui/ folder
  • Requirements: Node.js 18+

AgentGUI v1.0.995

20 Jun 13:43

Choose a tag to compare

AgentGUI v1.0.995

Latest commit: e73ed0e
refactor: remove the entire dead plugin system (488 lines)

The lib/plugins/ system was dead scaffolding end to end. Plugin routes were
unreachable (http-handler forwards only a few prefixes to the plugin express
app -> 404), plugin wsHandlers were never wired (the loader only mounted
state.routes; the real WS handlers come from registerWsHandlers in
ws-handlers-util.js), and plugin api objects were never consumed. The four
remaining plugins were confirmed inert: database-plugin's init was a no-op
(database.js already runs initSchema at import), stream-plugin managed local
Maps nobody read, workflow-plugin had empty no-op wsHandlers, and
websocket-plugin imported WebSocketServer and fetched db/stream/agents without
using any of them. The real server (server.js + ws-handlers-util + http-handler

  • database.js + routes-upload) is fully independent.

Removed the 4 plugins, plugin-loader.js, createPluginLoader + its wiring in
server.js, and retargeted the workflow-plugin test to the registry assertion
it actually exercised. With acp/files/agents removed earlier, lib/plugins/ is
now empty.

Witnessed: boot clean (no [PLUGINS] line), WS agents.list returns the real
registry, tests 47/47, validate-mutations 29/29. ws/busboy/express deps still
used by ws-setup/routes-upload.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Install with:

bun x agentgui@latest
npm install -g agentgui
npx agentgui

Web interface: http://localhost:3000/gm/

Notes:

  • Data stored in ~/.gmgui/ folder
  • Requirements: Node.js 18+

AgentGUI v1.0.994

20 Jun 13:13

Choose a tag to compare

AgentGUI v1.0.994

Latest commit: c5fd860
refactor(plugins): remove dead agents-plugin (fake hardcoded agent data)

agents-plugin built a fake hardcoded agent list (gm-cc/gm-oc/gm-gc/gm-kilo)
unrelated to the real registry the client uses via the WS agents.list handler.
Its two routes were unreachable (404 - http-handler only forwards a few
prefixes to the plugin express app), its wsHandlers were empty, and its api
was never consumed (plugin wsHandlers/api are never wired into the server).
Only websocket-plugin nominally depended on it via plugins.get('agents'),
which it never used. Dropped the dep and the unused db/stream/agents locals.

Witnessed: [PLUGINS] Loaded extensions drops 'agents', websocket still loads,
WS agents.list still returns the real registry agents, tests 47/47,
validate-mutations 29/29, boot clean.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Install with:

bun x agentgui@latest
npm install -g agentgui
npx agentgui

Web interface: http://localhost:3000/gm/

Notes:

  • Data stored in ~/.gmgui/ folder
  • Requirements: Node.js 18+

AgentGUI v1.0.993

20 Jun 12:42

Choose a tag to compare

AgentGUI v1.0.993

Latest commit: b076541
refactor(plugins): remove dead/redundant files-plugin

lib/plugins/files-plugin.js registered three routes, all dead:

  • POST /api/folders was never forwarded to the plugin express app by
    http-handler (only /api/upload/, /files/, /v1/history are) -> 404
  • GET /files/:id and POST /api/upload/:id were shadowed by routes-upload.js
    (createExpressApp), the real Busboy-upload + fsbrowse impl wired at
    server.js:7 and registered first, so Express first-match always won

Its /api/upload handler was a no-op that stored nothing, its browseDirectory
api had no callers, and it fetched the database dependency without using it.
No plugin depends on 'files'. Removal is behavior-preserving - the duplicate
routes were already shadowed.

Witnessed: [PLUGINS] Loaded extensions drops 'files'; /gm/api/upload/ still
served by routes-upload; validate-mutations 29/29; tests 47/47; boot clean.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Install with:

bun x agentgui@latest
npm install -g agentgui
npx agentgui

Web interface: http://localhost:3000/gm/

Notes:

  • Data stored in ~/.gmgui/ folder
  • Requirements: Node.js 18+

AgentGUI v1.0.992

20 Jun 11:17

Choose a tag to compare

AgentGUI v1.0.992

Latest commit: 509bf01
refactor: remove 10 dead exported functions across lib/ (74 lines)

All verified unreferenced anywhere - no importer in lib/, server.js, the test
suites, no barrel re-export, and the browser client cannot import server lib:
claude-runner-run.js getRegisteredAgents, isAgentRegistered
execution-machine.js isStreaming, isActive
acp-sdk-manager.js getRunningPorts
acp-server-machine.js getMachineActors
gm-agent-configs.js forceReinstallGMAgentConfigs
asset-server.js createChunkBatcher
agent-descriptors.js getAllDescriptors

Kept findCommand/maskToken/resizeSession/writeToSession - exported but still
used within their own module. Boot clean, tests 47/47.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Install with:

bun x agentgui@latest
npm install -g agentgui
npx agentgui

Web interface: http://localhost:3000/gm/

Notes:

  • Data stored in ~/.gmgui/ folder
  • Requirements: Node.js 18+

AgentGUI v1.0.991

20 Jun 10:46

Choose a tag to compare

AgentGUI v1.0.991

Latest commit: 80d4b7c
refactor(agents): remove the cli-wrapper id-rename (root of the id-mismatch class)

discoverAgents() replaced each found ACP agent (e.g. opencode, protocol acp)
with a CLI_WRAPPERS entry (cli-opencode, protocol cli-wrapper, acpId opencode).
This cli-* id scheme was used nowhere else - the registry, the WS client, and
acp-sdk-manager all key on the plain id - so every cross-reference into
discoveredAgents broke:

  • getModelsForAgent returned [] for all ACP agents (fixed defensively last
    commit, now resolved at the source)
  • agent-descriptors gave opencode/gemini the generic description and dropped
    the model input spec (id === 'opencode' never matched 'cli-opencode')
  • process-message carried a dead wrapper-resolution branch

The cli-wrapper branch did exactly what the plain acp branch already does, so
the wrapper added only indirection and bugs. Removed CLI_WRAPPERS and the
rename, the dead branches in server-utils/process-message, and retargeted the
regression test to the acp path. discoveredAgents ids now match the registry.

Witnessed: startup 'Agent IDs: claude-code, opencode, gemini, kilo, codex';
models probe reaches ensureRunning; getAgentDescriptor('opencode') now returns
its real description + model spec; boot clean; tests 47/47.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Install with:

bun x agentgui@latest
npm install -g agentgui
npx agentgui

Web interface: http://localhost:3000/gm/

Notes:

  • Data stored in ~/.gmgui/ folder
  • Requirements: Node.js 18+