Slash commands
The two Ringly slash commands inside Claude Code: /ringly-update and /ringly-help.
The Ringly plugin registers two slash commands in Claude Code. They run inside the Claude Code chat (not in the external terminal) and cover the day-to-day flow.
/ringly-update
Update Ringly via npm without leaving Claude Code. Shows a friendly summary of what’s new before asking for confirmation.
Full flow
- Checks current and latest npm versions. Runs
ringly update --check, reads the JSON{current, latest, hasUpdate, reachable, language, notes}. - If no newer version, exits cleanly. Friendly message in the configured language.
- If newer exists, shows the changes summary. Read from the packaged
CHANGELOG.mdand rewritten in plain language (≤10 lines, no file paths, no CVEs, no release jargon). Structure: What’s new / Changes / Fixes / ⚠ Breaking changes. - Asks for confirmation via
AskUserQuestion. “Update now” / “Cancel” buttons, in your language. - If confirmed, runs
npm install -g ringly@latest. DetectsEBUSY/EPERMon Windows and suggests closing Claude Code if file locks block the install. - Reminds you to run
/reload-pluginsat the end so the active session picks up the new version.
Why it respects the language
The slash command’s .md reads the language field from the ringly update --check JSON snapshot (resolved server-side via Intl fallback, never “auto”) and uses that as the single source of truth for language. Result: if you’re on pt-BR, everything that shows up in chat during the update comes in Portuguese.
When it shows up automatically
Once a day, on Claude Code’s SessionStart, the plugin checks npm in the background. If a newer version exists, it fires a native toast:
Ringly 0.7.0 available Run /ringly-update inside Claude Code to update.
The check is throttled to once per day (timestamp at ${CLAUDE_PLUGIN_DATA}/last-update-check.json), only hits the public npm registry, and respects the opt-out (check_updates: false).
/ringly-help
Runs ringly help and shows the output straight inside the Claude Code chat, with a very visible warning that those commands run in your external terminal (PowerShell, Bash, etc.), not inside Claude Code.
Handy when you forget which subcommands exist (test, init, config, doctor, update, uninstall) or just want to see them all in a clean list, in the right language, without opening a terminal just for that.
Why only two
Slash commands shine for:
- operations that depend on Claude Code context (
/ringly-updatereminds you to run/reload-pluginsat the end) - discoverability (
/ringly-helpreplaces having to leave Claude Code just to recall a subcommand name)
Operations that mutate local state (language, events, AUMID, shortcut, settings) intentionally stay in the external CLI because:
- they don’t depend on Claude Code being open
- they have a polished TUI that slash commands wouldn’t accommodate
- they write to system files (
settings.json, registry, Start Menu) and the slash command runs in a delegated shell that may not have the same permissions