Repository navigation
v0.21.0
New features
- An installed extension's data folder (#52):
${CLAUDE_PLUGIN_DATA}in its servers'argsandenv, as in Claude Code, is<scope>/.data/<name>/: outside its plugin and its hash, kept across reinstalls and updates. Keep there what must last (a browser profile with a signed-in session, a cache). Its servers also getCLAUDE_PLUGIN_ROOTandCLAUDE_PLUGIN_DATAas variables.extension removeasks before deleting it (--yesdeletes it,--keep-datakeeps it);extension infoshows it and its size.extensionDataDir()is exported. - Developing an extension linked (#52):
extension add <folder> --linkregisters the folder where it is: run from there, its files not checked against a hash. A rebuild takes effect when its server starts again; in the chat,/extensions disableandenableturn a linked one back on with its new files.extension listshows it as linked, andextension removeleaves the folder.
Fixes
- An installed extension finds the system's browsers. The launcher's clean environment had no
PROGRAMFILES, so Playwright found no Edge or Chrome from an installed extension. It now keeps the system's variables a program needs to find and open another (PROGRAMFILES,PROGRAMFILES(X86),PROGRAMDATA,DISPLAY,WAYLAND_DISPLAY,XDG_*…), still never a credential.
Performance
- Installed extensions' plugins are mounted as links, not copies. Every session copied each installed extension's whole plugin into its run folder,
node_modulesincluded, and run folders are kept for resuming. Now it's a link (a junction on Windows, no privilege needed), removed and made again to turn the extension off and on; a copy only where a link can't be made.
Confirmed SDK behavior
- Turning a stdio MCP server off, or closing the session, ends its whole process tree: a browser it opened with Playwright closes with it, and its profile isn't left locked (Windows; a test checks it wherever the CLI's binary is).
- A plugin loads through a link, and
reloadPlugins()unloads it when the link goes and loads it when it's back.
Captain Whiskers
Captain Whiskers 0.2.0, the example agent built on agent-kit 0.21.0, as a Windows app: download the installer. It's unsigned, so SmartScreen warns about it; it asks for a Claude key on first start and keeps everything in ~/.captain-whiskers.