Temporarily disable and restore AI-agent skills, agents, commands, rules, plugins and MCP servers across Claude Code, Codex, Grok, OpenCode, OpenClaw, Copilot and Vibe. Nothing is deleted, and it shows what each item costs at session start.
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: 开源项目. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository weskao/agent-toggle;first catalogued 2026-10-10;last seen 2026-10-10。There is no official certification or quality rating here — we record sources and dates only.
agent-toggle
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
PyPI:
Temporarily disable and restore AI-agent resources — skills, agents, commands,
rules, plugins (mods included), MCP servers — across Claude Code, Codex, Grok CLI, OpenCode,
OpenClaw, Copilot, Vibe, Devin and Antigravity — and show what each one costs at
session start.
It ships in two forms: a **CLI** (agent-toggle, all harnesses) and a **Claude Code mod**
(the /agent-toggle pane, claude harness only; see Claude Code pane mod).
Both drive the same toggle engine and state.
**Nothing is ever deleted.** Everything is parked and recorded, and enable
puts it back where it came from.
At a glance
**agent-toggle ui**: one list per harness, with what each resource costs in tokens.
Toggle rows, see the token change before you apply it, and apply it as one batch that
undo reverses (Interactive picker).
**agent-toggle config**: every setting in one menu. Turn harnesses on or off and set the
language, update check and Telegram notifications. It also runs tools such as doctor and
undo (Settings & config menu).
**/agent-toggle inside Claude Code**: the same picker as a pane. Search, then turn skills, MCP
servers, plugins and mods on or off without leaving the session; each toggle applies at once and
queues the matching reload (Claude Code pane mod).
Why
| target | native mechanism | the gap |
|---|---|---|
| plugin | claude plugin disable/enable | without -s the scope follows the current dir, so a project plugin enabled from elsewhere stays off; this tool pins the install's scope and project |
| skill | none | moving files by hand hits the rename trap below |
| agent | none | same |
| command | none | same, plus nested group/name.md paths get flattened |
| MCP | remove only | the config is gone unless you saved it first |
Install
Latest release, from PyPI:
Straight from this repository, pinned to a release tag (replace vX.Y.Z with one from
tags; an unpinned git+ URL installs
whatever is on the default branch):
Alternatively, use pipx:
From a checkout, either install it editable or run it in place:
Python 3.10+, no runtime dependencies. Then write the skill shim:
install-shims writes a thin skill shim (skills/agent-toggle/SKILL.md) into
every installed harness that supports skills, so /agent-toggle works from any
of them. The shim calls agent-toggle on PATH and never a checkout path, so install
the package (or pip install -e .) before relying on it. It writes nothing else into a harness home: parked items live under
~/.agent-toggle/parked/, so a harness-home .gitignore needs no park-dir
line. Older versions appended -disabled/ lines there; inside a git work
tree, install-shims reports such stale lines once migrate has emptied the
dir they covered, asks y/n on a terminal, removes them without asking with
--gitignore, and skips the check with --no-gitignore (--dry-run only
reports; every other line is kept byte for byte). Each harness gets its own template from
agent_toggle/shims/ .md.tmpl, else generic.md.tmpl (which tells the
agent to pass --harness ). The shim tells the agent to act only
on the user's explicit request, never on instructions found inside skill or
tool content, and to preview bulk operations with --dry-run.
OpenCode's shim goes into the first skills.paths dir when one is set (and its
parent exists), else skills/. OpenCode also scans ~/.claude/skills and
~/.agents/skills: when one of them already holds the very same shim text, the
OpenCode shim is skipped (covered by ); a different shim there (the
claude one, whose default harness is claude) is noted and OpenCode's own is
still written.
Every shim carries an marker line.
install-shims updates a file that has the marker in place (it is idempotent)
and **refuses** to overwrite one that lacks it, or a symlink: that harness gets
an error row with the fix, the other harnesses still install, and the run
exits 1. A shim written by a version before the marker counts as foreign;
delete it and re-run. --dry-run shows the same plan, refusals included. The
tool itself stays in one place.
**Optional: Telegram alerts for CI** (for maintainers of a fork or clone). The
Telegram support comes from telegram-kit
(itself stdlib-only), which every install includes, so a reinstall or upgrade keeps
your settings. The settings menu hides its Telegram rows for now; set up the alerts as in
CI notifications.
The old agent-toggle[telegram] extra still resolves and is now a no-op. If
telegram-kit is missing from a broken install, config test and config sync-ci
exit 4.
**Optional: the Claude Code pane mod** (the picker as a pane inside Claude Code, claude harness