Agent Tab Title
/install agent-tab-title
agent-tab-title
Local OpenClaw Control UI patch: rewrites document.title to \x3Cagent name> · OpenClaw.

Mirrors PR openclaw/openclaw#80944 as an out-of-tree patch that edits the bundled Control UI index.html shipped inside the locally installed openclaw npm package. Survives gateway restarts; does not survive openclaw update (re-run apply after upgrades).
When to use
- User wants per-agent browser tab titles for OpenClaw Control UI.
- User has multiple Control UI tabs open across agents and can't tell them apart.
- User wants to apply / remove / re-apply this patch.
- User just ran
openclaw updateand the tab title went back toOpenClaw Control.
How it works
The Control UI is a static SPA shipped inside the npm package at:
\x3Cnpm-global>/openclaw/dist/control-ui/index.html
Gateway serves it as a static file. The patch injects a ~25-line \x3Cscript> block right before \x3C/body> that:
- Polls
\x3Copenclaw-app>Lit element every 200 ms. - Reads
assistantName(preferred) orassistantAgentId(fallback) properties. - Sets
document.titleto\x3Cname> · OpenClaw(U+00B7 middle dot), orOpenClaw Controlif no agent.
No build, no dependencies, no gateway restart — just refresh the browser tab.
Apply / remove
# Apply (idempotent — safe to re-run after openclaw update)
bash scripts/apply.sh
# Remove (restores original index.html via .bak)
bash scripts/apply.sh --uninstall
# Custom Control UI path (auto-detect usually works)
bash scripts/apply.sh --target /path/to/openclaw/dist/control-ui/index.html
apply.sh auto-detects the Control UI index.html by probing, in order:
OPENCLAW_CONTROL_UI_INDEXenv var--target \x3Cpath>flag$(npm root -g)/openclaw/dist/control-ui/index.html- Common nvm path
~/.nvm/versions/node/*/lib/node_modules/openclaw/dist/control-ui/index.html
On apply:
- Creates
index.html.bakonce (never overwrites an existing backup; that backup is the rollback point). - Skips re-injection if the patch marker
openclaw-tab-title local patchis already present.
After openclaw update
npm update overwrites the whole dist/ tree, including any prior backup. Re-run bash scripts/apply.sh — it will create a fresh backup off the new pristine file and inject the patch.
Verify
- Reload Control UI in browser (no gateway restart needed).
- Switch between agents (Milly / Sherry / etc.) — tab title should update live to
\x3Cagent> · OpenClaw. - With no agent selected, title falls back to
OpenClaw Control.
If title doesn't change, check Service Worker cache: DevTools → Application → Service Workers → Unregister → reload.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install agent-tab-title - After installation, invoke the skill by name or use
/agent-tab-title - Provide required inputs per the skill's parameter spec and get structured output
What is Agent Tab Title?
Patch a locally installed OpenClaw Control UI so the browser tab title shows the active agent name (e.g. "Milly · OpenClaw") instead of the static "OpenClaw... It is an AI Agent Skill for Claude Code / OpenClaw, with 72 downloads so far.
How do I install Agent Tab Title?
Run "/install agent-tab-title" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Agent Tab Title free?
Yes, Agent Tab Title is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Agent Tab Title support?
Agent Tab Title is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Agent Tab Title?
It is built and maintained by SymbolStar (@symbolstar); the current version is v0.1.1.