fleet plugin 0.3.0: drop the MCP mount, gate the mod off for members, install at user scope #791

Open
opened 2026-10-06 06:19:53 +02:00 by ltms · 0 comments
Owner

Operator decision 2026-10-06: one plugin, no split. Follows #788.

Why

We want the fleet mod in every session on this host (ccs instances gx10, ltms, ollama, work). Two parts of plugin/ make a user-scope install unsafe today:

  1. plugin/.mcp.json mounts fleet at ${FLEETD_MCP_URL}. That variable is unset on this host, and every instance already mounts fleet in its own .claude.json. So every session would get a duplicate or a failed mount, and spawned members (opus/sonnet use the ltms dir, local/local-direct use gx10) would get it too. A member's fleet mount belongs to the launcher.
  2. A member that runs the mod polls fleet_inbox, becomes mod-served, and gets its brief through $.prompt.submit. That path is not tested for members.

No config dir on this host has fleet@ in installed_plugins.json (checked 2026-10-06, control: context7 matched 3), so removing the mount breaks nobody here.

Plan

  • Delete plugin/.mcp.json. The mount stays with the instance or the project .mcp.json the setup skill writes.
  • Update plugin/README.md and plugin/skills/setup/SKILL.md: the plugin no longer mounts the daemon. Breaking change, version 0.2.0 → 0.3.0 in plugin/.claude-plugin/plugin.json and .claude-plugin/marketplace.json.
  • The mod calls fleet_whoami once at session start and stays off (no fleet_inbox timer) when the role is worker or architect. Other roles, and an unreachable daemon, behave as today (keep retrying; a daemon that starts later must still be picked up).
  • fleetd URL: the mod has http://127.0.0.1:8765/mcp hard-coded. If the mods API documents a way to read an env var or a plugin userConfig value, read the URL from it with that default; if it does not, keep the constant. Decide from the docs, not memory.
  • Lead, after merge: install with claude plugin marketplace add <repo> + claude plugin install fleet@fleetd --scope user per instance, check claude plugin list, update the CLAUDE.md addendum sentence about the plugin.
Operator decision 2026-10-06: one plugin, no split. Follows #788. ## Why We want the fleet mod in every session on this host (ccs instances gx10, ltms, ollama, work). Two parts of `plugin/` make a user-scope install unsafe today: 1. `plugin/.mcp.json` mounts `fleet` at `${FLEETD_MCP_URL}`. That variable is unset on this host, and every instance already mounts `fleet` in its own `.claude.json`. So every session would get a duplicate or a failed mount, and spawned members (opus/sonnet use the ltms dir, local/local-direct use gx10) would get it too. A member's `fleet` mount belongs to the launcher. 2. A member that runs the mod polls `fleet_inbox`, becomes mod-served, and gets its brief through `$.prompt.submit`. That path is not tested for members. No config dir on this host has `fleet@` in `installed_plugins.json` (checked 2026-10-06, control: `context7` matched 3), so removing the mount breaks nobody here. ## Plan - Delete `plugin/.mcp.json`. The mount stays with the instance or the project `.mcp.json` the `setup` skill writes. - Update `plugin/README.md` and `plugin/skills/setup/SKILL.md`: the plugin no longer mounts the daemon. Breaking change, version 0.2.0 → 0.3.0 in `plugin/.claude-plugin/plugin.json` and `.claude-plugin/marketplace.json`. - The mod calls `fleet_whoami` once at session start and stays off (no `fleet_inbox` timer) when the role is `worker` or `architect`. Other roles, and an unreachable daemon, behave as today (keep retrying; a daemon that starts later must still be picked up). - fleetd URL: the mod has `http://127.0.0.1:8765/mcp` hard-coded. If the mods API documents a way to read an env var or a plugin `userConfig` value, read the URL from it with that default; if it does not, keep the constant. Decide from the docs, not memory. - Lead, after merge: install with `claude plugin marketplace add <repo>` + `claude plugin install fleet@fleetd --scope user` per instance, check `claude plugin list`, update the CLAUDE.md addendum sentence about the plugin.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: fleet/fleetd#791