Skip to content
Back to skills

Kabo Revoke

ASecurity

Use explicitly when the user asks to revoke Kabo's access account-wide — sign out everywhere, or after losing a machine. Revokes every OAuth grant the account has issued to Kabo through the platform's auth_revoke_all tool, then logs this machine out too. Plain "log me out" is the local-only skill, $kabo-logout.

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 9, 2026
ai-agentsgoshell

Works with

  • cli
  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 9, 2026

npx -y skills add kabo-sh/kabo-plugins --skill kabo-revoke --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Kabo Revoke?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Kabo Revoke
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kabo-sh-kabo-revoke/badge)](https://www.skillsdirectory.com/skills/kabo-sh-kabo-revoke)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: kabo-revoke
description: Use explicitly when the user asks to revoke Kabo's access account-wide — sign out everywhere, or after losing a machine. Revokes every OAuth grant the account has issued to Kabo through the platform's auth_revoke_all tool, then logs this machine out too. Plain "log me out" is the local-only skill, $kabo-logout.
---

# Revoke Kabo everywhere

Revoke the account's Kabo authorization **on every device**, then log this machine out too. This is the account-wide command; the everyday one is `$kabo-logout`, which is local-only.

Only run this when the user has actually asked for the account-wide effect — "sign me out everywhere", "I lost my laptop", "revoke Kabo's access". If they only said "log out", use `$kabo-logout` instead and say why.

**Say what it does before you do it**, in one line, and wait for a yes: it destroys every OAuth grant the account has issued to Kabo — refresh tokens and stored consents, on every device and in every MCP client, including the desktop app and any other machine the user is signed in on. Each of those needs a fresh sign-in afterwards.

## 1. Revoke on the platform (do this first)

Call Kabo's `auth_revoke_all` tool with no arguments. It rides the already-connected MCP link, so it needs nothing from this machine. Do it before anything below: step 3 removes the token this call is riding on.

**If the Kabo tools are invisible or the call returns 401**: this session was never authorized, so there is nothing to revoke *from here*. Say exactly that — it is not a failure — and note that other devices are therefore untouched: revocation needs an authorized connection, and the user can run this from a machine that still has one, or sign in here first with `$kabo-login`. Then continue with steps 2 and 3, which are effective on their own for this machine.

**Do not** try any other revocation route if the call errors: no HTTP request assembled in the shell, no hunt for a local token. Report the error and continue.

## 2. Clear the local cache

Resolve the plugin root two levels up from this `SKILL.md` path, then run:

```
<plugin-root>/bin/kabo-auth logout
```

It clears the same local data `$kabo-logout` reports — including the **run work directories** under `<data root>/work/` (every past run's assembled snapshots, analyses and rendered reports on this machine) and the **onboarding profile** `<data root>/onboarding-profile.json`. Name those two separately rather than folding them into "the cache": a cleared cache costs a refetch, that is output the user may have wanted to keep.

## 3. Drop the host's token

```
codex mcp logout kabo
```

This is the only same-second cutoff for this machine — the platform runs no denylist, so without it the token the host already holds keeps working until it expires.

## 4. Tell the user what is now true

Report the counts `auth_revoke_all` returned, then these facts. The middle one is what users get wrong, so do not bury it:

- **It applies to every device.** All of the account's Kabo authorizations are gone, not just this session's. Anywhere else Kabo was authorized, the next renewal fails.
- **It is not instant elsewhere.** An access token another machine already holds is a self-contained JWT and the platform runs no denylist, so that machine can keep working for up to **2 more hours (120 minutes)**. Nothing can be renewed after that.
- **This machine is cut off the same second**, because step 3 dropped the host's copy of the token.

Signing back in — on every device that needs it — means a fresh browser consent each time; `$kabo-login` walks them through it.

Do not search for, read, or mention any local token or credentials file at any point; they do not exist.

Files in this skill

  • SKILL.md3.6 KB
  • agents/openai.yaml251 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.