{"_id":"@austencloud/agent-hub","name":"@austencloud/agent-hub","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@austencloud/agent-hub","version":"1.0.0","description":"Windows taskbar popover that asks \"Claude or Codex?\" and opens the chosen agent in the project you clicked, in its own tinted Windows Terminal window.","keywords":["claude","claude-code","codex","agent","launcher","windows-terminal","taskbar","cli","windows"],"license":"MIT","author":{"name":"Austen Cloud","email":"austencloud@gmail.com"},"homepage":"https://github.com/austencloud/tka-platform/tree/main/agent-hub#readme","repository":{"type":"git","url":"git+https://github.com/austencloud/tka-platform.git","directory":"agent-hub"},"bugs":{"url":"https://github.com/austencloud/tka-platform/issues"},"type":"module","bin":{"agent-hub":"bin/agent-hub.js"},"os":["win32"],"engines":{"node":">=18"},"publishConfig":{"access":"public"},"gitHead":"09a86ee055318211be841ea76d932afb494239ed","_id":"@austencloud/agent-hub@1.0.0","_nodeVersion":"24.8.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-7Ys7weejesvFythggBIwhYqEgXnr31NEaMVlQ7L59Ch/RhFKiIRhF85x8m+B159YL+meQ7YWM/Waue5IVTxsTA==","shasum":"b1742796427be759107e053d2485d894b63896bf","tarball":"https://registry.npmjs.org/@austencloud/agent-hub/-/agent-hub-1.0.0.tgz","fileCount":24,"unpackedSize":937187,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHkDVWE5FuUMjtBeLGdbN4CK+52A3AANGGzl59VTy7qRAiBnXL/V1i9wf7h/5n/zA1EvDMuA9eJpPEKpIAm6WqBpNQ=="}]},"_npmUser":{"name":"austencloud","email":"austencloud@gmail.com"},"directories":{},"maintainers":[{"name":"austencloud","email":"austencloud@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agent-hub_1.0.0_1785036310207_0.6444970925385929"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-26T03:25:09.979Z","1.0.0":"2026-07-26T03:25:10.395Z","modified":"2026-07-26T03:25:10.552Z"},"maintainers":[{"name":"austencloud","email":"austencloud@gmail.com"}],"description":"Windows taskbar popover that asks \"Claude or Codex?\" and opens the chosen agent in the project you clicked, in its own tinted Windows Terminal window.","homepage":"https://github.com/austencloud/tka-platform/tree/main/agent-hub#readme","keywords":["claude","claude-code","codex","agent","launcher","windows-terminal","taskbar","cli","windows"],"repository":{"type":"git","url":"git+https://github.com/austencloud/tka-platform.git","directory":"agent-hub"},"author":{"name":"Austen Cloud","email":"austencloud@gmail.com"},"bugs":{"url":"https://github.com/austencloud/tka-platform/issues"},"license":"MIT","readme":"# Agent Hub\n\nA taskbar popover that asks **Claude or Codex?** and opens the chosen agent in the\nproject you clicked.\n\nEvery Agent Hub launch opens its own Windows Terminal window. Agent Hub keeps 16\ndark background tints available, so no two live Claude or Codex sessions share\none. Each tab uses the same tint as its terminal background. Closing a session\nreleases its tint automatically.\n\nThe terminal title starts as `Starting Session`. Bare `/rename` lets Claude or\nCodex choose an accurate two- or three-word name from the conversation. Use\n`/rename Exact Name` when you want to choose it yourself. The same name appears\nin history and Alt+Tab, with no agent or project suffix, and it never changes\nagain unless you run `/rename` again.\n\nPin one shortcut per repo. Click it, a card appears at your cursor with the\nproject's icon and two buttons. Pick one and the agent's terminal opens in that\ndirectory, already carrying the bypass flags.\n\n```\n1        Claude Code\n2        Codex\nEnter    last agent used for this project\nEsc      cancel\n```\n\n## Install\n\nFrom npm, in the folder that holds your checkouts:\n\n```powershell\nnpx @austencloud/agent-hub\n```\n\nWindows only. Nothing to build first: the package carries the C# sources and the\ninstaller compiles them with the .NET Framework compiler already on the machine.\nRun it from inside a repo and the sibling folder becomes the project root; run it\nfrom a folder full of repos and that folder does. Name it yourself with\n`npx @austencloud/agent-hub -ProjectsRoot C:\\code`.\n\n`npx @austencloud/agent-hub uninstall` reverses it, `-Purge` included.\n\nOr from a clone of this repo:\n\n```powershell\ncd <repo>\\agent-hub\npowershell -ExecutionPolicy Bypass -File .\\install.ps1\n```\n\nIf your other checkouts live somewhere other than this repo's parent folder:\n\n```powershell\npowershell -ExecutionPolicy Bypass -File .\\install.ps1 -ProjectsRoot C:\\code\n```\n\nThe installer opens `%USERPROFILE%\\AgentHub` when it finishes. Drag the shortcuts\nonto your taskbar to pin them. That folder and the Start Menu both get a copy;\nthe taskbar is the point.\n\nRe-run it any time. It rebuilds, refreshes shortcuts, and never overwrites a\nproject's existing `launchers\\start-*.bat`.\n\n### What it does\n\n1. Verifies Claude's guarded two/three-word bare `/rename` prompt patch.\n2. Installs 16 perceptually spaced dark Windows Terminal background schemes\n   for the current user and signals any running Terminal instance to reload them.\n3. Compiles four small executables with the .NET Framework compiler that ships\n   with Windows. No SDK, no npm, no downloads.\n4. Installs them to `%LOCALAPPDATA%\\AgentHub\\bin` along with the icons.\n5. Creates one shortcut per project in `%USERPROFILE%\\AgentHub` and the Start Menu.\n6. Writes `launchers\\start-claude.bat` / `start-codex.bat` into any project that\n   lacks them, so a bare repo still launches.\n7. Registers the host to start at logon and starts it now.\n\n### Options\n\n| Flag | Effect |\n|---|---|\n| `-ProjectsRoot <dir>` | Where your checkouts live. Default: this repo's parent. |\n| `-NoAutoDiscover` | Only install projects listed in `projects.json`. |\n| `-NoLaunchers` | Don't create `start-*.bat` in projects that lack them. |\n| `-NoStartup` | Don't register the host to run at logon. |\n| `-NoOpen` | Don't open the shortcut folder at the end. |\n\nProjects come from `projects.json` plus, unless `-NoAutoDiscover` is passed, any\nsibling folder under `ProjectsRoot` that contains a `.git` directory. Entries\nwhose path doesn't exist are skipped silently, so one `projects.json` works\nacross machines that have different subsets cloned.\n\nTo add an icon for a project, drop a `.ico` into `agent-hub/icons/` and name it\nin `projects.json` (auto-discovered projects look for `<folder-name>.ico`).\n\n## Uninstall\n\n```powershell\npowershell -ExecutionPolicy Bypass -File .\\uninstall.ps1\n```\n\nStops the host, removes the install folder, shortcuts, and the logon entry. Your\nrepos' `launchers\\start-*.bat` files are left alone. Add `-Purge` to also forget\nthe remembered per-project agent. Taskbar pins have to be unpinned by hand.\n\n## How it works\n\nFour executables split the popover and terminal lifecycles:\n\n- **AgentChooserStub.exe** is what the shortcut launches. It does nothing but\n  write `project|name|icon` to a named pipe and exit, so it starts in tens of\n  milliseconds.\n- **AgentChooserHost.exe** is resident. At logon it builds the WPF window\n  off-screen, warms the fonts and layout, then waits on the pipe. On a ping it\n  positions the pre-built card at your cursor and shows it. Selection hides the\n  window rather than closing it, so the second click is as fast as the first.\n- **AgentTerminalLauncher.exe** claims the first free tint, then opens a new\n  Windows Terminal window with that background scheme.\n- **AgentTerminalSession.exe** runs inside the new window and holds the named\n  tint lease until the agent exits. Windows releases the lease if the terminal\n  is closed forcefully.\n\nIf the host isn't running when you click, the stub cold-starts it and passes the\narguments through, so a shortcut always works.\n\nState lives in `%LOCALAPPDATA%\\AgentHub`:\n\n| File | Purpose |\n|---|---|\n| `last.ini` | Per-project last agent, used for the Enter shortcut and the default highlight. |\n| `debug.flag` | Create this empty file to turn on verbose logging to `host.log`. |\n| `launch-errors.log` | Terminal startup failures, written only when a launch fails. |\n\nThe Windows Terminal schemes live in\n`%LOCALAPPDATA%\\Microsoft\\Windows Terminal\\Fragments\\AgentHub`. The uninstaller\nremoves that fragment with the rest of Agent Hub.\n\nLaunching an agent opens `wt.exe -w new` and runs\n`<project>\\launchers\\start-<agent>.bat` inside it. Each repo owns that file, so a\nproject can customize how its agent starts (extra env, a wrapper binary, a\nstatus line) without touching agent-hub. If the bat is missing, the session\nhost runs `claude` or `codex` from PATH.\n\n## Troubleshooting\n\n**Nothing happens when I click a pin.** Check whether the host is alive:\n\n```powershell\nGet-Process AgentChooserHost\n```\n\nIf it's missing, start it: `%LOCALAPPDATA%\\AgentHub\\bin\\AgentChooserHost.exe`.\nFor details, create the debug flag and click again:\n\n```powershell\nNew-Item -ItemType File \"$env:LOCALAPPDATA\\AgentHub\\debug.flag\" -Force\nGet-Content \"$env:LOCALAPPDATA\\AgentHub\\host.log\" -Tail 30\n```\n\n**The build fails with \"csc.exe not found\".** Enable the .NET Framework 4.x\nfeature in Windows Features and re-run.\n\n**The popover animation plays twice.** Known behavior when clicking a pin while\nthe popover is already open: the click's mousedown hides it, then the same\nclick's ping reopens it. See `KNOWN-ISSUES.md`.\n\n**The agent window does not open or has no distinct background.** Re-run the\ninstaller, then open a new Agent Hub session. Confirm that all four executables\nexist in `%LOCALAPPDATA%\\AgentHub\\bin`, then check\n`%LOCALAPPDATA%\\AgentHub\\launch-errors.log`.\n\n## Source layout\n\n```\nagent-hub/\n  install.ps1        build + install + shortcuts + logon entry\n  uninstall.ps1\n  bootstrap.ps1      download this folder from GitHub, then install\n  package.json       published as @austencloud/agent-hub\n  bin/agent-hub.js   npm entry point; resolves ProjectsRoot, calls install.ps1\n  projects.json      project list (path, display name, icon)\n  src/               C# sources for the four executables\n  icons/             project icons\n  templates/         start-claude.bat / start-codex.bat written into bare repos\n  KNOWN-ISSUES.md\n```\n\nPublishing: `cd agent-hub && npm publish`. `files` in package.json is the\nallowlist, so `diag/` and `hooks/` stay out of the tarball.\n\nThe C# targets the .NET Framework compiler, which means **C# 5 only**: no `?.`,\nno string interpolation, no local functions, no expression-bodied members. The\nsources carry a UTF-8 BOM because csc assumes the ANSI codepage without one and\nthe card contains non-ASCII text. Keep both constraints in mind when editing.\n","readmeFilename":"README.md","_rev":"1-9b8a814c972b63db28d5b3ed440bc754"}