Decide what Claude carries.
A small macOS panel for the plugins, skills and MCP servers Claude Code loads into every session.
It switches them where Claude actually reads, so what you turn off stays out of context. It also shows the dev servers you forgot were running.
- animate
- better-typography
- brand-voice
- changelog
- color-audit
- deploy-preview
- haiku-commit
- layout-grid
- release-notes
- frontend-design
- figma-implement
- swift-concurrency
/reload-pluginsQuit ⌘QWhat it does
Four tabs. Each one writes a real field.
Click the menu bar icon and the panel opens on Ports. Every switch writes to your config straight away and copies the reload command for you.
Ports
See what’s running. Stop what isn’t needed.
Every dev server listening on your Mac, with its project folder, framework, PID and uptime. A live probe marks each one as responding or not.
- Restart relaunches the same command in the same folder
- Kill sends SIGTERM, then SIGKILL if it hangs on
- Kill all asks twice
- localhost:3000Next.js~/code/tea-house/web
- localhost:5173Vite~/code/field-notes
- localhost:8000Python~/code/kiln/api
/reload-pluginsQuit ⌘QPlugins
One switch per plugin.
Every installed plugin with its version and marketplace. The switch writes enabledPlugins, the field Claude Code reads when a session starts.
- Reads installed_plugins.json
- New sessions pick up the change
- Running ones reload with one paste
- code-simplifier1.0.0 · claude-plugins-official
- figma2.2.120 · claude-plugins-official
- frontend-designfa59bc903774 · claude-plugins-official
- playwrightfa59bc903774 · claude-plugins-official
- swift-lsp1.0.0 · claude-plugins-official
- vercel0.50.0 · claude-plugins-official
/reload-pluginsQuit ⌘QSkills
Four states, one tap each.
On, Name, Slash or Off for every skill: the ones plugins bring and the ones in your own ~/.claude/skills. All four states stay visible, so nothing hides behind a menu.
- Writes skillOverrides
- Only On takes the accent. Reduced states stay quiet
- Turn all off, with a two-step confirm
- animate
- better-typography
- brand-voice
- changelog
- color-audit
- deploy-preview
- haiku-commit
- layout-grid
- release-notes
- frontend-design
- figma-implement
- swift-concurrency
/reload-pluginsQuit ⌘QMCP
Blocked, not just disconnected.
Local servers move between mcpServers and a parked list in ~/.claude.json. claude.ai integrations go on deniedMcpServers, the one field that actually keeps them out.
- Blocked integrations stay listed, so you can turn them back on
- Live status from claude mcp list
- Transport and command shown for each local server
- figmaHTTPhttps://mcp.figma.com/mcp
- githubSTDIOnpx -y @modelcontextprotocol/server-github
- postgresSTDIOuvx mcp-server-postgres --read-only
- FigmaBlocked locally
- GmailBlocked locally
- Google CalendarConnected
- Google DriveBlocked locally
- MiroBlocked locally
- SlackConnected
/reload-pluginsQuit ⌘QHow it works
Off should mean out of context.
Every plugin, skill and MCP server you install is described to the model when a session starts. Loadout edits the fields Claude reads, and nothing else. No daemon, no account, no patching Claude Code.
Claude Code has ways to switch things off, but they don’t all do what you’d expect.
/plugin disableSkills and agents go. A plugin’s bundled MCP servers can stay in mcpServers and keep advertising their tools.
/mcp disconnectNot a block. Tools can come back on reconnect, and nothing stops them loading next session.
skillOverridesThe biggest saving has no UI. Name-only and slash-only mean hand-editing settings.json.
~/.claude/skills/Your own skills can’t be reached from claude plugin commands at all.
One skill, four states. What each adds to context, every session.
- On~4.5k tokensFull body loaded every session
- Name~40 tokensName and description. Claude can still find it
- Slash0Hidden from the model. You call it with /name
- Off0Gone until you turn it back
Example: an 18 KB skill, about 4.5k tokens. Name-only is over 100 times smaller and the skill stays discoverable.
Loadout reads your config when it opens and writes the same fields you would edit by hand.
- 01You flip a switch
Plugin, skill state or MCP server, in the menu bar.
- 02Loadout writes the field
settings.json or ~/.claude.json. Temp file, then an atomic swap.
- 03/reload-plugins is copied
Paste it into a running session. New sessions need nothing.
- Atomic writes
Read, change, write to a temp file, swap. A file is never left half-written.
- No hidden channel
Claude Code has no local socket to talk to. The clipboard hands over the reload, and you stay in charge of when.
- No undo
Toggles write straight away. To revert, toggle back. The two bulk actions ask twice.
| Field | File | Controls |
|---|---|---|
enabledPlugins | ~/.claude/settings.json | Plugin on or off |
skillOverrides | ~/.claude/settings.json | on · name-only · user-invocable-only · off |
deniedMcpServers | ~/.claude/settings.json | claude.ai integrations to block |
mcpServers | ~/.claude.json | Local MCP servers that load |
_disabledMcpServers | ~/.claude.json | Local servers parked by Loadout |
Install
Build it in a minute.
Build it, drop it in Applications, and the backpack appears in your menu bar.
- Swift files
- 2
- build script
- 1
- daemons, accounts or patches
- 0
# clone and build
git clone https://github.com/rahulmax/Loadout.git
cd Loadout
./build.sh
# install and open
cp -R Loadout.app /Applications/
open /Applications/Loadout.app- macOS 14 Sonoma or later
- Swift 5.9 toolchain (Xcode or Command Line Tools)
- Claude Code, for the settings it manages